0001104659-20-052010.txt : 20200428 0001104659-20-052010.hdr.sgml : 20200428 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 20-F 1 csiq-20191231x20f.htm 20-F
0001375877--12-312019FYfalsetrue5937168459180624P5YP20YP1YP20YP25YP1Y4M28DP3Y11D0P5YP1Y059180624593716840001375877csiq:AllowanceForOtherReceivablesMember2019-12-310001375877csiq:AllowanceForAdvancesToSuppliersMember2019-12-310001375877csiq:AllowanceForOtherReceivablesMember2018-12-310001375877csiq:AllowanceForAdvancesToSuppliersMember2018-12-310001375877csiq:AllowanceForOtherReceivablesMember2017-12-310001375877csiq:AllowanceForAdvancesToSuppliersMember2017-12-310001375877csiq:AllowanceForOtherReceivablesMember2016-12-310001375877csiq:AllowanceForAdvancesToSuppliersMember2016-12-310001375877us-gaap:TreasuryStockMember2019-01-012019-12-310001375877csiq:CsiSolarPowerChinaInc.Membercsiq:CsiCellsCo.Ltd.Member2019-01-012019-12-310001375877csiq:CsiModulesDafengCoLtdMembercsiq:CsiSolarPowerChinaInc.Member2019-01-012019-12-310001375877csiq:CsiModulesDafengCoLtdMembercsiq:CanadianSolarManufacturingChangshuInc.Member2019-01-012019-12-310001375877csiq:SuzhouSanysolarMaterialsTechnologyCoLtdMember2019-01-012019-12-310001375877csiq:SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember2019-01-012019-12-310001375877csiq:RecurrentEnergyLlcMember2019-01-012019-12-310001375877csiq:RecurrentEnergyGroupInc.Member2019-01-012019-12-310001375877csiq:PtCanadianSolarIndonesiaMember2019-01-012019-12-310001375877csiq:CsukEnergySystemsConstructionAndGenerationJscMember2019-01-012019-12-310001375877csiq:CsiWaferLuoyangCoLtdMember2019-01-012019-12-310001375877csiq:CSISolartronicsChangshuCoLtdMember2019-01-012019-12-310001375877csiq:CSISolarTechnologiesIncMember2019-01-012019-12-310001375877csiq:CsiNewEnergyHoldingCo.LtdMember2019-01-012019-12-310001375877csiq:CsiModulesJiaxingCoLtdMember2019-01-012019-12-310001375877csiq:CsiInvestmentManagementSuzhouCoLtdMember2019-01-012019-12-310001375877csiq:CsiGclSolarManufacturingYanchengCo.Ltd.Member2019-01-012019-12-310001375877csiq:CsiCellsYanchangCoLtdMember2019-01-012019-12-310001375877csiq:CsiCellsCo.Ltd.Member2019-01-012019-12-310001375877csiq:ChangsuTeguNewMaterialTechnologyCoLtdMember2019-01-012019-12-310001375877csiq:ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember2019-01-012019-12-310001375877csiq:ChangshuTlianCo.Ltd.Member2019-01-012019-12-310001375877csiq:CanadianSolarUSAIncMember2019-01-012019-12-310001375877csiq:CanadianSolarUkProjectsLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarUkLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarSunenergySuzhouCo.Ltd.Member2019-01-012019-12-310001375877csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member2019-01-012019-12-310001375877csiq:CanadianSolarSsesUkLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarSsesCanadaInc.Member2019-01-012019-12-310001375877csiq:CanadianSolarSouthEastAsiaPteLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarSouthAfricaPtyLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarSolutionsIncMember2019-01-012019-12-310001375877csiq:CanadianSolarProjectKKMember2019-01-012019-12-310001375877csiq:CanadianSolarOAndMOntarioIncMember2019-01-012019-12-310001375877csiq:CanadianSolarNewEnergyHoldingCompanyLimitedMember2019-01-012019-12-310001375877csiq:CanadianSolarMiddleEastDmccMember2019-01-012019-12-310001375877csiq:CanadianSolarManufacturingVietnamCo.LtdMember2019-01-012019-12-310001375877csiq:CanadianSolarManufacturingThailandCo.Ltd.Member2019-01-012019-12-310001375877csiq:CanadianSolarManufacturingTaiwanCoLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarManufacturingLuoyangIncMember2019-01-012019-12-310001375877csiq:CanadianSolarManufacturingChangshuInc.Member2019-01-012019-12-310001375877csiq:CanadianSolarManufacturingChangshuInc.Member2019-01-012019-12-310001375877csiq:CanadianSolarJapanKKMember2019-01-012019-12-310001375877csiq:CanadianSolarInternationalProjectHoldingLimitedMember2019-01-012019-12-310001375877csiq:CanadianSolarEnergyPrivateLimitedMember2019-01-012019-12-310001375877csiq:CanadianSolarEnergyHoldingSingaporePte.Ltd.Member2019-01-012019-12-310001375877csiq:CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member2019-01-012019-12-310001375877csiq:CanadianSolarEnergyHoldingCompanyLimitedMember2019-01-012019-12-310001375877csiq:CanadianSolarEMEAGmbHMember2019-01-012019-12-310001375877csiq:CanadianSolarConstructionUsaLLCMember2019-01-012019-12-310001375877csiq:CanadianSolarConstructionAustraliaPtyLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember2019-01-012019-12-310001375877csiq:CanadianSolarAustraliaPtyLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarAustralia1PtyLtdMember2019-01-012019-12-310001375877csiq:CanadianSolarArgentinaInvestmentHoldingLtdMember2019-01-012019-12-310001375877us-gaap:SubsequentEventMember2020-01-012020-03-3100013758772019-12-012019-12-310001375877us-gaap:RepurchaseAgreementsMemberus-gaap:SubsequentEventMember2019-11-292020-04-280001375877us-gaap:CommonStockMember2019-01-012019-12-310001375877us-gaap:CommonStockMember2018-01-012018-12-310001375877us-gaap:CommonStockMember2017-01-012017-12-310001375877us-gaap:RetainedEarningsMember2019-12-310001375877us-gaap:ParentMember2019-12-310001375877us-gaap:NoncontrollingInterestMember2019-12-310001375877us-gaap:AdditionalPaidInCapitalMember2019-12-310001375877us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-310001375877us-gaap:RetainedEarningsMember2018-12-310001375877us-gaap:ParentMember2018-12-310001375877us-gaap:NoncontrollingInterestMember2018-12-310001375877us-gaap:AdditionalPaidInCapitalMember2018-12-310001375877us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-12-310001375877us-gaap:RetainedEarningsMember2017-12-310001375877us-gaap:ParentMember2017-12-310001375877us-gaap:NoncontrollingInterestMember2017-12-310001375877us-gaap:AdditionalPaidInCapitalMember2017-12-310001375877us-gaap:AccumulatedOtherComprehensiveIncomeMember2017-12-310001375877us-gaap:RetainedEarningsMember2016-12-310001375877us-gaap:ParentMember2016-12-310001375877us-gaap:NoncontrollingInterestMember2016-12-310001375877us-gaap:AdditionalPaidInCapitalMember2016-12-310001375877us-gaap:AccumulatedOtherComprehensiveIncomeMember2016-12-310001375877us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2019-12-310001375877us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2019-01-012019-12-310001375877us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2018-01-012018-12-310001375877us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedPaymentArrangementEmployeeMember2017-01-012017-12-3100013758772010-09-300001375877us-gaap:RestrictedStockUnitsRSUMembersrt:ChiefExecutiveOfficerMember2019-01-012019-12-310001375877us-gaap:RestrictedStockUnitsRSUMembersrt:ChiefExecutiveOfficerMember2018-01-012018-12-310001375877us-gaap:RestrictedStockUnitsRSUMembersrt:ChiefExecutiveOfficerMember2017-01-012017-12-310001375877srt:MinimumMemberus-gaap:RestrictedStockUnitsRSUMember2019-01-012019-12-310001375877srt:MaximumMemberus-gaap:RestrictedStockUnitsRSUMember2019-01-012019-12-310001375877us-gaap:ShippingAndHandlingMember2019-01-012019-12-310001375877us-gaap:ShippingAndHandlingMember2018-01-012018-12-310001375877us-gaap:ShippingAndHandlingMember2017-01-012017-12-310001375877csiq:CompanyAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2018-01-012018-12-3100013758772020-01-012019-12-310001375877us-gaap:SalesMembercsiq:CanadianSolarInfrastructureFundIncMember2019-01-012019-12-310001375877csiq:EtSolutionsSouthAfricaOnePtyMember2019-01-012019-12-310001375877us-gaap:SalesMembercsiq:CanadianSolarInfrastructureFundIncMember2018-01-012018-12-310001375877us-gaap:OtherOperatingIncomeExpenseMembercsiq:CanadianSolarInfrastructureFundIncMember2018-01-012018-12-310001375877csiq:EtSolutionsSouthAfricaOnePtyMember2018-01-012018-12-310001375877us-gaap:SalesMembercsiq:CanadianSolarInfrastructureFundIncMember2017-01-012017-12-310001375877us-gaap:OtherOperatingIncomeExpenseMembercsiq:CanadianSolarInfrastructureFundIncMember2017-01-012017-12-310001375877csiq:SolarSystemKitsProductMembercsiq:ModuleSegmentMember2019-01-012019-12-310001375877csiq:SolarPowerProjectsConstructionAndSaleMembercsiq:EnergySegmentMember2019-01-012019-12-310001375877csiq:SolarModulesAndOtherSolarPowerProductsMembercsiq:ModuleSegmentMember2019-01-012019-12-310001375877csiq:OtherProductMaterialsMembercsiq:ModuleSegmentMember2019-01-012019-12-310001375877csiq:OtherProductEpcAndDevelopmentServicesMembercsiq:EnergySegmentMember2019-01-012019-12-310001375877csiq:OAndMServicesProductMembercsiq:ModuleSegmentMember2019-01-012019-12-310001375877csiq:ModuleSegmentMemberus-gaap:TransferredOverTimeMember2019-01-012019-12-310001375877csiq:ModuleSegmentMemberus-gaap:TransferredAtPointInTimeMember2019-01-012019-12-310001375877csiq:EPCServiceProductMembercsiq:ModuleSegmentMember2019-01-012019-12-310001375877csiq:EnergySegmentMemberus-gaap:TransferredOverTimeMember2019-01-012019-12-310001375877csiq:EnergySegmentMemberus-gaap:TransferredAtPointInTimeMember2019-01-012019-12-310001375877csiq:ElectricityIncomeMembercsiq:EnergySegmentMember2019-01-012019-12-310001375877us-gaap:ElectricityMember2019-01-012019-12-310001375877srt:EuropeMember2019-01-012019-12-310001375877srt:AsiaMember2019-01-012019-12-310001375877csiq:OtherCountriesEuropeMember2019-01-012019-12-310001375877csiq:OtherCountriesAsiaMember2019-01-012019-12-310001375877csiq:OtherCountriesAmericaMember2019-01-012019-12-310001375877csiq:AmericaMember2019-01-012019-12-310001375877country:ZA2019-01-012019-12-310001375877country:VN2019-01-012019-12-310001375877country:US2019-01-012019-12-310001375877country:TH2019-01-012019-12-310001375877country:NL2019-01-012019-12-310001375877country:MX2019-01-012019-12-310001375877country:KR2019-01-012019-12-310001375877country:JP2019-01-012019-12-310001375877country:IN2019-01-012019-12-310001375877country:GB2019-01-012019-12-310001375877country:ES2019-01-012019-12-310001375877country:DE2019-01-012019-12-310001375877country:CZ2019-01-012019-12-310001375877country:CN2019-01-012019-12-310001375877country:BR2019-01-012019-12-310001375877country:AU2019-01-012019-12-310001375877country:AE2019-01-012019-12-310001375877csiq:SolarSystemKitsProductMembercsiq:ModuleSegmentMember2018-01-012018-12-310001375877csiq:SolarPowerProjectsConstructionAndSaleMembercsiq:EnergySegmentMember2018-01-012018-12-310001375877csiq:SolarModulesAndOtherSolarPowerProductsMembercsiq:ModuleSegmentMember2018-01-012018-12-310001375877csiq:OtherProductMaterialsMembercsiq:ModuleSegmentMember2018-01-012018-12-310001375877csiq:OtherProductEpcAndDevelopmentServicesMembercsiq:EnergySegmentMember2018-01-012018-12-310001375877csiq:OAndMServicesProductMembercsiq:ModuleSegmentMember2018-01-012018-12-310001375877csiq:ModuleSegmentMemberus-gaap:TransferredOverTimeMember2018-01-012018-12-310001375877csiq:ModuleSegmentMemberus-gaap:TransferredAtPointInTimeMember2018-01-012018-12-310001375877csiq:EPCServiceProductMembercsiq:ModuleSegmentMember2018-01-012018-12-310001375877csiq:EnergySegmentMemberus-gaap:TransferredOverTimeMember2018-01-012018-12-310001375877csiq:EnergySegmentMemberus-gaap:TransferredAtPointInTimeMember2018-01-012018-12-310001375877csiq:ElectricityIncomeMembercsiq:EnergySegmentMember2018-01-012018-12-310001375877us-gaap:ElectricityMember2018-01-012018-12-310001375877srt:EuropeMember2018-01-012018-12-310001375877srt:AsiaMember2018-01-012018-12-310001375877csiq:OtherCountriesEuropeMember2018-01-012018-12-310001375877csiq:OtherCountriesAsiaMember2018-01-012018-12-310001375877csiq:OtherCountriesAmericaMember2018-01-012018-12-310001375877csiq:AmericaMember2018-01-012018-12-310001375877country:ZA2018-01-012018-12-310001375877country:VN2018-01-012018-12-310001375877country:US2018-01-012018-12-310001375877country:TH2018-01-012018-12-310001375877country:NL2018-01-012018-12-310001375877country:MX2018-01-012018-12-310001375877country:KR2018-01-012018-12-310001375877country:JP2018-01-012018-12-310001375877country:IN2018-01-012018-12-310001375877country:GB2018-01-012018-12-310001375877country:ES2018-01-012018-12-310001375877country:DE2018-01-012018-12-310001375877country:CZ2018-01-012018-12-310001375877country:CN2018-01-012018-12-310001375877country:BR2018-01-012018-12-310001375877country:AU2018-01-012018-12-310001375877country:AE2018-01-012018-12-310001375877csiq:SolarSystemKitsProductMembercsiq:ModuleSegmentMember2017-01-012017-12-310001375877csiq:SolarPowerProjectsConstructionAndSaleMembercsiq:EnergySegmentMember2017-01-012017-12-310001375877csiq:SolarModulesAndOtherSolarPowerProductsMembercsiq:ModuleSegmentMember2017-01-012017-12-310001375877csiq:OtherProductMaterialsMembercsiq:ModuleSegmentMember2017-01-012017-12-310001375877csiq:OtherProductEpcAndDevelopmentServicesMembercsiq:EnergySegmentMember2017-01-012017-12-310001375877csiq:OAndMServicesProductMembercsiq:ModuleSegmentMember2017-01-012017-12-310001375877csiq:ModuleSegmentMemberus-gaap:TransferredOverTimeMember2017-01-012017-12-310001375877csiq:ModuleSegmentMemberus-gaap:TransferredAtPointInTimeMember2017-01-012017-12-310001375877csiq:EnergySegmentMemberus-gaap:TransferredOverTimeMember2017-01-012017-12-310001375877csiq:EnergySegmentMemberus-gaap:TransferredAtPointInTimeMember2017-01-012017-12-310001375877csiq:ElectricityIncomeMembercsiq:EnergySegmentMember2017-01-012017-12-310001375877us-gaap:ElectricityMember2017-01-012017-12-310001375877srt:EuropeMember2017-01-012017-12-310001375877srt:AsiaMember2017-01-012017-12-310001375877csiq:OtherCountriesEuropeMember2017-01-012017-12-310001375877csiq:OtherCountriesAsiaMember2017-01-012017-12-310001375877csiq:OtherCountriesAmericaMember2017-01-012017-12-310001375877csiq:AmericaMember2017-01-012017-12-310001375877country:ZA2017-01-012017-12-310001375877country:VN2017-01-012017-12-310001375877country:US2017-01-012017-12-310001375877country:TH2017-01-012017-12-310001375877country:NL2017-01-012017-12-310001375877country:MX2017-01-012017-12-310001375877country:KR2017-01-012017-12-310001375877country:JP2017-01-012017-12-310001375877country:IN2017-01-012017-12-310001375877country:GB2017-01-012017-12-310001375877country:ES2017-01-012017-12-310001375877country:DE2017-01-012017-12-310001375877country:CZ2017-01-012017-12-310001375877country:CN2017-01-012017-12-310001375877country:BR2017-01-012017-12-310001375877country:AU2017-01-012017-12-310001375877country:AE2017-01-012017-12-310001375877us-gaap:ConvertibleDebtMember2019-02-012019-02-280001375877csiq:SolarPowerSystemCommitmentsMember2019-12-310001375877csiq:PropertyAndEquipmentPurchaseCommitmentMember2019-12-310001375877srt:MinimumMemberus-gaap:MachineryAndEquipmentMember2019-01-012019-12-310001375877srt:MinimumMemberus-gaap:ElectricGenerationEquipmentMember2019-01-012019-12-310001375877srt:MaximumMemberus-gaap:MachineryAndEquipmentMember2019-01-012019-12-310001375877srt:MaximumMemberus-gaap:ElectricGenerationEquipmentMember2019-01-012019-12-310001375877us-gaap:VehiclesMember2019-01-012019-12-310001375877us-gaap:FurnitureAndFixturesMember2019-01-012019-12-310001375877us-gaap:BuildingMember2019-01-012019-12-310001375877us-gaap:VehiclesMember2019-12-310001375877us-gaap:MachineryAndEquipmentMember2019-12-310001375877us-gaap:LeaseholdImprovementsMember2019-12-310001375877us-gaap:LandMember2019-12-310001375877us-gaap:FurnitureAndFixturesMember2019-12-310001375877us-gaap:BuildingMember2019-12-310001375877us-gaap:VehiclesMember2018-12-310001375877us-gaap:MachineryAndEquipmentMember2018-12-310001375877us-gaap:LeaseholdImprovementsMember2018-12-310001375877us-gaap:LandMember2018-12-310001375877us-gaap:FurnitureAndFixturesMember2018-12-310001375877us-gaap:BuildingMember2018-12-310001375877us-gaap:RetainedEarningsMember2019-01-012019-12-310001375877us-gaap:RetainedEarningsMember2018-01-012018-12-310001375877us-gaap:RetainedEarningsMember2017-01-012017-12-310001375877us-gaap:InsuranceSettlementMember2019-12-310001375877us-gaap:InsuranceSettlementMember2018-12-310001375877us-gaap:GrantMember2019-01-012019-12-310001375877us-gaap:GrantMember2018-01-012018-12-310001375877us-gaap:GrantMember2017-01-012017-12-310001375877us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-01-012019-12-310001375877us-gaap:AccumulatedOtherComprehensiveIncomeMember2017-01-012017-12-3100013758772019-01-010001375877csiq:OtherCountriesAmericaMember2019-12-310001375877country:US2019-12-310001375877country:TH2019-12-310001375877country:JP2019-12-310001375877country:CN2019-12-310001375877country:CA2019-12-310001375877country:AU2019-12-310001375877csiq:OtherCountriesAmericaMember2018-12-310001375877country:US2018-12-310001375877country:TH2018-12-310001375877country:JP2018-12-310001375877country:CN2018-12-310001375877country:CA2018-12-310001375877country:AU2018-12-310001375877us-gaap:NoncontrollingInterestMember2017-01-012017-12-310001375877us-gaap:NoncontrollingInterestMember2019-01-012019-12-310001375877us-gaap:NoncontrollingInterestMember2018-01-012018-12-310001375877csiq:SolarPowerSystemCommitmentsMember2019-01-012019-12-310001375877csiq:PropertyAndEquipmentPurchaseCommitmentMember2019-01-012019-12-310001375877us-gaap:LineOfCreditMember2019-12-310001375877csiq:NonBindingLineOfCreditMember2019-12-310001375877csiq:BorrowingsFromNonBankingInstitutionsMembercsiq:SubsidiaryMember2019-07-150001375877csiq:BankBorrowingsMembercsiq:SecuredByInventoryAndAccountsReceivableMember2019-01-310001375877csiq:BorrowingsFromNonBankingInstitutionsMembercsiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember2019-01-250001375877csiq:BorrowingsFromNonBankingInstitutionsMember2018-10-310001375877csiq:BankBorrowingsMembercsiq:SubsidiaryMember2018-09-140001375877csiq:BankBorrowingsMembercsiq:SubsidiaryMembercsiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember2018-04-050001375877csiq:BankBorrowingsMembercsiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember2018-03-300001375877csiq:BankBorrowingsMemberus-gaap:UnsecuredDebtMember2018-03-260001375877csiq:BankBorrowingsMembercsiq:SubsidiaryMembercsiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember2019-12-310001375877csiq:ChineseCommercialBanksMembersrt:ChiefExecutiveOfficerMember2019-12-310001375877csiq:BorrowingsFromNonBankingInstitutionsMembercsiq:SubsidiaryMember2019-12-310001375877csiq:BorrowingsFromNonBankingInstitutionsMembercsiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember2019-12-310001375877csiq:BankBorrowingsMemberus-gaap:UnsecuredDebtMember2019-12-310001375877csiq:BankBorrowingsMembercsiq:SubsidiaryMember2019-12-310001375877csiq:BankBorrowingsMembercsiq:SecuredByInventoryAndAccountsReceivableMember2019-12-310001375877csiq:BankBorrowingsMembercsiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember2019-12-310001375877csiq:BorrowingsFromNonBankingInstitutionsMember2019-12-310001375877csiq:BorrowingsFromNonBankingInstitutionsMembercsiq:FinancingAgreementMember2019-10-110001375877csiq:FinancingAgreementMember2019-06-280001375877csiq:ChineseCommercialBanksMembersrt:ChiefExecutiveOfficerMember2018-12-310001375877csiq:ChineseCommercialBanksMembersrt:ChiefExecutiveOfficerMember2017-12-310001375877csiq:UncollectableRevenueMember2019-12-310001375877csiq:UncollectableRevenueMember2018-12-310001375877us-gaap:AccountsPayableAndAccruedLiabilitiesMemberus-gaap:ConvertibleDebtMember2018-12-310001375877csiq:EnowIncMember2018-09-012018-09-300001375877srt:MinimumMemberus-gaap:UseRightsMember2019-01-012019-12-310001375877srt:MinimumMemberus-gaap:ComputerSoftwareIntangibleAssetMember2019-01-012019-12-310001375877srt:MaximumMemberus-gaap:UseRightsMember2019-01-012019-12-310001375877srt:MaximumMemberus-gaap:ComputerSoftwareIntangibleAssetMember2019-01-012019-12-310001375877us-gaap:DevelopedTechnologyRightsMember2019-01-012019-12-310001375877us-gaap:DevelopedTechnologyRightsMember2019-12-310001375877us-gaap:ComputerSoftwareIntangibleAssetMember2019-12-310001375877us-gaap:DevelopedTechnologyRightsMember2018-12-310001375877us-gaap:ComputerSoftwareIntangibleAssetMember2018-12-310001375877csiq:OtherEquityMethodInvesteesMember2019-12-310001375877csiq:OtherEquityMethodInvesteesMember2018-12-310001375877srt:MinimumMembercsiq:OtherEquityMethodInvesteesMember2019-12-310001375877srt:MaximumMembercsiq:OtherEquityMethodInvesteesMember2019-12-310001375877csiq:SuzhouFinancialLeasingCoLtdMember2019-12-310001375877csiq:RoserockMember2019-12-310001375877csiq:ReRoserockHoldingsLlcMember2019-12-310001375877csiq:CanadianSolarInfrastructureFundIncMember2019-12-310001375877srt:MinimumMembercsiq:OtherEquityMethodInvesteesMember2018-12-310001375877srt:MaximumMembercsiq:OtherEquityMethodInvesteesMember2018-12-310001375877csiq:SuzhouFinancialLeasingCoLtdMember2018-12-310001375877csiq:ReRoserockHoldingsLlcMember2018-12-310001375877csiq:CanadianSolarInfrastructureFundIncMember2018-12-310001375877csiq:EnowIncMember2018-09-300001375877csiq:ReRoserockHoldingsLlcMemberus-gaap:CapitalUnitClassBMember2015-12-310001375877us-gaap:CapitalUnitClassBMember2018-12-012018-12-310001375877us-gaap:InterestRateSwapMemberus-gaap:CashFlowHedgingMemberus-gaap:DesignatedAsHedgingInstrumentMember2018-12-310001375877us-gaap:InterestRateSwapMember2019-12-310001375877us-gaap:InterestRateSwapMemberus-gaap:CashFlowHedgingMemberus-gaap:DesignatedAsHedgingInstrumentMember2016-12-310001375877us-gaap:InterestRateSwapMember2019-01-012019-12-310001375877us-gaap:ForeignExchangeOptionMember2019-01-012019-12-310001375877us-gaap:ForeignExchangeForwardMember2019-01-012019-12-310001375877us-gaap:InterestRateSwapMember2018-01-012018-12-310001375877us-gaap:ForeignExchangeOptionMember2018-01-012018-12-310001375877us-gaap:ForeignExchangeForwardMember2018-01-012018-12-310001375877us-gaap:InterestRateSwapMember2017-01-012017-12-310001375877us-gaap:ForeignExchangeForwardMember2017-01-012017-12-310001375877csiq:WarrantsMember2017-01-012017-12-310001375877csiq:DerivativesLiabilitiesNoncurrentMemberus-gaap:InterestRateSwapMemberus-gaap:NondesignatedMember2019-12-310001375877csiq:DerivativesLiabilitiesCurrentMemberus-gaap:InterestRateSwapMemberus-gaap:NondesignatedMember2019-12-310001375877csiq:DerivativesLiabilitiesCurrentMemberus-gaap:ForeignExchangeOptionMemberus-gaap:NondesignatedMember2019-12-310001375877csiq:DerivativesLiabilitiesCurrentMemberus-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2019-12-310001375877csiq:DerivativesLiabilitiesCurrentMemberus-gaap:ForeignExchangeOptionMemberus-gaap:NondesignatedMember2018-12-310001375877csiq:DerivativesLiabilitiesCurrentMemberus-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2018-12-310001375877csiq:DerivativesAssetsCurrentMemberus-gaap:ForeignExchangeOptionMemberus-gaap:NondesignatedMember2019-12-310001375877csiq:DerivativesAssetsCurrentMemberus-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2019-12-310001375877us-gaap:NondesignatedMember2019-12-310001375877csiq:DerivativesAssetsNoncurrentMemberus-gaap:InterestRateSwapMemberus-gaap:NondesignatedMember2018-12-310001375877csiq:DerivativesAssetsCurrentMemberus-gaap:InterestRateSwapMemberus-gaap:NondesignatedMember2018-12-310001375877csiq:DerivativesAssetsCurrentMemberus-gaap:ForeignExchangeOptionMemberus-gaap:NondesignatedMember2018-12-310001375877csiq:DerivativesAssetsCurrentMemberus-gaap:ForeignExchangeForwardMemberus-gaap:NondesignatedMember2018-12-310001375877us-gaap:NondesignatedMember2018-12-310001375877us-gaap:ElectricGenerationEquipmentMember2019-01-012019-12-310001375877us-gaap:ElectricGenerationEquipmentMember2018-01-012018-12-310001375877us-gaap:ElectricGenerationEquipmentMember2017-01-012017-12-310001375877srt:MinimumMember2019-12-310001375877srt:MaximumMember2019-12-310001375877us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2019-12-310001375877us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2018-12-310001375877us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2017-12-310001375877us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2016-12-310001375877csiq:OtherJurisdictionsMember2019-01-012019-12-310001375877country:US2019-01-012019-12-310001375877country:JP2019-01-012019-12-310001375877country:CN2019-01-012019-12-310001375877country:CA2019-01-012019-12-310001375877csiq:OtherJurisdictionsMember2018-01-012018-12-310001375877country:US2018-01-012018-12-310001375877country:JP2018-01-012018-12-310001375877country:CN2018-01-012018-12-310001375877country:CA2018-01-012018-12-310001375877csiq:OtherJurisdictionsMember2017-01-012017-12-310001375877country:US2017-01-012017-12-310001375877country:JP2017-01-012017-12-310001375877country:CN2017-01-012017-12-310001375877country:CA2017-01-012017-12-310001375877us-gaap:AccountingStandardsUpdate201409Memberus-gaap:RetainedEarningsMember2018-01-012018-12-310001375877us-gaap:AccountingStandardsUpdate201409Memberus-gaap:ParentMember2018-01-012018-12-310001375877us-gaap:AccountingStandardsUpdate201409Member2018-01-012018-12-310001375877csiq:SuzhouGaochuangteNewEnergyCoLtdMember2017-01-012017-12-310001375877us-gaap:OperatingSegmentsMembercsiq:ModuleSegmentMember2019-01-012019-12-310001375877us-gaap:OperatingSegmentsMembercsiq:EnergySegmentMember2019-01-012019-12-310001375877us-gaap:IntersegmentEliminationMember2019-01-012019-12-310001375877us-gaap:OperatingSegmentsMembercsiq:ModuleSegmentMember2018-01-012018-12-310001375877us-gaap:OperatingSegmentsMembercsiq:EnergySegmentMember2018-01-012018-12-310001375877us-gaap:IntersegmentEliminationMember2018-01-012018-12-310001375877us-gaap:OperatingSegmentsMembercsiq:ModuleSegmentMember2017-01-012017-12-310001375877us-gaap:OperatingSegmentsMembercsiq:EnergySegmentMember2017-01-012017-12-310001375877us-gaap:IntersegmentEliminationMember2017-01-012017-12-310001375877us-gaap:ConvertibleDebtMember2019-12-310001375877us-gaap:ConvertibleDebtMember2018-12-310001375877csiq:CustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2019-01-012019-12-310001375877csiq:CustomerThreeMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2019-01-012019-12-310001375877csiq:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2019-01-012019-12-310001375877csiq:CustomerTwoMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2018-01-012018-12-310001375877csiq:CustomerThreeMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2018-01-012018-12-310001375877csiq:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2018-01-012018-12-310001375877us-gaap:TreasuryStockMember2019-12-310001375877us-gaap:CommonStockMember2019-12-310001375877us-gaap:CommonStockMember2018-12-310001375877us-gaap:CommonStockMember2017-12-310001375877us-gaap:CommonStockMember2016-12-310001375877srt:ParentCompanyMembersrt:ReportableLegalEntitiesMember2017-12-3100013758772017-12-310001375877srt:ParentCompanyMembersrt:ReportableLegalEntitiesMember2016-12-3100013758772016-12-310001375877csiq:StockOptionsAndRestrictedStockUnitsMember2019-01-012019-12-310001375877csiq:StockOptionsAndRestrictedStockUnitsMember2018-01-012018-12-310001375877csiq:StockOptionsAndRestrictedStockUnitsMember2017-01-012017-12-310001375877us-gaap:ConvertibleDebtMember2018-01-012018-12-310001375877us-gaap:ConvertibleDebtMember2017-01-012017-12-310001375877us-gaap:AllowanceForCreditLossMember2019-12-310001375877us-gaap:AllowanceForCreditLossMember2018-12-310001375877us-gaap:AllowanceForCreditLossMember2017-12-310001375877us-gaap:AllowanceForCreditLossMember2016-12-310001375877us-gaap:RestrictedStockUnitsRSUMember2019-01-012019-12-310001375877us-gaap:RestrictedStockUnitsRSUMember2018-01-012018-12-310001375877us-gaap:RestrictedStockUnitsRSUMember2017-01-012017-12-310001375877us-gaap:ParentMember2019-01-012019-12-310001375877us-gaap:AdditionalPaidInCapitalMember2019-01-012019-12-310001375877us-gaap:AdditionalPaidInCapitalMember2018-01-012018-12-310001375877us-gaap:ParentMember2017-01-012017-12-310001375877us-gaap:AdditionalPaidInCapitalMember2017-01-012017-12-310001375877csiq:EtSolutionsSouthAfricaOnePtyMember2019-12-310001375877csiq:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2019-12-310001375877csiq:CustomerOneMemberus-gaap:AccountsReceivableMemberus-gaap:CreditConcentrationRiskMember2018-12-310001375877csiq:AssetManagementServiceMembercsiq:CanadianSolarInfrastructureFundIncMember2019-12-310001375877csiq:SuzhouIsilverMaterialsMember2019-12-310001375877csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember2019-12-310001375877dei:BusinessContactMember2019-01-012019-12-310001375877us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2019-01-012019-12-310001375877us-gaap:AllowanceForCreditLossMember2019-01-012019-12-310001375877csiq:AllowanceForOtherReceivablesMember2019-01-012019-12-310001375877csiq:AllowanceForAdvancesToSuppliersMember2019-01-012019-12-310001375877us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2018-01-012018-12-310001375877us-gaap:AllowanceForCreditLossMember2018-01-012018-12-310001375877csiq:AllowanceForOtherReceivablesMember2018-01-012018-12-310001375877csiq:AllowanceForAdvancesToSuppliersMember2018-01-012018-12-310001375877us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember2017-01-012017-12-310001375877us-gaap:AllowanceForCreditLossMember2017-01-012017-12-310001375877csiq:AllowanceForOtherReceivablesMember2017-01-012017-12-310001375877csiq:AllowanceForAdvancesToSuppliersMember2017-01-012017-12-310001375877csiq:SolarPowerProjectMember2019-01-012019-12-310001375877us-gaap:ElectricGenerationEquipmentMember2019-12-310001375877us-gaap:AssetUnderConstructionMember2019-12-310001375877us-gaap:ElectricGenerationEquipmentMember2018-12-310001375877us-gaap:AssetUnderConstructionMember2018-12-310001375877csiq:BifacialModuleAndDoubleGlassModuleMember2019-01-012019-12-310001375877csiq:StandardSolarModuleMember2009-05-312009-05-310001375877csiq:OMServiceMembercsiq:CanadianSolarInfrastructureFundIncMember2019-01-012019-12-310001375877csiq:AssetManagementServiceMembercsiq:CanadianSolarInfrastructureFundIncMember2019-01-012019-12-310001375877csiq:OMServiceMembercsiq:CanadianSolarInfrastructureFundIncMember2018-01-012018-12-310001375877csiq:AssetManagementServiceMembercsiq:CanadianSolarInfrastructureFundIncMember2018-01-012018-12-310001375877csiq:OMServiceMembercsiq:CanadianSolarInfrastructureFundIncMember2017-01-012017-12-310001375877csiq:AssetManagementServiceMembercsiq:CanadianSolarInfrastructureFundIncMember2017-01-012017-12-310001375877csiq:CanadianSolarManufacturingVietnamCo.LtdMembercountry:VN2019-01-012019-12-310001375877csiq:SuzhouKzoneEquipmentTechnologyMember2019-01-012019-12-310001375877csiq:SuzhouIsilverMaterialsMember2019-01-012019-12-310001375877csiq:SuzhouKzoneEquipmentTechnologyMember2018-01-012018-12-310001375877csiq:SuzhouIsilverMaterialsMember2018-01-012018-12-310001375877csiq:SuzhouIsilverMaterialsMember2017-01-012017-12-310001375877us-gaap:VariableInterestEntityPrimaryBeneficiaryMember2019-12-310001375877us-gaap:VariableInterestEntityPrimaryBeneficiaryMember2018-12-310001375877csiq:StandardSolarModuleMembercsiq:NinetyThreeInitialPowerCapacityMember2019-01-012019-12-310001375877csiq:StandardSolarModuleMembercsiq:NinetySevenPercentInitialPowerCapacityMember2019-01-012019-12-310001375877csiq:EightyPercentInitialPowerCapacityMember2019-01-012019-12-310001375877csiq:USCountervailingAndAntiDumpingDutiesMember2017-01-012019-12-310001375877us-gaap:ParentMember2018-01-012018-12-310001375877us-gaap:AccumulatedOtherComprehensiveIncomeMember2018-01-012018-12-310001375877csiq:ClassActionLawsuitsFiledInNewYorkMember2010-01-012010-12-310001375877csiq:CanadianSolarManufacturingThailandCo.Ltd.Membercountry:TH2019-01-012019-12-310001375877csiq:SuzhouFinancialLeasingCoLtdMember2015-09-082015-09-080001375877csiq:FirstAdministrativeReviewOfSolarTwoMember2019-12-310001375877csiq:ChineseCommercialBanksMembersrt:ChiefExecutiveOfficerMember2019-01-012019-12-310001375877csiq:ChineseCommercialBanksMembersrt:ChiefExecutiveOfficerMember2018-01-012018-12-310001375877csiq:ChineseCommercialBanksMembersrt:ChiefExecutiveOfficerMember2017-01-012017-12-310001375877srt:ParentCompanyMembersrt:ReportableLegalEntitiesMember2018-12-310001375877srt:ParentCompanyMembersrt:ReportableLegalEntitiesMember2019-12-310001375877us-gaap:InterestRateSwapMemberus-gaap:CashFlowHedgingMemberus-gaap:DesignatedAsHedgingInstrumentMember2016-01-012016-12-310001375877csiq:StandardSolarModuleMembercsiq:MaterialAndWorkmanShipMember2019-01-012019-12-310001375877csiq:StandardSolarModuleMember2019-01-012019-12-310001375877csiq:StandardSolarModuleMembercsiq:MaterialAndWorkmanShipMember2011-08-012011-08-310001375877csiq:StandardSolarModuleMembercsiq:MaterialAndWorkmanShipMember2009-06-012009-06-300001375877csiq:CanadianSolarUSAIncMembercountry:US2019-01-012019-12-310001375877csiq:CanadianSolarJapanKKMembercountry:JP2019-01-012019-12-310001375877csiq:CanadianSolarInternationalLtdMembercountry:HK2019-01-012019-12-310001375877csiq:CanadianSolarEnergyAcquisitionCo.Membercountry:US2019-01-012019-12-310001375877csiq:CanadianSolarEMEAGmbHMembercountry:DE2019-01-012019-12-310001375877csiq:CanadianSolarUSAIncMembercountry:US2018-01-012018-12-310001375877csiq:CanadianSolarJapanKKMembercountry:JP2018-01-012018-12-310001375877csiq:CanadianSolarInternationalLtdMembercountry:HK2018-01-012018-12-310001375877csiq:CanadianSolarEnergyAcquisitionCo.Membercountry:US2018-01-012018-12-310001375877csiq:CanadianSolarEMEAGmbHMembercountry:DE2018-01-012018-12-310001375877csiq:CanadianSolarUSAIncMembercountry:US2017-01-012017-12-310001375877csiq:CanadianSolarJapanKKMembercountry:JP2017-01-012017-12-310001375877csiq:CanadianSolarInternationalLtdMembercountry:HK2017-01-012017-12-310001375877csiq:CanadianSolarEnergyAcquisitionCo.Membercountry:US2017-01-012017-12-310001375877csiq:CanadianSolarEMEAGmbHMembercountry:DE2017-01-012017-12-310001375877csiq:CanadianSolarManufacturingVietnamCo.LtdMembercountry:VN2016-01-012016-12-310001375877csiq:CanadianSolarManufacturingThailandCo.Ltd.Membercountry:TH2016-01-012016-12-310001375877csiq:ReRoserockHoldingsLlcMemberus-gaap:CapitalUnitClassAMember2015-12-012015-12-310001375877csiq:CsiSolarPowerChinaInc.Member2019-01-012019-12-310001375877csiq:CsiCellsCo.Ltd.Member2019-01-012019-12-310001375877srt:ParentCompanyMembersrt:ReportableLegalEntitiesMember2019-01-012019-12-310001375877srt:ParentCompanyMembersrt:ReportableLegalEntitiesMember2018-01-012018-12-310001375877srt:ParentCompanyMembersrt:ReportableLegalEntitiesMember2017-01-012017-12-310001375877csiq:SuzhouKzoneEquipmentTechnologyMember2017-09-300001375877us-gaap:RestrictedStockUnitsRSUMember2019-12-310001375877us-gaap:RestrictedStockUnitsRSUMember2018-12-310001375877us-gaap:RestrictedStockUnitsRSUMember2017-12-310001375877csiq:CanadianSolarSolutionsIncMemberus-gaap:DomesticCountryMember2019-01-012019-12-310001375877us-gaap:DomesticCountryMember2019-01-012019-12-310001375877csiq:CanadianSolarSolutionsIncMemberus-gaap:DomesticCountryMember2018-01-012018-12-310001375877us-gaap:DomesticCountryMember2018-01-012018-12-310001375877csiq:CanadianSolarSolutionsIncMemberus-gaap:DomesticCountryMember2017-01-012017-12-310001375877us-gaap:DomesticCountryMember2017-01-012017-12-310001375877srt:MinimumMember2019-01-012019-12-310001375877srt:MaximumMember2019-01-012019-12-310001375877us-gaap:UnsecuredDebtMember2019-12-310001375877csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember2019-12-310001375877us-gaap:UnsecuredDebtMember2018-12-310001375877csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember2018-12-310001375877us-gaap:ConvertibleDebtMember2019-01-012019-12-310001375877us-gaap:ConvertibleDebtMember2014-02-182014-02-1800013758772018-01-012018-12-3100013758772017-01-012017-12-310001375877csiq:SuzhouFinancialLeasingCoLtdMember2015-09-080001375877csiq:PilipinasNewtonEnergyCorpMember2019-12-310001375877us-gaap:CapitalUnitClassBMember2019-12-310001375877us-gaap:CapitalUnitClassAMember2019-12-310001375877csiq:CanadianSolarInfrastructureFundIncMember2019-01-012019-12-310001375877csiq:CanadianSolarInfrastructureFundIncMember2018-01-012018-12-310001375877csiq:CanadianSolarInfrastructureFundIncMember2017-01-012017-12-3100013758772010-09-012010-09-3000013758772019-01-012019-12-3100013758772019-12-3100013758772018-12-31iso4217:GBPcsiq:segmentiso4217:ZARiso4217:USDxbrli:purecsiq:itemiso4217:USDxbrli:sharescsiq:Institutioniso4217:JPYxbrli:sharesiso4217:CNYcsiq:D

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

Form 20-F

(Mark One)

REGISTRATION STATEMENT PURSUANT TO SECTION 12(b) OR 12(g) OF THE SECURITIES EXCHANGE ACT OF 1934

OR

ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the fiscal year ended December 31, 2019

OR

TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

For the transition period from                       to

OR

SHELL COMPANY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934

Date of event requiring this shell company report

Commission file number: 001-33107

CANADIAN SOLAR INC.

(Exact name of Registrant as specified in its charter)

N/A

(Translation of Registrant’s name into English)

Canada

(Jurisdiction of incorporation or organization)

545 Speedvale Avenue West

Guelph, Ontario, Canada N1K 1E6

(Address of principal executive offices)

Huifeng Chang, Chief Financial Officer

545 Speedvale Avenue West

Guelph, Ontario, Canada N1K 1E6

Tel: (1-519) 837-1881

Fax: (1-519) 837-2550

(Name, Telephone, E-mail and/or Facsimile number and Address of Company Contact Person)

Securities registered or to be registered pursuant to Section 12(b) of the Act:

Title of Each Class

    

Trading Symbol

    

Name of Each Exchange on Which Registered

Common shares with no par value

CSIQ

The NASDAQ Stock Market LLC

(The NASDAQ Global Select Market)

Securities registered or to be registered pursuant to Section 12(g) of the Act:

None

(Title of Class)

Securities for which there is a reporting obligation pursuant to Section 15(d) of the Act:

None

(Title of Class)

Indicate the number of outstanding shares of each of the issuer’s classes of capital or common stock as of the close of the period covered by the annual report.

59,371,684 common shares issued and outstanding, excluding 609,516 common shares as treasury stock, as of December 31, 2019.

Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes  No 

If this report is an annual or transition report, indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or 15(d) of the Securities Exchange Act of 1934. Yes  No 

Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. Yes  No 

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§ 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes  No 

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 “accelerated filer,” “large accelerated filer” and "emerging growth company" in Rule 12b-2 of the Exchange Act. (Check one):

Large accelerated filer

Accelerated filer

Non-accelerated filer

Emerging growth company

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† provided pursuant to Section 13(a) of the Exchange Act.  

Indicate by check mark which basis of accounting the registrant has used to prepare the financial statements included in this filing: U.S. GAAP

International Financial Reporting Standards as issued by the International Accounting Standards Board Other

If “Other” has been checked in response to the previous question, indicate by check mark which financial statement item the registrant has elected to follow. Item 17  Item 18 

If this is an annual report, indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).  Yes  No 

(APPLICABLE ONLY TO ISSUERS INVOLVED IN BANKRUPTCY PROCEEDINGS DURING THE PAST FIVE YEARS)

Indicate by check mark whether the registrant has filed all documents and reports required to be filed by Sections 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court. Yes  No 

†        The term “new or revised financial accounting standard” refers to any update issued by the Financial Accounting Standards Board to its Accounting Standards Codification after April 5, 2012.

Indicate by check mark whether the registrant has filed a report on and attestation to its management’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. Yes No

Table of Contents

Page

INTRODUCTION

1

FORWARD-LOOKING INFORMATION

3

PART I

4

ITEM 1.

IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS

4

ITEM 2.

OFFER STATISTICS AND EXPECTED TIMETABLE

4

ITEM 3.

KEY INFORMATION

4

ITEM 4.

INFORMATION ON THE COMPANY

40

ITEM 4A.

UNRESOLVED STAFF COMMENTS

62

ITEM 5.

OPERATING AND FINANCIAL REVIEW AND PROSPECTS

62

ITEM 6.

DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES

88

ITEM 7.

MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS

107

ITEM 8.

FINANCIAL INFORMATION

108

ITEM 9.

THE OFFER AND LISTING

113

ITEM 10.

ADDITIONAL INFORMATION

113

ITEM 11.

QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

124

ITEM 12.

DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES

125

PART II

125

ITEM 13.

DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES

125

ITEM 14.

MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE OF PROCEEDS

125

ITEM 15.

CONTROLS AND PROCEDURES

125

ITEM 16A.

AUDIT COMMITTEE FINANCIAL EXPERT

127

ITEM 16B.

CODE OF ETHICS

127

ITEM 16C.

PRINCIPAL ACCOUNTANT FEES AND SERVICES

128

ITEM 16D.

EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES

128

ITEM 16E.

PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS

128

ITEM 16F.

CHANGE IN REGISTRANT’S CERTIFYING ACCOUNTANT

129

ITEM 16G.

CORPORATE GOVERNANCE

129

ITEM 16H.

MINE SAFETY DISCLOSURE

129

PART III

129

ITEM 17.

FINANCIAL STATEMENTS

129

ITEM 18.

FINANCIAL STATEMENTS

129

ITEM 19.

EXHIBITS

130

SIGNATURES

131

INTRODUCTION

Unless otherwise indicated, references in this annual report on Form 20-F to:

“AC” and “DC” refer to alternating current and direct current, respectively;
“AUD” and “Australian dollars” refer to the legal currency of Australia;
“BRL” and “Brazilian reals” refer to the legal currency of Brazil;
“China” and the “PRC” refer to the People’s Republic of China, excluding, for the purposes of this annual report on Form 20-F, Taiwan and the special administrative regions of Hong Kong and Macau;
“COD” refers to commercial operation date;
“CSI”, “we”, “us”, “our company” and “our” refer to Canadian Solar Inc., a Canada corporation, its predecessor entities and its consolidated subsidiaries;
“C$” and “Canadian dollars” refer to the legal currency of Canada;
“EPC” refers to engineering, procurement and construction;
“EU” refers to the European Union;
“FIT” refers to feed-in tariff;
“GAAP” refers to generally accepted accounting principles;
“MSS” refers to module and system solutions;
“O&M services” refers to operation and maintenance services;
“PPA” refers to power purchase agreement;
“PV” refers to photovoltaic. The photovoltaic effect is a process by which sunlight is converted into electricity;
“RMB” and “Renminbi” refer to the legal currency of China;
“U.S.” refers to the United States of America;
“SEC” refers to the U.S. Securities and Exchange Commission;
“shares” and “common shares” refer to common shares, with no par value, of Canadian Solar Inc.;
“THB” and “Thai Bhat” refer to the legal currency of Thailand;
“W”, “kW”, “MW” and “GW” refer to watts, kilowatts, megawatts and gigawatts, respectively;
“$”, “US$” and “U.S. dollars” refer to the legal currency of U.S.;
“€” and “Euros” refer to the legal currency of the Economic and Monetary Union of the European Union;
“£”, “GBP” and “British pounds” refer to the legal currency of the United Kingdom;
“¥”, “JPY” and “Japanese yen” refer to the legal currency of Japan; and
“ZAR” and “South African rand” refer to the legal currency of South Africa.

This annual report on Form 20-F includes our audited consolidated financial statements for the years ended December 31, 2017, 2018 and 2019 and as of December 31, 2018 and 2019.

1

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, €0.8907 to $1.00, £0.7536 to $1.00, ¥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 “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.”

2

FORWARD-LOOKING INFORMATION

This annual report on Form 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 “safe harbor” provisions of the U.S. Private Securities Litigation Reform Act of 1995. You can identify these statements by terminology such as “may,” “will,” “expect,” “anticipate,” “future,” “intend,” “plan,” “believe,” “estimate,” “is/are likely to” or similar expressions. Forward-looking statements involve inherent risks and uncertainties. These forward-looking statements include, among other things, statements relating to:

our expectations regarding the worldwide demand for electricity and the market for solar power;
our beliefs regarding the importance of environmentally friendly power generation;
our beliefs regarding the value of and ability to monetize our portfolio of solar power projects;
our expectations regarding governmental support for solar power;
our beliefs regarding the rate at which solar power technologies will be adopted and the continued growth of the solar power industry;
our beliefs regarding the competitiveness of our solar power products and services;
our expectations with respect to increased revenue growth and improved profitability;
our expectations regarding the benefits to be derived from our supply chain management and vertical integration manufacturing strategy;
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;
our ability to secure adequate volumes of silicon, solar wafers and cells at competitive cost to support our solar module production;
our beliefs regarding the effects of environmental regulation;
our future business development, results of operations and financial condition;
competition from other manufacturers of solar power products and conventional energy suppliers;
our ability to successfully expand our range of products and services and to successfully execute plans for our energy segment;
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
our beliefs with respect to the outcome of the investigations and litigation to which we are a party.

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 “Item 3. Key Information—D. Risk Factors” 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 law.

3

PART I

ITEM 1.  IDENTITY OF DIRECTORS, SENIOR MANAGEMENT AND ADVISERS

Not applicable.

ITEM 2.  OFFER STATISTICS AND EXPECTED TIMETABLE

Not applicable.

ITEM 3.  KEY INFORMATION

A.    Selected Financial Data

Selected Consolidated Financial and Operating Data

The following selected statement of operations data for the years ended December 31, 2017, 2018 and 2019 and balance sheet data as of December 31, 2018 and 2019 have been derived from our consolidated financial statements, which are included elsewhere in this annual report on Form 20-F. You should read the selected consolidated financial and operating data in conjunction with those financial statements and the related notes and “Item 5. Operating and Financial Review and Prospects” included elsewhere in this annual report on Form 20-F.

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.

4

All of our financial statements are prepared and presented in accordance with U.S. generally accepted accounting principles, or U.S. GAAP. Our historical results are not necessarily indicative of results for any future periods.

 

For the years ended, or as of, December 31,

    

2015

    

2016

    

2017

    

2018

    

2019

 

(In thousands of $, except share and per share data, and operating data and percentages)

Statement of operations data:

Net revenues

 

3,467,626

 

2,853,078

 

3,390,393

 

3,744,512

 

3,200,583

Income from operations

 

247,371

 

93,164

 

269,345

 

364,657

 

258,879

Net income

 

173,316

 

65,275

 

102,983

 

242,431

 

166,555

Net income attributable to Canadian Solar Inc.

 

171,861

 

65,249

 

99,572

 

237,070

 

171,585

Earnings per share, basic

 

3.08

 

1.13

 

1.71

 

4.02

 

2.88

Shares used in computation, basic

 

55,728,903

 

57,524,349

 

58,167,004

 

58,914,540

 

59,633,855

Earnings per share, diluted

 

2.93

 

1.12

 

1.69

 

3.88

 

2.83

Shares used in computation, diluted

 

60,426,056

 

58,059,063

 

61,548,158

 

62,291,670

 

60,777,696

Other financial data:

 

  

 

  

 

  

 

  

 

  

Gross margin

 

16.6

%  

14.6

%  

18.8

%  

20.7

%  

22.4

%

Operating margin

 

7.1

%  

3.3

%  

7.9

%  

9.7

%  

8.1

%

Net margin

 

5.0

%  

2.3

%  

3.0

%  

6.5

%  

5.2

%

Selected operating data:

 

  

 

  

 

  

 

  

 

  

Solar power products sold (in MW)

 

  

 

  

 

  

 

  

 

  

—MSS segment(1)

 

4,085.0

 

5,138.1

 

6,538.8

 

5,916.1

 

7,979.7

—Energy segment(2)

 

298.8

 

65.7

 

354.3

 

901.1

 

435.2

Total

 

4,383.8

 

5,203.8

 

6,893.1

 

6,817.2

 

8,414.9

Average selling price (in $ per watt)

 

  

 

  

 

  

 

  

 

  

—Solar module

 

0.58

 

0.51

 

0.40

 

0.34

 

0.29

Balance Sheet Data:

 

  

 

  

 

  

 

  

 

  

Net current assets (liabilities)

 

(392,231)

 

69,697

 

(22,709)

 

125,964

 

160,939

Total assets

 

4,413,928

 

5,406,606

 

5,889,627

 

4,892,658

 

5,467,207

Net assets

 

832,510

 

899,390

 

1,059,775

 

1,272,845

 

1,425,058

Long-term borrowings

 

606,577

 

493,455

 

404,341

 

393,614

 

619,477

Convertible notes

 

146,674

 

125,569

 

126,476

 

127,428

 

Common shares

 

677,103

 

701,283

 

702,162

 

702,931

 

703,806

Number of shares outstanding

 

55,965,443

 

57,830,149

 

58,496,685

 

59,180,624

 

59,371,684(3)

(1)Numbers are calculated after inter-segmentation elimination and represent solar power products sold to third parties.
(2)Numbers are calculated after inter-segmentation elimination.
(3)Excludes 609,516 common shares held as treasury stock as of December 31, 2019.

B.    Capitalization and Indebtedness

Not applicable.

5

C.    Reasons for the Offer and Use of Proceeds

Not applicable.

D.    Risk Factors

Risks Related to Our Company and Our Industry

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.

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.

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:

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 services;
the availability of government subsidies and incentives to support the development of the solar power industry;
the availability and cost of capital, including long-term debt and tax equity, for solar power projects;
the success of other alternative energy technologies, such as wind power, hydroelectric power, geothermal power and biomass fuel;
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 fuels;
capital expenditures by end users of solar power products and services, which tend to decrease when the economy slows; and
the availability of favorable regulation for solar power within the electric power industry and the broader energy industry.

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.

6

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 all.

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.

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.

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 period.

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 liquidity.

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 operations.

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 projects.

7

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.

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 prospects.

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.

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.

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:

the uncertainty of being able to sell the projects, receive full payment for them upon completion, or receive payment in a timely manner;
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 all;
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;
delays or denial of required regulatory approvals by relevant government authorities;
diversion of significant management attention and other resources; and
failure to execute our project pipeline expansion plan effectively.

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 flows.

8

Governments may revise, reduce or eliminate subsidies and economic incentives for solar energy, which could cause demand for our products to decline.

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.

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.

General global economic conditions may have an adverse impact on our operating performance and results of operations.

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.

9

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.

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 “Item 8. Financial Information—A. Consolidated Statements and Other Financial Information—Legal and Administrative Proceedings.” 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.

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.

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 things:

securing land rights and related permits, including satisfactory environmental assessments;
receipt of required land use and construction permits and approvals;
receipt of rights to interconnect to the electric grid;
availability of transmission capacity, potential upgrade costs to the transmission grid and other system constraints;
payment of interconnection and other deposits (some of which are non-refundable);
negotiation of satisfactory EPC agreements; and
obtaining construction financing, including debt, equity and tax credits.

In addition, successful completion of a particular project may be adversely affected by numerous factors, including:

delays in obtaining and maintaining required governmental permits and approvals;
potential challenges from local residents, environmental organizations, and others who may not support the project;
unforeseen engineering problems; subsurface land conditions; construction delays; cost over-runs; labor, equipment and materials supply shortages or disruptions (including labor strikes);
additional complexities when conducting project development or construction activities in foreign jurisdictions, including compliance with the U.S. Foreign Corrupt Practices Act and other applicable local laws and customs; and
force majeure events, including adverse weather conditions, pandemics and other events beyond our control.

10

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 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 project.

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.

Developing and operating solar power projects exposes us to different risks than producing solar modules.

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 projects.

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’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 us.

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.

11

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 flows.

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 flows.

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.

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 flows.

12

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 earnings.

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.

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.

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 “—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.”

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.

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 products.

13

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 power.

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 flows.

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 flows.

We are also subject to the Foreign Corrupt Practices Act of 1977, or the FCPA, the U.S. domestic bribery statute contained in 18 U.S.C. § 201, the U.S. 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’s attention and resources, significant defense costs and other professional fees.

14

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 share.

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.

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 general.

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.

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.

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 prospects.

15

We face risks associated with the marketing, distribution and sale of our solar power products and services internationally.

The international marketing, sale, distribution and delivery of our products and services expose us to a number of risks, including:

fluctuating sources of revenues;
difficulties in staffing and managing overseas operations;
fluctuations in foreign currency exchange rates;
differing regulatory and tax regimes across different markets;
the increased cost of understanding local markets and trends and developing and maintaining an effective marketing and distribution presence in various countries;
the difficulty of providing customer service and support in various countries;
the difficulty of managing our sales channels effectively as we expand beyond distributors to include direct sales to systems integrators, end users and installers;
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 factors;
the difficulties and costs of complying with the different commercial, legal and regulatory requirements in the overseas markets in which we operate;
any failure to develop appropriate risk management and internal control structures tailored to overseas operations;
any inability to obtain, maintain or enforce intellectual property rights;
any unanticipated changes in prevailing economic conditions and regulatory requirements; and
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 countries.

If we are unable to effectively manage these risks, our ability to expand our business abroad could suffer.

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.

16

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 growth.

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.

Our significant international operations expose us to a number of risks, including unfavorable political, regulatory, labor and tax conditions in the countries where we operate.

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.

17

We face risks related to private securities litigation.

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’s jurisdiction to hear the plaintiff’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 “Item 8. Financial Information—A. Consolidated Statements and Other Financial Information—Legal and Administrative Proceedings.” 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.

Our quarterly operating results may fluctuate from period to period.

Our quarterly operating results may fluctuate from period to period based on a number of factors, including:

the average selling prices of our solar power products and services;
the timing of completion of construction of our solar power projects;
the timing and pricing of project sales;
changes in payments from power purchasers of solar power plants already in operation;
the rate and cost at which we are able to expand our internal production capacity;
the availability and cost of solar cells and wafers from our suppliers and toll manufacturers;
the availability and cost of raw materials, particularly high-purity silicon;
changes in government incentive programs and regulations, particularly in our key and target markets;
the unpredictable volume and timing of customer orders;
the loss of one or more key customers or the significant reduction or postponement of orders;
the availability and cost of external financing for on-grid and off-grid solar power applications;
acquisition and investment costs;
the timing of successful completion of customer acceptance testing of our solar power projects;
geopolitical turmoil and natural disasters within any of the countries in which we operate;
foreign currency fluctuations, particularly in British pounds, Renminbi, Canadian dollars, Japanese yen, Euros, Brazilian reals, South African rand and Thailand Baht;
our ability to establish and expand customer relationships;

18

changes in our manufacturing costs;
the timing of new products or technology introduced or announced by our competitors;
fluctuations in electricity rates due to changes in fossil fuel prices or other factors;
allowances for doubtful accounts and advances to suppliers;
inventory write-downs;
impairment of property, plant and equipment;
impairment of project assets;
impairment of investments in affiliates;
depreciation charges relating to under-utilized assets;
construction progress of solar power projects and related revenue recognition; and
antidumping, countervailing and other duty costs and true-up charges

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.

Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.

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.

The value of the Renminbi against the U.S. dollars, the Euros and other currencies is affected by, among other things, changes in China’s political and economic conditions and China’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.

19

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.

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 operations.

A change in our effective tax rate can have a significant adverse impact on our business.

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., in connection with fundamental U.S. international tax reform); changes in U.S. GAAP; expiration of or the inability to renew tax rulings or tax holiday incentives; and the repatriation of non-U.S. earnings for which we have not previously provided for U.S. taxes. A change in our effective tax rate due to any of these factors may adversely influence our future results of operations.

Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of operations.

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.

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.

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:

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 all;
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 vendors;

20

delays or denial of required regulatory approvals by relevant government authorities;
diversion of significant management attention and other resources; and
failure to execute our expansion plan effectively.

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.

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.

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.

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 “—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.” 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:

our future financial condition, results of operations and cash flows;
general market conditions for financing activities by manufacturers of solar power products; and
economic, political and other conditions in the PRC and elsewhere.

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.

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 operations.

21

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.

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 could:

limit our ability to satisfy our debt obligations;
increase our vulnerability to adverse general economic and industry conditions;
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;
limit our flexibility in planning for or reacting to changes in our businesses and the industry in which we operate;
place us at a competitive disadvantage compared with our competitors that have less debt;
limit, along with the financial and other restrictive covenants of our indebtedness, among other things, our ability to borrow additional funds; and
increase the cost of additional financing.

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.

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.

22

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.

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 operations.

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.

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.

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 operations.

Cancellations of customer orders may make us unable to recoup any prepayments made to suppliers.

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 operations.

23

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.

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’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.

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 operations.

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 bankrupt.

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’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.

24

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.

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.

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 all.

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.

We may be subject to unexpected warranty expense that may not be adequately covered by our insurance policies.

We warrant, for a period up to twelve years, that our solar products will be free from defects in materials and workmanship.

We also warrant that, for a period of 25 years, our standard polycrystalline modules will maintain the following performance levels:

during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;
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
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.

25

We have lengthened this warranty against decline in performance to 30 years for our bifacial module and double glass module products.

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.

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.

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 contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract price.

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 business.

26

We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.

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.

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 “Item 6. Directors, Senior Management and Employees—D. Employees.”

We may not achieve acceptable yields and product performance as a result of manufacturing problems.

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.

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 cost.

If we are unable to attract, train and retain technical personnel, our business may be materially and adversely affected.

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.

27

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 revenues.

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:

reduced, delayed or cancelled orders from one or more of our significant customers;
the loss of one or more of our significant customers;
a significant customer’s failure to pay for our products on time; and
a significant customer’s financial difficulties or insolvency.

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 base.

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 risk.

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&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&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&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&E, and the bankruptcy court, and the state government, PG&E’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&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&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’ interconnection agreements and CAISO’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.

28

Product liability claims against us could result in adverse publicity and potentially significant monetary damages.

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 reputation.

Our founder, Dr. Shawn Qu, has substantial influence over our company and his interests may not be aligned with the interests of our other shareholders.

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.

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 awards.

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 resolved.

29

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.

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.

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.

We face risks related to natural disasters, health epidemics, such as COVID-19, and other catastrophes, which could significantly disrupt our operations.

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.

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.

30

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 customers.

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 “Canadian Solar,” or “CSI” 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 them.

Failure to protect our intellectual property rights in connection with new solar power products may undermine our competitive position.

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 “Canadian Solar” 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 “Canadian Solar” 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.

We have limited insurance coverage and may incur significant losses resulting from operating hazards, product liability claims or business interruptions.

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 “Item 4. Information on the Company—B. Business Overview—Insurance.” 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 operations.

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 “—Product liability claims against us could result in adverse publicity and potentially significant monetary damages.” 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.

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 operations.

31

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 price.

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’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.

The audit report included in our annual report on Form 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.

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 States), or the PCAOB, is required by the laws of the U.S. 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’s audits and its quality control procedures. As a result, investors may be deprived of the benefits of PCAOB inspections.

On May 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 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.

Inspections of other firms that the PCAOB has conducted outside the PRC have identified deficiencies in those firms’ 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’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.

32

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’ 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 Act.

In late 2012, the SEC commenced administrative proceedings under Rule 102(e) of its Rules of Practice and also under the Sarbanes-Oxley Act of 2002 against the mainland Chinese affiliates of the “Big Four” 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’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 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 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.

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 6, 2019. Despite the final ending of the proceedings, the presumption is that all parties will continue to apply the same procedures: i.e. 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’ compliance with U.S. law. If additional challenges are imposed on the Chinese affiliates of the “big four” accounting firms, we could be unable to timely file future financial statements in compliance with the requirements of the Exchange Act.

In the event that the SEC restarts administrative proceedings, depending upon the final outcome, listed companies in the U.S. 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.

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 U.S.

33

Risks Related to Doing Business in China

The enforcement of the labor contract law and increases in labor costs in the PRC may adversely affect our business and our profitability.

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.

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 operations.

The Enterprise Income Tax Law, or the EIT Law, came into effect in China on January 1, 2008 and was amended on February 24, 2017 and December 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 “High and New Technology Enterprise,” or HNTE, are entitled to a 15% enterprise income tax rate provided that they satisfy other applicable statutory requirements.

Certain of our PRC subsidiaries, such as CSI New Energy Holding Co., Ltd., or CSI New Energy Holding, Canadian Solar Manufacturing (Luoyang) 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 Co., Ltd., or Suzhou Sanysolar, CSI Cells Co., Ltd., or CSI Cells, Canadian Solar Manufacturing (Changshu) Inc., or CSI Changshu Manufacturing, Changshu Tegu New Material Technology Co., Ltd., or Changshu Tegu, Suzhou Gaochuangte New Energy Development Co., Ltd., or Suzhou Gaochuangte, and Changshu Tlian Co., Ltd., or Changshu Tlian, were HNTEs and enjoyed preferential enterprise income tax rates.

34

There are significant uncertainties regarding our tax liabilities with respect to our income under the EIT Law.

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 “de facto management body” 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 “de facto management body” 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 82, further provides certain specific criteria for determining whether the “de facto management body” of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a) 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) decisions relating to the enterprise’s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c) the enterprise’s primary assets, accounting books and records, company seals, and board and shareholders’ meeting minutes are located or maintained in the PRC and (d) 50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular 82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in the Circular 82 may reflect the tax authorities’ general position on how the “de facto management body” 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 “de facto management body” as applicable to our offshore entities.

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.

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’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 treaty.

The implementation regulations of the EIT Law provide that (a) if the enterprise that distributes dividends is domiciled in the PRC, or (b) 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 “domiciled” 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 “resident enterprise” 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.

35

Under the Law of the People’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 tax.

Restrictions on currency exchange may limit our ability to receive and use our revenues effectively.

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’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.

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.

Uncertainties with respect to the Chinese legal system could materially and adversely affect us.

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 management.

36

Risks Related to Our Common Shares

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 shares.

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 future.

The market price for our common shares may be volatile.

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:

announcements of technological or competitive developments;
regulatory developments in our target markets affecting us, our customers or our competitors;
actual, projected or anticipated fluctuations in our quarterly operating results;
changes in financial estimates by securities research analysts;
changes in the economic performance or market valuations of other solar power companies;
the departure of executive officers and key research personnel;
patent litigation and other intellectual property disputes;
litigation and other disputes with our long-term suppliers;
fluctuations in the exchange rates between the U.S. dollars, Euros, Japanese yen, British pounds, Canadian dollars, Renminbi, Brazilian reals and Thailand Bhat;
the release or expiration of lock-up or other transfer restrictions on our outstanding common shares;
sales or anticipated sales of additional common shares; and
share repurchase program.

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 shares.

37

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 decline.

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.

Your right to participate in any future rights offerings may be limited, which may cause dilution to your holdings.

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. 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 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 holdings.

Our articles of continuance contain anti-takeover provisions that could adversely affect the rights of holders of our common shares.

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 company:

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.
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.

You may have difficulty enforcing judgments obtained against us.

We are a corporation organized under the laws of Canada and a substantial portion of our assets are located outside of the U.S. 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. As a result, it may be difficult for you to effect service of process within the U.S. upon these persons. It may also be difficult for you to enforce judgments obtained in U.S. courts based on the civil liability provisions of the U.S. 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. 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 state.

38

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.

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 “United States shareholder” with respect to each “controlled foreign corporation,” 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 31, 2018.

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 “Subpart F income,” “global intangible low-taxed income” 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’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.

We may be classified as a passive foreign investment company, which could result in adverse United States federal income tax consequences to United States Holders of our common shares.

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.

39

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 year.

If we are a PFIC for any taxable year during which a United States Holder (as defined in “Item 10. Additional Information—E. Taxation—United States Federal Income Taxation”) holds a common share, certain adverse United States federal income tax consequences could apply to such United States Holder. See “Item 10. Additional Information—E. Taxation—United States Federal Income Taxation—Passive Foreign Investment Company.”

ITEM 4.  INFORMATION ON THE COMPANY

A.    History and Development of the Company

Our legal and commercial name is Canadian Solar Inc. We were incorporated under the laws of the Province of Ontario, Canada in October 2001. We changed our jurisdiction by continuing under the Canadian federal corporate statute, the Canada Business Corporations Act, or CBCA, effective June 1, 2006. As a result, we are governed by the CBCA. See “—C. Organizational Structure” for additional information on our corporate structure, including a list of our major subsidiaries.

Our principal executive office and principal place of business is located at 545 Speedvale Avenue West, Guelph, Ontario, Canada N1K 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 States is CT Corporation System, located at 111 Eighth Avenue, New York, New York 10011.

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 report.

B.    Business Overview

Overview

We are one of the world’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.

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 “Canadian Solar” brand name.

40

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 “—Sales, Marketing and Customers—Energy Segment—Solar Project Development and Sale” and “—Sales, Marketing and Customers—Energy Segment—Operating Solar Power Projects and Sales of Electricity” for a description of the status of our solar power projects in operation.

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.

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.

As of December 31, 2019, we had:

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;
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;
5 GW of total annual wafer manufacturing capacity located in China; and
1.85 GW of total annual ingot manufacturing capacity located in China.

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.

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.

41

Our Products and Services

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&M services. Our energy segment primarily consists of solar power project development and sale, operating solar power plants and sales of electricity.

Products Offered in Our MSS Segment

Standard Solar Modules

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’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.

We launched our Quartech modules in March 2013. Quartech modules use 4-busbar solar cell technology which improves module reliability and efficiency. CS6P (6 × 10 cell layout) Quartech modules have power output between 255 W and 270 W, which enables us to offer customers modules with high power. We launched and started shipping Dymond modules in October 2014. Dymond modules are designed with double-glass encapsulation, which is more reliable for harsh environments and ready for 1500V solar systems.

We launched and started shipping SmartDC modules in September 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.

In March 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 × 10 cell layout aligned with mainstream dimensions) Quintech SuperPower mono modules have a power output between 285 W and 300 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 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 cells.

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.

In July 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 time.

42

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 Watt per module while reducing the module working temperature. We developed P4 cell technology, which is multi-crystalline PERC technology. The combination of P4 cell and Ku 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.

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 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 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 cost.

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 “standard” 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.

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 name.

Energy Solution Products

Our non-module, energy solution products are mainly solar inverters and energy storage systems for utility, commercial, residential and specialty product applications.

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.

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.

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. We began selling solar system kits in 2010 and in 2019 sold them primarily to customers in Japan, and China.

43

EPC and O&M Services

Our MSS segment started to provide EPC services in 2018 and O&M services in 2012. In 2019, we provided EPC services primarily in Australia and O&M services primarily in the North America, Japan, Australia and China. O&M services include inspections, repair and replacement of plant equipment and site management and administrative support services for solar power projects in operation.

Products and Services Offered in Our Energy Segment

Solar Project Development and Sale

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 “—Sales, Marketing and Customers—Energy Segment—Solar Project Development and Sale” for a description of the status of our solar power projects.

Operating Solar Power Plants and Sales of Electricity

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.

Supply Chain Management

MSS Segment

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.

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.

44

For risks relating to the long-term agreements with our raw material suppliers, see “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—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.”

Energy Segment

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 sale.

Manufacturing, Construction and Operation

MSS Segment

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.

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 efficiency.

Energy Segment

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.

Our solar power projects development process primarily consists of the following stages:

Market due diligence and project selection. 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 returns.
Project financing. 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 assets.
Permitting and approval. 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 country.

45

Project design, engineering, procurement and construction. 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.

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.

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.

Quality Control and Certifications

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.

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 “3-times” 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.

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.

46

Sales, Marketing and Customers

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:

 

Years Ended December 31,

2017

2018

2019

    

Total Net

    

    

Total Net

    

    

Total Net

    

Region

 

Revenues

%

 

Revenues

%

 

Revenues

%

 

(In thousands of $, except for percentages)

Asia

 

1,926,091

 

56.8

 

1,571,287

 

42.0

 

1,018,083

 

31.8

Americas

 

1,108,162

 

32.7

 

1,474,657

 

39.4

 

1,402,041

 

43.8

Europe and others

 

356,140

 

10.5

 

698,568

 

18.6

 

780,459

 

24.4

Total

 

3,390,393

 

100.0

 

3,744,512

 

100.0

 

3,200,583

 

100.0

MSS Segment

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.

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.

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 Korea.

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.

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 expands.

47

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.

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.

In 2012, we started to provide O&M services for solar power plants in commercial operation. Our O&M services include inspections, repair and replacement of plant equipment, site management and administrative support services.

Energy Segment

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.

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 markets.

Solar Project Development

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.

48

As of January 31, 2020, our project pipeline (formerly called our early-to-mid-stage, utility-scale, solar project pipeline) totaled 11.7 GW.

Project Backlog and Pipeline by Region*

Region

    

Backlog

    

Pipeline

    

Total

North America

 

1,597

 

5,232

 

6,829

Latin America

 

1,087

 

3,246

 

4,333

EMEA

 

206

 

2,113

 

2,319

Asia Pacific

 

806

 

676

 

1,482

China

 

45

 

410

 

455

Total

 

3,741

 

11,677

 

15,418

Note: Backlog and pipeline table represents the gross MWp size of the projects, including minority interest.

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’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.

The table below sets forth our storage project backlog and pipeline as of January 31, 2020.

    

Backlog

    

Pipeline

    

Total

Storage (MWh)

 

320

 

2,500

 

2,820

The expected COD schedule of our project backlog, as of January 31, 2020, was as follows:

Expected COD Schedule (MWp)

 

 

2022 and

 

2020

2021

 

Thereafter

Total

63

    

449

    

    

512

Note: Approximately 264 MWp from LatAm portfolio in Brazil sold at NTP to Nebras, with milestone revenue recognition over 2019-2021.

Operating Solar Power Plants and Sales of Electricity

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.

Our total portfolio of solar power plants in operation as of January 31, 2020 was as follows:

Projects in Operation (MWp)

U.S.

    

Japan

    

China

    

India

    

Mexico

    

Others

    

Total

103.9

133.7

458.7

35.0

100.1

48.8

880.2

Customer Support and Service

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.

49

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.

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 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.

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’s questions and concerns in a timely and professional manner.

In 2019, we renewed our product warranty insurance coverage to provide additional security to our customers. See “—Insurance” below. Our customer support and service function will continue to expand and improve services we provide to our customers.

Competition

MSS Segment

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.

We believe that the key competitive factors in the market for solar power products include:

price;
the ability to deliver products to customers on time and in the required volumes;
product quality and associated service issues;
nameplate power and other performance parameters of the module, such as power tolerances;
value-added services such as system design and installation;
value-added features such as those that make a module easier or cheaper to install;
additional system components such as mounting systems, delivered as a package or bundle;
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;

50

customer relationships and distribution channels; and
the aesthetic appearance of solar power products.

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.

Energy Segment

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:

vertical integration with upstream manufacturing;
permit and project development experience and expertise;
reputation and track record;
relationship with government authorities and knowledge of local policies;
strong internal working capital and good relationship with banks and international organizations that enhance access to external financing;
experienced technicians and executives who are familiar with the industry and the implementation of our business plans; and
expertise and experience in providing EPC.

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.

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.

51

For further discussion of the competitive risks that we face, see “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—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.”

Insurance

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 & 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.

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 insurance.

Environmental Matters

Except as disclosed in the “Item 3. Key Information—D. Risk Factors—Risks Related to Doing Business in China,” 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 projects.

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 1907/2006 concerning the Registration, Evaluation, Authorization and Restriction of Chemicals (REACH).

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 operations.

Government Regulations

This section sets forth a summary of certain significant regulations or requirements that affect our business activities in China or our shareholders’ right to receive dividends and other distributions from us.

Renewable Energy Law and Other Government Directives

In February 2005, China enacted its Renewable Energy Law, which became effective on January 1, 2006 and was revised in December 2009. The revised Renewable Energy Law, which became effective on April 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.

52

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.

In November 2005, the NDRC promulgated the Renewable Energy Industry Development Guidance Catalogue, in which solar power figured prominently. In January 2006, the NDRC promulgated two implementation directives with respect to the Renewable Energy Law. In January 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 Law.

In August 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’s Congress in March 2016, the Thirteenth Five-Year Plan for Renewable Energy Development, which was promulgated by the NDRC in December 2016, and the Thirteenth Five-Year Plan for Solar Power Generation, which was promulgated by the National Energy Administration in December 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.

China’s Ministry of Housing and Urban-Rural Development (formerly, the Ministry of Construction) also issued a directive in June 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’s State Council promulgated a directive in July 2005, which sets forth specific measures to conserve energy resources. In November 2005, China’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 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 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 2009, China’s Ministry of Finance and Ministry of Housing and Urban-Rural Development jointly promulgated “the Urban Demonstration Implementation Program of the Renewable Energy Building Construction” and “the Implementation Program of Acceleration in Rural Application of the Renewable Energy Building Construction” to support the development of the new energy industry and the new energy-saving industry.

On March 8, 2011, China’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 buildings.

On August 21, 2012, China’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 buildings.

In June 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 others.

53

In April 2015, China’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 supported.

In April 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.

In November 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.

Environmental Regulations

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 2017.

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 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.

Admission of Foreign Investment

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 2017 and became effective on July 28, 2017, the solar power related business is classified as an “encouraged foreign investment industry.” 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.

54

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 etc.

Administration of Foreign Invested Companies

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.

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’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.

Income Tax and VAT

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.

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.

55

The EIT Law also provides that enterprises established outside China whose “de facto management body” 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 “de facto management body” 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 82 further provides certain specific criteria for determining whether the “de facto management body” of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a) 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) decisions relating to the enterprise’s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c) the enterprise’s primary assets, accounting books and records, company seals, and board and shareholders’ meeting minutes are located or maintained in the PRC and (d) 50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although Circular 82 only applies to offshore enterprises controlled by enterprises or enterprise groups located within the PRC, the determining criteria set forth in the Circular 82 may reflect the tax authorities’ general position on how the “de facto management body” 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 “de facto management body” as applicable to our offshore entities.

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 “resident enterprises” 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 “de facto management body,” 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 tax.

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 borne.

In April 2018, Ministry of Finance and State Administration of Taxation jointly announced that as of May 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.

In March 2019, Ministry of Finance, State Administration of Taxation and General Administration of Customs jointly announced that as of April 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 9%.

56

Foreign Currency Exchange

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.

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 SAFE.

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 19, on March 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 “investment” to use the RMB capital converted from foreign currency registered capital for equity investments within the PRC. On June 9, 2016, SAFE issued the Circular on Reforming and Regulating Policies on the Control over Foreign Exchange Settlement of Capital Accounts, or Circular 16. Compared to Circular 19, Circular 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 parties).

On February 13, 2015, SAFE promulgated the Circular on Further Simplifying and Improving the Policies Concerning Foreign Exchange Control on Direct Investment, or SAFE Circular No. 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.

On January 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 flow.

Dividend Distribution

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 2008.

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 liquidation.

57

Employment

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 1, 1995 and amended on August 27, 2009, and December 29, 2018, the Labor Contract Law of the People’s Republic of China, which became effective on January 1, 2008, and was later revised on December 28, 2012, its Implementing Regulation and the amendment thereunder, which became effective on September 18, 2008 and July 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 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’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 3, 2014, the number of dispatched workers used by an employer shall not exceed 10% of its total number of workers.

Under applicable PRC laws, rules and regulations, including the Social Insurance Law promulgated by the Standing Committee of the National People’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.

58

C.  Organizational Structure

The following table sets out our major subsidiaries, including their place of incorporation and our ownership interest, as of March 31, 2020.

    

Place of

    

Ownership

 

Name of entity

incorporation

interest

 

CSI Solartronics (Changshu) Co., Ltd.

 

PRC

 

100

%

CSI Solar Technologies Inc.

 

PRC

 

100

%

CSI New Energy Holding Co., Ltd.

 

PRC

 

100

%

Canadian Solar Manufacturing (Luoyang) Inc.

 

PRC

 

100

%

Canadian Solar Manufacturing (Changshu) Inc.

 

PRC

 

100

%

CSI Cells Co., Ltd.

 

PRC

 

100

%

Canadian Solar (USA) Inc.

 

USA

 

100

%

Canadian Solar Japan K.K.

 

Japan

 

100

%

Canadian Solar Solutions Inc.

 

Canada

 

100

%

CSI Solar Power Group Co., Ltd. (formerly named/known as “CSI Solar Power (China) Inc.”)

 

PRC

 

100

%

Canadian Solar EMEA GmbH

 

Germany

 

100

%

Canadian Solar (Australia) Pty Limited

 

Australia

 

100

%

Canadian Solar International Limited

 

Hong Kong

 

100

%

Canadian Solar O and M (Ontario) Inc.

 

Canada

 

100

%

Suzhou Sanysolar Materials Technology Co., Ltd.

 

PRC

 

99.73

%

Canadian Solar South East Asia Pte. Ltd.

 

Singapore

 

100

%

Canadian Solar South Africa (Pty) Ltd

 

South Africa

 

100

%

Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.

 

Brazil

 

100

%

Canadian Solar Construction (USA) LLC

 

USA

 

100

%

Canadian Solar Projects K.K.

 

Japan

 

100

%

CSI&GCL Solar Manufacturing (Yan Cheng) Inc.

 

PRC

 

100

%

Canadian Solar UK Ltd.

 

United Kingdom

 

100

%

Canadian Solar UK Projects Ltd.

 

United Kingdom

 

100

%

Changshu Tegu New Material Technology Co., Ltd.

 

PRC

 

100

%

Changshu Tlian Co., Ltd.

 

PRC

 

100

%

Recurrent Energy Group Inc.

 

USA

 

100

%

Recurrent Energy, LLC

 

USA

 

100

%

PT. Canadian Solar Indonesia

 

Indonesia

 

67

%

Canadian Solar Manufacturing Vietnam Co., Ltd.

 

Vietnam

 

100

%

Canadian Solar Energy Private Limited

 

India

 

100

%

Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as “Canadian Solar Australia 1 Pty Ltd.”)

 

Australia

 

100

%

Canadian Solar Energy Holding Company Limited

 

Hong Kong

 

100

%

Canadian Solar Energy Singapore Pte. Ltd.

 

Singapore

 

100

%

Canadian Solar Manufacturing (Thailand) Co., Ltd.

 

Thailand

 

99.99992

%

Canadian Solar Sunenergy (Suzhou) Co., Ltd.

 

PRC

 

100

%

Canadian Solar Sunenergy (Baotou) Co., Ltd.

 

PRC

 

100

%

Canadian Solar Middle East DMCC

 

United Arab Emirates

 

100

%

CSI Investment Management (SuZhou) Co., Ltd.

 

PRC

 

100

%

Suzhou Gaochuangte New Energy Development Co., Ltd.

 

PRC

 

90

%

CSI Cells (Yancheng) Co., Ltd.

 

PRC

 

*

CSI Modules (Dafeng) Co., Ltd.

 

PRC

 

**

Canadian Solar Construction (Australia) Pty Ltd

 

Australia

 

100

%

CSUK Energy Systems Construction and Generation JSC

 

Turkey

 

100

%

CSI Modules (JiaXing) Co., Ltd.

 

PRC

 

100

%

CSI Wafer (LuoYang) Co., Ltd.

 

PRC

 

100

%

Canadian Solar Manufacturing Taiwan Co., Ltd.

 

Taiwan

 

100

%

Canadian Solar Argentina Investment Holding Ltd

 

Argentina

 

100

%

Canadian Solar New Energy Holding Company Limited

Hong Kong

100

%

Canadian Solar Energy Holding Singapore Pte. Ltd.

Singapore

100

%

Canadian Solar SSES (Canada) Inc.

Canada

100

%

Canadian Solar SSES (UK) Ltd

United Kingdom

100

%

Canadian Solar SSES (US) Inc.

USA

100

%

Canadian Solar Asset Management LLC

USA

100

%

Canadian Solar Netherlands Cooperative U.A.

Netherland

100

%

59

*     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.

**   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.

D.  Property, Plant and Equipment

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 20-F:

CSI Changshu Manufacturing has the land use right to two pieces of land of approximately 40,000 square meters and 180,000 square meters, respectively, in Changshu, on which we have built manufacturing facilities with a total floor area of approximately 164,817 square meters. We have obtained certificates of property ownership for all of CSI Changshu Manufacturing’s facilities.
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.
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.
CSI&GCL Solar Manufacturing (Yan Cheng) Inc., or CSI&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&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&GCL Solar Manufacturing obtained the land use right of approximately 33,664 square meters for the construction of Phase IV facilities.

60

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.
In Suzhou, Canadian Solar Sunenergy (Suzhou) Co., Ltd. has obtained the land use right to a piece of land of approximately 60,000 square meters and owns the module manufacturing facility thereon with a floor area of 28,355 square meters, which commenced production in the first quarter of 2017.
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.
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.
CSI Modules (JiaXing) Co., Ltd. obtained the land use right to a piece of land of 165,057 square meters in 2018.
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.
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.
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.
In Vietnam, we lease approximately 15,784 square meters of manufacturing facilities in Haiphong City, Vietnam since 2015 and have renewed for another three years commencing August 7, 2018. The production has begun since 2016.
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.
In Indonesia, we lease a total floor area of approximately 8,000 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 2016.

61

Except as disclosed in the “Item 3. Key Information—D. Risk Factors—Risks Related to Doing Business in China,” 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 “B. Business Overview—Environmental Matters.”

ITEM 4A.  UNRESOLVED STAFF COMMENTS

None.

ITEM 5.  OPERATING AND FINANCIAL REVIEW AND PROSPECTS

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 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 “Item 3. Key Information—D. Risk Factors” or in other parts of this annual report on Form 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 "Item 5. - Operating and Financial Review and Prospects" 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.

A.  Operating Results

Factors Affecting Our Results of Operations

The most significant factors that affect our financial performance and results of operations are:

solar power products pricing;
costs of silicon raw materials and solar ingots, wafers and cells relative to the selling prices of modules;
government subsidies and the availability of financing for solar projects;
industry and seasonal demand;
impact of assets impairment;
solar power project development and sale and EPC and development services;
antidumping, countervailing and other duty costs and true-up charges; and
foreign exchange.

Solar Power Products Pricing

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&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.

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 watt.

62

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.

Costs of Silicon Raw Materials and Solar Ingots, Wafers and Cells Relative to the Selling Prices of Modules

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 are.

Government Subsidies and the Availability of Financing for Solar Projects

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 projects.

For a detailed discussion of the impact of government subsidies and incentives, possible changes in government policy and associated risks to our business, see “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—Governments may revise, reduce or eliminate subsidies and economic incentives for solar energy, which could cause demand for our products to decline.” and “Item 4. Information on the Company—B. Business Overview—Sales, Marketing and Customers.”

For a detailed discussion of the impact of the availability and cost of debt or equity for solar power projects and our customers’ ability to finance the purchase of our products or to construct solar power projects, see “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—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 operations.”

63

Industry and Seasonal Demand

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 “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—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.” 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 “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—Seasonal variations in demand linked to construction cycles and weather conditions may influence our results of operations.”

Impact of Assets Impairment

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 million and $42.1 million for our property, plant and equipment, investments in affiliates, and project assets in 2018 and 2019, respectively.

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 “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—We may not continue to be successful in developing and maintaining a cost-effective solar cell, wafer and ingot manufacturing capability.” and “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—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.”

Solar Power Project Development and Sale and EPC and Development Services

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 “Item 4. Information on the Company—B. Business Overview—Sales, Marketing and Customers—Energy Segment—Solar Project Development and Sale” for a description of the status of our solar power projects.

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 “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—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” and “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—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.”

64

Antidumping,Countervailing and Other Duty Costs and True-up Charges

In 2019, we booked the benefits of antidumping and countervailing duty provision reversals of $52.3 million, primarily associated with prior years’ module sales based on the updated rates arising from the administrative reviews carried out by the U.S. Department of Commerce.

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 “Item 8. Financial Information—A. Consolidated Statements and Other Financial Information—Legal and Administrative Proceedings.” 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 customers.

Foreign Exchange

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 “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—Fluctuations in exchange rates could adversely affect our business, including our financial condition and results of operations.”

Segment Reporting

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 us.

We have operated our business in two principal reportable business segments since 2016:

MSS Segment, 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&M services;
Energy Segment, which primarily comprises solar power project development and sale, operating solar power projects and sales of electricity.

Impact of COVID-19

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.

65

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 "build-to-order" production and reducing "build-to-stock" production; tightening credit controls to reduce potential bad debt losses; and accelerating R&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.

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.

See “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.” for further discussion.

Overview of Financial Results

We evaluate our business using a variety of key financial measures.

Net Revenues

MSS Segment

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.

Energy Segment

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 “Item 4. Information on the Company—B. Business Overview—Sales, Marketing and Customers—Energy Segment—Solar Project Development and Sale” for a description of the status of our solar power projects.

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 “—Critical Accounting Policies—Revenue Recognition.”

Cost of Revenues

MSS Segment

The cost of revenues of our MSS segment consists primarily of the costs of:

solar cells;
silicon wafers;
high purity and solar grade silicon materials;
materials used in solar cell production, such as metallic pastes;

66

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 sheets;
production labor, including salaries and benefits for manufacturing personnel;
warranty costs;
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 products;
depreciation and amortization of manufacturing equipment and facilities, which are increasing as we expand our manufacturing capabilities;
operation and maintenance costs;
solar project EPC services; and
antidumping, countervailing and other duty costs and true-up charges.

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:

during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;
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
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.

We have lengthened the warranty against decline in performance for our bifacial module and double glass module products to 30 years.

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 option.

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 “Item 3. Key Information—D. Risk Factors—Risks Related to Our Company and Our Industry—We may be subject to unexpected warranty expense that may not be adequately covered by our insurance policies.”

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 products.

67

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 “—Critical Accounting Policies—Warranty Costs.”

In 2019, we booked the benefits of antidumping and countervailing duty provision reversals of $52.3 million, primarily associated with prior years’ module sales based on the updated rates arising from the administrative reviews carried out by the U.S. Department of Commerce.

Energy Segment

The cost of revenues of our energy segment consists primarily of the costs of:

acquiring solar power projects;
acquiring and developing solar project sites, including interconnection fees and permitting costs;
solar project EPC and development services;
interest capitalized for solar power projects during construction period;
operating and maintaining solar power plants, including depreciation of solar power plants; and
impairment of project assets.

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 warranties.

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 contractor or equipment provider) may incur liquidated damages capped at a percentage of the contract price.

Gross Profit/Gross Margin

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.

Operating Expenses

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.

68

Selling Expenses

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.

General and Administrative Expenses

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.

Research and Development Expenses

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.

Other Operating Income, Net

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.

Share-based Compensation Expenses

Under our share incentive plan, as of December 31, 2019, we had outstanding:

120,799 stock options; and
116,500 restricted shares; and
1,659,767 restricted share units.

For a description of the stock options, restricted share units and restricted shares granted, including the exercise prices and vesting periods, see “Item 6. Directors, Senior Management and Employees—B. Compensation of Directors and Executive Officers—Share-based Compensation—Share Incentive Plan.” 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 award.

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.

69

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.

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.

 

Years Ended December 31,

    

2018

2019

 

(In thousands of $, except for percentages)

Share‑based compensation expenses included in:

    

  

    

  

    

  

    

  

Cost of revenues

 

1,053

 

10.3

%  

1,196

 

11.2

%

Selling expenses

 

1,370

 

13.4

%  

1,664

 

15.6

%

General and administrative expenses

 

7,040

 

68.6

%  

6,991

 

65.4

%

Research and development expenses

 

795

 

7.7

%  

831

 

7.8

%

Total share‑based compensation expenses

 

10,258

 

100.0

%  

10,682

 

100.0

%

We expect to incur additional share-based compensation expenses as we expand our operations.

Interest Expense

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.

Gain (Loss) on Change in Fair Value of Derivatives

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.

Income Tax Expense

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 realized.

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.

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 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 rates.

70

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 “resident enterprises” 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 million as of December 31, 2019) to be indefinitely reinvested in China, and, consequently, we have made no provision for withholding taxes for those amounts.

Critical Accounting Policies

We prepare financial statements in accordance with U.S. GAAP, which requires us to make judgments, estimates and assumptions that affect:

the reported amounts of our assets and liabilities;
the disclosure of our contingent assets and liabilities at the end of each fiscal period; and
the reported amounts of revenues and expenses during each fiscal period.

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.

When reviewing our financial statements, the following should be considered:

our selection of critical accounting policies;
the judgment and other uncertainties affecting the application of such policies; and
the sensitivity of reported results to changes in conditions and assumptions.

We believe the following accounting policies involve the most significant judgments and estimates used in the preparation of our financial statements.

Revenue Recognition

We recognize revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.

Solar power products and materials

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.

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 31, 2018 and 2019, we had inventories of $9.0 million and $7.7 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.

71

O&M services

O&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&M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&M services are expensed when incurred.

EPC and development services

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.

Solar power projects

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.

Electricity revenue

Electricity revenue is generated primarily by our solar power plants under long-term PPAs and performance-—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.

Warranty Costs

We warrant, for a period up to twelve years, that our solar products will be free from defects in materials and workmanship.

We also warrant that, for a period of 25 years, our standard polycrystallin modules will maintain the following performance levels:

during the first year, the actual power output of the module will be no less than 97.5% of the labeled power output;

72

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
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.

We have lengthened the warranty against decline in performance for our bifacial module and double glass module products to 30 years.

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 warranties. Due to limited warranty claims to date, we accrue the estimated costs of warranties based on an assessment of our competitors’ 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.

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 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 to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC 410-30.

We consider the following factors in determining whether an insurance receivable that is probable and recoverability can be reasonably estimated:

reputation and credit rating of the insurance company; and
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).

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 anticipated.

73

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 insurance.

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.

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.

Income Taxes

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.

Current income taxes are provided for in accordance with the laws of the relevant taxing authorities.

Income tax expense includes (a) 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) current tax expense, which represents the amount of tax currently payable to or receivable from a taxing authority; and (c) 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 expense.

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.

Recently Issued Accounting Pronouncements

See note 2(aj) Recently issued accounting pronouncements in the notes to our consolidated financial statements, included herein.

74

Results of Operations

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 period.

 

For the years ended December 31,

    

2018

    

2019

 

(in thousands of $, except percentages)

Net revenues

$

3,744,512

    

100.0

%  

3,200,583

    

100.0

%

MSS segment

2,413,889

 

64.5

%  

2,582,635

 

80.7

%

Energy segment

1,575,594

 

42.1

%  

719,445

 

22.5

%

Elimination

(244,971)

 

(6.6)

%  

(101,497)

 

(3.2)

%

Cost of revenues

2,969,430

 

79.3

%  

2,482,086

 

77.6

%

MSS segment

1,923,131

 

51.4

%  

1,934,062

 

60.4

%

Energy segment

1,302,779

 

34.8

%  

635,716

 

19.9

%

Elimination

(256,480)

 

(6.9)

%  

(87,692)

 

(2.7)

%

Gross profit

775,082

 

20.7

%  

718,497

 

22.4

%

MSS segment

490,758

 

13.1

%  

648,573

 

20.3

%

Energy segment

272,815

 

7.3

%  

83,729

 

2.6

%

Elimination

11,509

 

0.3

%  

(13,805)

 

(0.4)

%

Operating expenses:

  

 

  

 

 

Selling expenses

165,402

 

4.4

%  

180,326

 

5.6

%

General and administrative expenses

245,376

 

6.6

%  

242,783

 

7.6

%

Research and development expenses

44,193

 

1.2

%  

47,045

 

1.5

%

Other operating income, net

(44,546)

 

(1.2)

%  

(10,536)

 

(0.3)

%

Total operating expenses

410,425

 

11.0

%  

459,618

 

14.4

%

Income from operations

364,657

 

9.7

%  

258,879

 

8.1

%

Other income (expenses)

  

 

  

 

 

Interest expense

(106,032)

 

(2.8)

%  

(81,326)

 

(2.5)

%

Interest income

11,207

 

0.3

%  

12,039

 

0.4

%

Loss on change in fair value of derivatives, net

(19,230)

 

(0.5)

%  

(22,218)

 

(0.7)

%

Foreign exchange gain

6,529

 

0.2

%  

10,370

 

0.3

%

Investment income

41,361

 

1.1

%  

1,929

 

0.1

%

Other income (expenses), net

(66,165)

 

(1.8)

%  

(79,206)

 

(2.5)

%

Income before income taxes and equity in earnings of unconsolidated investees

298,492

 

8.0

%  

179,673

 

5.6

%

Income tax expense

(61,969)

 

(1.7)

%  

(42,066)

 

(1.3)

%

Equity in earnings of unconsolidated investees

5,908

 

0.2

%  

28,948

 

0.9

%

Net income

242,431

 

6.5

%  

166,555

 

5.2

%

Less: Net income (loss) attributable to non‑controlling interests

5,361

 

0.2

%  

(5,030)

 

(0.2)

%

Net income attributable to Canadian Solar Inc.

237,070

 

6.3

%  

171,585

 

5.4

%

75

Year Ended December 31, 2019 Compared to Year Ended December 31, 2018

Net Revenues. 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.

MSS Segment. 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&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.

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.

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.

Energy Segment. 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.

Cost of Revenues. 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.

MSS Segment. 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.

76

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’ module sales based on the updated rates arising from the administrative reviews carried out by the U.S. Department of Commerce.

Energy Segment. 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.

Gross Profit. 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.

MSS Segment. 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.
Energy Segment. 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.

Operating Expenses. 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.

Selling Expenses. 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.

General and Administrative Expenses. 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.

Research and Development Expenses. 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.

77

Other Operating Income, Net. 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.

Income from Operations. 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.

Interest Expense, Net. 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.

Loss on Change in Fair Value of Derivatives, Net. 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.

Foreign Exchange Gain/(Loss). 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.

Investment Income. 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.

Income Tax Expense. 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.

Equity in Earnings of Unconsolidated Investees. 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.

Net Income/(Loss) Attributable to Non-Controlling Interest. 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.

Net Income Attributable to Canadian Solar Inc. 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.

78

B.    Liquidity and Capital Resources

Cash Flows and Working Capital

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.

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 liquidity.

In 2019, we financed our operations primarily through short-term and long-term borrowings. As of December 31, 2019, we had $668.8 million in cash and cash equivalents and $536.7 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 borrowings.

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.

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.

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.

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.

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.

In January 2016, we signed a $60.0 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 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 2016 and the net proceeds of approximately $10.0 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 31, 2020 was $17.5 million.

79

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 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 2018, we renewed the agreement with EDC and increased the facility amount to $125 million with a more focused support for project development activities in North America, Latin America, Europe, Asia and 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.

In 2016, we obtained a syndicated three-year loan facility of JPY9.6 billion ($85.2 million) with Sumitomo Mitsui Banking Corporation, or SMBC, acting as the lead arranger and 13 other participating financial institutions. In September 2018, the facility agreement was renewed and extended to JPY10.7 billion ($97.5 million) with 10 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.

In December 2016, we secured senior and subordinate non-recourse term loan facilities of JPY14.9 billion ($132.2 million) to finance the construction and operation of a 55 MWp solar power plant in the Yamaguchi prefecture, Japan. The facilities were arranged by Hanwha Asset Management and have a maturity of 17 years. The project reached COD in May 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.

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.

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.

In April 2017, we completed our second non-recourse project bond placement of JPY5.4 billion ($47.9 million) with Goldman Sachs Japan Co., Ltd. to finance the construction of the 19.05 MWp Gunma Aramaki solar power project in Japan. The project bond has a dual-tenor maturity of 1.5 years and 20.3 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 2017.

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.

80

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.

In December 2018, we secured a non-recourse project financing of $50 million for our 100.1 MWp solar power project in Cafayate, Salta Province, Argentina. The financing package, arranged by CAF—Development Bank of Latin America, consists of CAF A-loan of $30 million with a 15-year tenor, a parallel loan of $15 million from the Argentinian Development Bank of Investment and Foreign Trade with a 15-year tenor, and another parallel loan of $5 million from the Bank of the City of Buenos Aires (Banco de la Ciudad) with a 10-year tenor. The project reached COD in the third quarter of 2019 and $1 million was drawn as of March 31, 2020.

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.

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.

In May 2019, we secured a $50 million term loan from Credit Suisse AG, Singapore Branch, one of the world’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.

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.

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.

81

The following table sets forth a summary of our cash flows for the periods indicated:

 

As of December 31,

    

2018

    

2019

 

(in thousands of $)

Net cash provided by operating activities

 

216,280

 

600,111

Net cash provided by (used in) investing activities

 

29,071

 

(294,102)

Net cash used in financing activities

 

(463,613)

 

(34,614)

Net increase (decrease) in cash, cash equivalents and restricted cash

 

(256,987)

 

264,430

Less: net decrease in cash and cash equivalents classified within assets held‑for‑sale

 

(7,843)

 

Cash, cash equivalents and restricted cash at the beginning of the year

 

1,190,134

 

940,990

Cash, cash equivalents and restricted cash at the end of the year

 

940,990

 

1,205,420

Operating Activities

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.

Investing Activities

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.

Financing Activities

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.

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.

82

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.

Capital Expenditures

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.

Restricted Net Assets

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.

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’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.

As of December 31, 2019, $625.9 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 Tax.

83

C.    Research and Development

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 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 test method on PID and has been qualified by VDE, CSA, Intertek and TUV Rheinland in their Test Data Acceptance Programs.

As of December 31, 2019, we had approximately 515 employees engaged in research, product development and engineering.

Our research and development activities are generally focused on the following areas:

developing novel multi crystalline casting and CZ mono pulling technologies to improve the ingot quality with reduced cost;
continuously improving solar cell conversion efficiency and developing new structures and technologies for higher efficiencies;
developing modules with improved design and assembly methods to have higher power output;
improving manufacturing yield and reliability of solar modules and reducing manufacturing costs;
developing smart modules integrated with optimizer or micro-inverters;
testing, data tracing and analysis for module performance and reliability;
designing and developing customized solar modules and products to meet customer requirements; and
developing new methods and equipment for analysis and quality control of incoming materials (such as polysilicon, wafers, cells and other module components).

84

Going forward, we will focus on the following research and development initiatives which we believe will enhance our competitiveness:

High efficiency cells. Our R&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’ market competitiveness.
Solar module manufacturing technologies. The continuous efforts from the two R&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.
Power system integration and solar application products. 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 products.
Solar power system development, energy storage system, off-grid power system, micro grid system and smart grid system. As we continue to move into the downstream energy segment, we have strengthened the capabilities of our engineering staff and increased investment in these areas.

D.    Trend Information

Other than as disclosed elsewhere in this annual report on Form 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.

85

E.    Off Balance Sheet Arrangements

We have not entered into any derivative contracts that are indexed to our shares and classified as shareholder’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 us.

F.    Tabular Disclosure of Contractual Obligations

Contractual Obligations and Commercial Commitments

The following table sets forth our contractual obligations and commercial commitments as of December 31, 2019:

 

Payment Due by Period

    

    

Less Than

    

    

    

More Than

Total

 

1 Year

13 Years

35 Years

 

5 Years

 

(In thousands of $)

Short‑term debt obligations

 

1,219,293

 

1,219,293

 

 

 

Interest related to short‑term debt obligations(1)

 

22,316

 

22,316

 

 

 

Operating lease obligations

 

40,911

 

18,143

 

17,646

 

3,618

 

1,504

Financing lease obligations

41,130

27,439

13,691

Purchase obligations(2)

 

12,800

 

9,600

 

3,200

 

 

Long‑term debt obligations(3)

 

619,477

 

 

522,602

 

55,837

 

41,038

Interest related to long‑term debt obligations(4)

 

79,982

 

28,395

 

39,248

 

5,155

 

7,184

Financing liability

 

76,575

 

 

22,935

 

53,640

 

Interest related to financing liability

 

20,919

 

4,844

 

9,483

 

6,592

 

Total

 

2,133,403

 

1,330,030

 

628,805

 

124,842

 

49,726

(1)Interest rates range from 0% to 10.5% per annum for short-term debt obligations.
(2)Includes commitments to purchase property, plant and equipment of $12.0 million, and service for solar power system of $0.8 million.
(3)The maturity dates of long-term debt obligations are based on our estimate timing of the monetization of related projects.
(4)Interest rates range from 0.95% to 7.78% per annum for long-term debt obligations.

The above table excludes accrued warranty costs of $55.9 million, liability for uncertain tax positions of $15.4 million, deferred tax liabilities—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.

86

G.    Safe Harbor

This annual report on Form 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 “safe harbor” provisions of the U.S. Private Securities Litigation Reform Act of 1995. You can identify these forward-looking statements by terminology such as “may,” “will,” “expect,” “anticipate,” “future,” “intend,” “plan,” “believe,” “estimate,” “is/are likely to” or similar expressions. Forward-looking statements involve inherent risks and uncertainties. These forward-looking statements include, among other things, statements relating to:

our expectations regarding the worldwide supply and demand for solar power products and the market demand for our products;
our beliefs regarding the importance of environmentally friendly power generation;
our beliefs regarding the value of and ability to monetize our portfolio of solar power projects;
our expectations regarding governmental support for solar power;
our beliefs regarding the fluctuation in availability of silicon, solar wafers and solar cells;
our beliefs regarding our ability to resolve our disputes with suppliers with respect to our long-term supply agreements;
our beliefs regarding the continued growth of the solar power industry;
our beliefs regarding the competitiveness of our solar module products;
our expectations with respect to increased revenue growth and improved profitability;
our expectations regarding the benefits to be derived from our supply chain management and vertical integration manufacturing strategy;
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;
our ability to secure adequate silicon and solar cells to support our solar module production;
our beliefs regarding the effects of environmental regulation;
our beliefs regarding the changing competitive landscape in the solar power industry;
our future business development, results of operations and financial condition;
competition from other manufacturers of solar power products and conventional energy suppliers;
our ability to expand our products and services and to successfully execute plans for our energy segment;
our ability to develop, build and sell solar power projects in Canada, the U.S., Japan, China, Brazil, Mexico, the United Kingdom, Australia and elsewhere; and
our beliefs with respect to the outcome of the investigations and litigation to which we are a party.

87

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 “Item 3. Key Information—D. Risk Factors” 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 law.

ITEM 6.  DIRECTORS, SENIOR MANAGEMENT AND EMPLOYEES

A.    Directors and Senior Management

The following table sets forth information regarding our directors, strategic advisor and executive officers as of the date of this annual report on Form 20-F.

Name

    

Age

    

Position/Title

Shawn (Xiaohua) Qu

 

56

 

Chairman of the Board, President and Chief Executive Officer

Robert McDermott

 

78

 

Lead Independent Director

Harry E. Ruda

 

61

 

Independent Director

Andrew (Luen Cheung) Wong

 

62

 

Independent Director

Arthur (Lap Tat) Wong

 

60

 

Independent Director

Lauren C. Templeton

44

Independent Director

Karl E. Olsoni

62

Strategic Advisor

Yan Zhuang

 

56

 

Acting Chief Executive Officer, Senior Vice President, Chief Commercial Officer and President of Modules and Systems Solutions Business

Huifeng Chang

 

54

 

Senior Vice President and Chief Financial Officer

Guangchun Zhang

 

62

 

Senior Vice President and Chief Operations Officer

Jianyi Zhang

 

62

 

Senior Vice President, General Counsel and Chief Compliance Officer

Guoqiang Xing

 

56

 

Senior Vice President and Chief Technology Officer

Directors

Dr. Shawn (Xiaohua) Qu has served as our chairman, president and chief executive officer since founding our company in October 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. Shawn Qu held various positions in product engineering, business development and strategic planning at ATS Automation Tooling Systems, Inc., or ATS, and its solar subsidiary Photowatt International S.A. Prior to ATS, Dr. 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. Shawn Qu became a visiting professor at Tsinghua University, one of the most prestigious universities in China. Dr. 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 Beijing.

88

Mr. Robert McDermott has served as lead independent director of our company since August 2006. Mr. McDermott is a corporate director and consultant. Before July 2011, he was a partner with McMillan 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. 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 1963.

Dr. Harry E. Ruda 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.

Mr. Andrew (Luen Cheung) Wong 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.

89

Mr. Arthur (Lap Tat) Wong 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’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.

Ms. Lauren C. Templeton has served as an independent director of our company since January 2020. Ms. Templeton is the founder and President of Templeton & 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 "Investing the Templeton Way: The Market Beating Strategies of Value Investing's Legendary Bargain Hunter", which has been translated into nine languages. Ms. Templeton holds a Bachelor of Arts Degree in Economics from the University of the South, Sewanee.

Mr. Karl E. Olsoni 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'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.

90

Executive Officers

Mr. Yan Zhuang 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’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.

Dr. Huifeng Chang has served as our senior vice president and chief financial officer in May 2016. He has 17 years of experience in capital markets, financial investment and risk management. Before joining us, Dr. Chang was the co-head of Sales & Trading at the U.S. 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. Chang was vice president and an equity proprietary trader at Citigroup Equity Proprietary Investments in New York. Before going to New York, Dr. 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 1984.

Mr. Guangchun Zhang has served as our chief operations officer since December 2012 and has over 18 years of experience in the PV industry. Prior to joining us, Mr. Zhang worked for Suntech Power Holdings Co., Ltd, as senior vice president for research and development and industrialization of manufacturing technology since December 2005. Prior to joining Suntech, Mr. Zhang previously worked at the Centre for Photovoltaic Engineering at the University of New South Wales in Australia and Pacific Solar Pty. Limited from June 1994 to November 2005. Mr. Zhang was an associate professor in Shandong Technology University in China from February 1982 to May 1994. Mr. Zhang received his bachelor degree in 1982 from the School of Electronic Engineering at Shandong Industrial Institute.

Mr. Jianyi Zhang joined us at the end of February 2016 as senior vice president and chief legal officer, and was appointed as chief compliance officer in May 2016. After graduation from Washington University School of Law, Mr. Zhang worked at Troutman Sanders LLP as an associate from June 1993 to September 1994. Thereafter, he formed a law firm Su & Zhang in Los Angeles, California. He rejoined Troutman Sanders LLP as an associate in April 1995, became a partner in September of 1999 and worked in that position until December 2001. From January 2002 to June 2005, Mr. Zhang worked at Walmart Stores, Inc. first as a senior corporate counsel II and then as senior assistant general counsel. From July 2005 to February 2016, he served, consecutively, as senior advisor to Chinese law firms of Jingtian & Gongcheng Law Firm, Runbo Law Firm, East Associates Law Firm and East & Concord Partners in Beijing. Mr. 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. Zhang worked at the Chinese Foreign Ministry until September 1989. Thereafter, he went to study at Washington University School of Law in St. Louis, Missouri and received his J.D. degree in 1992.

91

Dr. Guoqiang Xing serves as senior vice president and chief technology officer. He joined us in November 2014 as corporate vice president of technology. He has over 22 years of research and development experience in photovoltaic and semiconductor industries. From September 2009 to October 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&D director from January 2008 to August 2009. His experience in the semiconductor industry includes serving as (a) a R&D advanced process director at HHNEC, a company based in Shanghai, from 2005 to 2008, (b) a R&D advanced process director at Semiconductor Manufacturing International, a company listed on the Hong Kong Stock Exchange, from 2002 to 2005, and (c) a member of technical staff at Kilby Center, Texas Instruments, a company listed on the New 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 1995.

Duties of Directors

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 breached.

The functions and powers of our board of directors include:

convening shareholder meetings and reporting to shareholders at such meetings;
declaring dividends and authorizing other distributions to shareholders;
appointing officers and determining the term of office of officers;
exercising the borrowing powers of our company and mortgaging the property of our company; and
approving the issuance of shares.

B.    Compensation of Directors and Executive Officers

Cash Compensation

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.

Share Incentive Plan

In March 2006, we adopted a share incentive plan, or the Plan.

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.

92

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.

The following describes the principal terms of the Plan.

Types of Awards. We may make the following types of awards under the Plan:

restricted shares, which are common shares that are subject to certain restrictions and may be subject to risk of forfeiture or repurchase;
options, which entitle the holder to purchase our common shares; and
restricted share units, which entitle the holder to receive our common shares.

Plan Administration. 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 award.

Award Agreement. Awards are evidenced by an award agreement that sets forth the terms, conditions and limitations for each award.

Eligibility. 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 employees.

Acceleration of Awards upon Corporate Transactions. 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.

Exercise Price and Term of Options. 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 grant.

The term of an award may not exceed ten years from the date of the grant.

Vesting Schedule. In general, the Compensation Committee determines the vesting schedule.

93

Restricted Shares

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.

    

Restricted

    

Restricted

    

Restricted

    

Shares

Shares

Shares

Name

Granted

Vested

Forfeited

Date of Grant

Employees

 

  

 

  

 

  

 

  

Twelve individuals as a group

 

330,860

 

330,860

 

 

May 30, 2006

Hanbing Zhang(1)

 

116,500

(2)  

116,500

 

 

July 28, 2006

Employees as a group

 

447,360

 

447,360

 

 

  

Other Individuals

 

  

 

  

 

  

 

  

One individual

 

2,330

(3)  

2,330

 

 

May 30, 2006

One individual

 

116,500

(4)  

116,500

 

 

June 30, 2006

Other Individuals as a group

 

118,830

 

118,830

 

 

  

Total Restricted Shares

 

566,190

 

566,190

 

 

  

(1)The wife of Dr. Shawn Qu.
(2)Vest over a four-year period from the date of grant.
(3)Vest on accelerated termination.
(4)Vest over a two-year period from the date of grant.

94

Options

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.

    

Common

    

Common

    

Common

    

Common

    

    

    

Shares

Shares

Shares

Shares

Exercise

Underlying

Underlying

Underlying

Underlying

Price

Options

Options

Options

Options

($ per

Date of

Name

Granted

Exercised

Forfeited

Outstanding

Share)

Date of Grant

Expiration

Directors:

  

  

  

  

  

  

  

Shawn (Xiaohua) Qu

20,000

20,000

3.18

March 12, 2009

25,000

25,000

11.33

August 27, 2010

August 26, 2020

18,779

18,779

9.33

May 20, 2011

May 19, 2021

Robert McDermott

46,600

(1)

46,600

15.00

(3)

August 8, 2006

23,300

(2)

23,300

9.88

July 1, 2007

23,300

(2)

23,300

41.75

(4)

June 26, 2008

23,300

(2)

23,300

13.75

(4)

June 29, 2009

23,300

(2)

23,300

12.09

(4)

September 20, 2010

September 19, 2020

23,300

(2)

23,300

9.81

(4)

June 27, 2011

23,300

(2)

23,300

3.03

(4)

June 11, 2012

23,300

(2)

23,300

8.29

(4)

June 7, 2013

Harry E. Ruda

23,300

(2)

23,300

8.31

(4)

August 14, 2011

23,300

(2)

23,300

3.03

(4)

June 11, 2012

23,300

(2)

23,300

8.29

(4)

June 7, 2013

Directors as a Group

343,379

253,000

23,300

67,079

  

  

  

Executive Officers:

  

  

  

  

  

  

  

Yan Zhuang

23,300

(2)

23,300

7.36

September 24, 2007

23,300

(2)

23,300

41.75

June 26, 2008

80,000

80,000

9.37

May 23, 2009

15,000

15,000

11.33

August 27, 2010

11,268

11,268

9.33

May 20, 2011

Executive Officers as a Group

152,868

129,568

23,300

  

  

  

Employees:

  

  

  

  

  

  

  

Hanbing Zhang

46,600

46,600

4.29

July 28, 2006

6,000

6,000

3.18

March 12, 2009

12,000

12,000

11.33

August 27, 2010

August 26, 2020

7,512

7,512

9.33

May 20, 2011

May 19, 2021

Other employees and certain individuals as a group

4,160,031

2,728,446

1,397,397

34,188

2.12 to 46.28

Various dates from May 30, 2006 to June 7, 2013

Various dates from May 29, 2016 to June 6, 2023

Total Options

4,728,390

3,163,614

1,443,997

120,779

(1)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 service.
(2)Vest immediately upon the date of grant.
(3)The initial public offering price of the common shares.
(4)Exercise price equal to the average of the trading prices of the common shares for the 20 trading days preceding the date of grant.

95

Restricted Share Units

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.

    

Restricted

    

Restricted

    

Restricted

    

Share Units

Share Units

Share Units

Name

Granted

Vested

Forfeited

Date of Grant

Directors:

  

  

  

  

Shawn (Xiaohua) Qu

6,154

(1)

6,154

May 8, 2011

13,706

(2)

13,706

May 20, 2011

75,075

(2)

75,075

March 16, 2012

67,024

(2)

67,024

March 9, 2013

11,983

(2)

11,983

May 4, 2014

8,274

(2)

8,274

May 3, 2015

20,216

(2)

15,162

July 8, 2016

121,951

(3)

121,951

November 6, 2016

22,607

(2)

11,303

May 17, 2017

77,289

(3)

77,289

November 5, 2017

18,018

(2)

4,504

May 13, 2018

83,805

(3)

52,378

November 10, 2018

15,690

(2)

May 13, 2019

26,691

(3)

3,336

November 9, 2019

Robert McDermott

1,020

1,020

July 1, 2014

800

800

October 1, 2014

1,274

1,274

January 1, 2015

880

880

April 1, 2015

993

993

July 1, 2015

1,820

1,820

October 1, 2015

1,033

1,033

January 1, 2016

1,572

1,572

April 1, 2016

2,051

2,051

July 1, 2016

2,228

2,228

October 1, 2016

2,411

2,411

January 1, 2017

2,562

April 1, 2017

1,901

July 1, 2017

1,818

October 1, 2017

1,767

January 1, 2018

1,802

April 1, 2018

2,458

July 1, 2018

2,056

October 1, 2018

2,096

January 1, 2019

1,623

April 1, 2019

1,381

July 1, 2019

1,486

October 1, 2019

1,361

January 1, 2020

96

    

Restricted

    

Restricted

    

Restricted

    

Share Units

Share Units

Share Units

Name

Granted

Vested

Forfeited

Date of Grant

Harry E. Ruda

1,020

1,020

July 1, 2014

800

800

October 1, 2014

1,274

1,274

January 1, 2015

880

880

April 1, 2015

993

993

July 1, 2015

1,820

1,820

October 1, 2015

1,033

1,033

January 1, 2016

1,572

1,572

April 1, 2016

2,051

2,051

July 1, 2016

2,228

2,228

October 1, 2016

2,411

2,411

January 1, 2017

2,562

April 1, 2017

1,901

July 1, 2017

1,818

October 1, 2017

1,767

January 1, 2018

1,802

April 1, 2018

2,458

July 1, 2018

2,056

October 1, 2018

2,096

January 1, 2019

1,623

April 1, 2019

1,381

July 1, 2019

1,486

October 1, 2019

1,361

January 1, 2020

Andrew (Luen Cheung) Wong

610

610

August 7, 2014

800

800

October 1, 2014

1,274

1,274

January 1, 2015

880

880

April 1, 2015

993

993

July 1, 2015

1,820

1,820

October 1, 2015

1,033

1,033

January 1, 2016

1,572

1,572

April 1, 2016

2,051

2,051

July 1, 2016

2,228

2,228

October 1, 2016

2,411

2,411

January 1, 2017

2,562

April 1, 2017

1,901

July 1, 2017

1,818

October 1, 2017

1,767

January 1, 2018

1,802

April 1, 2018

2,458

July 1, 2018

2,056

October 1, 2018

2,096

January 1, 2019

1,623

April 1, 2019

1,381

July 1, 2019

1,486

October 1, 2019

1,361

January 1, 2020

Arthur (Lap Tat) Wong

559

March 8, 2019

1,623

April 1, 2019

1,381

July 1, 2019

1,486

October 1, 2019

1,361

January 1, 2020

Lauren C. Templeton

1,361

January 1, 2020

Karl E. Olsoni

1,021

January 1, 2020

Directors as a group

692,044

515,975

97

    

Restricted

    

Restricted

    

Restricted

    

Share Units

Share Units

Share Units

Name

Granted

Vested

Forfeited

Date of Grant

Executive Officers

  

  

  

Huifeng Chang

23,340

(2)

23,340

May 8, 2016

13,477

(2)

10,108

July 8, 2016

15,072

(2)

7,536

May 17, 2017

12,012

(2)

3,003

May 13, 2018

10,460

(2)

May 13, 2019

3,923

(1)

May 13, 2019

Guangchun Zhang

80,000

(2)

80,000

March 9, 2013

7,262

(2)

7,262

May 4, 2014

5,516

(2)

5,516

May 3, 2015

13,477

(2)

10,108

July 8, 2016

15,072

(2)

7,536

May 17, 2017

12,012

(2)

3,003

May 13, 2018

10,460

(2)

May 13, 2019

Yan Zhuang

2,564

(1)

2,564

May 8, 2011

8,224

(2)

8,224

May 20, 2011

45,045

(2)

45,045

March 16, 2012

40,214

(2)

40,214

March 9, 2013

7,988

(2)

7,988

May 4, 2014

5,516

(2)

5,516

May 3, 2015

13,477

(2)

10,108

July 8, 2016

15,072

(2)

7,536

May 17, 2017

12,012

(2)

3,003

May 13, 2018

10,460

(2)

May 13, 2019

5,230

(1)

May 13, 2019

Jianyi Zhang

25,934

(2)

25,934

May 8, 2016

13,477

(2)

10,108

July 8, 2016

15,072

(2)

7,536

May 17, 2017

12,012

(2)

3,003

May 13, 2018

10,460

(2)

May 13, 2019

Guoqiang Xing

5,717

(2)

5,717

December 26, 2014

2,758

(2)

2,758

May 3, 2015

6,739

(2)

5,054

July 8, 2016

3,586

(2)

2,689

May 17, 2017

15,072

(2)

7,536

May 17, 2017

12,012

(2)

3,003

May 13, 2018

10,460

(2)

May 13, 2019

Executive Officers as a group

521,184

360,948

98

    

Restricted

    

Restricted

    

Restricted

    

Share Units

Share Units

Share Units

Name

Granted

Vested

Forfeited

Date of Grant

Employees

  

  

  

  

Hanbing Zhang

1,538

(1)

1,538

May 8, 2011

5,482

(2)

5,482

May 20, 2011

21,021

(2)

21,021

March 16, 2012

18,767

(2)

18,767

March 9, 2013

2,796

(2)

2,796

May 4, 2014

2,344

(2)

2,344

May 3, 2015

4,717

(2)

3,538

July 8, 2016

5,275

(2)

2,637

May 17, 2017

4,204

(2)

1,051

May 13, 2018

3,661

(2)

May 13, 2019

Other employees and certain individuals as a group

5,662,642

(4)

3,573,858

1,372,709

Various dates from May 8, 2011 to November 10, 2018

580,135

(4)

11,013

38,965

Various dates from January 1, 2019 to March 21, 2020

Total Restricted Share Units

7,525,810

4,520,968

1,411,674

(1)Vest over a one-year period from the date of grant.
(2)Vest over a four-year period from the date of grant.
(3)Vest over an eight-quarter period from date of grant.
(4)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.

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.

C.    Board Practices

In 2019, our board of directors held seven meetings and passed 40 resolutions by unanimous written consent.

Terms of Directors and Executive Officers

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 appointed.

Committees of the Board of Directors

Our board of directors has established an audit committee, a compensation committee, a nominating and corporate governance committee and a research and development committee.

99

Audit Committee

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 “audit committee financial expert” as required by the SEC. Each of Messrs. McDermott, Ruda and Andrew (Leun Cheung) Wong and Ms. Templeton is “financially literate” as required by the Nasdaq rules. Each of the members of our audit committee satisfies the “independence” 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.

The audit committee is responsible for, among other things:

selecting our independent auditors and pre-approving all auditing and non-auditing services permitted to be performed by our independent auditors;
reviewing with our independent auditors any audit problems or difficulties and management’s responses;
reviewing and approving all proposed related-party transactions, as defined in Item 404 of Regulation S-K under the Securities Act;
discussing the annual audited financial statements with management and our independent auditors;
reviewing major issues as to the adequacy of our internal controls and any special audit steps adopted in light of material control deficiencies;
annually reviewing and reassessing the adequacy of our audit committee charter;
such other matters that are specifically delegated to our audit committee by our board of directors from time to time;
meeting separately and periodically with management and our internal and independent auditors; and
reporting regularly to the full board of directors.

In 2019, our audit committee held five meetings, and did not pass any resolution by unanimous written consent.

Compensation Committee

Our compensation committee consists of Messrs. McDermott, Ruda, Andrew (Luen Cheung) Wong and Arthur (Lap Tat) Wong and Ms. Templeton and is chaired by Mr. Andrew (Leun Cheung) Wong. Each of the members of our compensation committee satisfies the “independence” 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 things:

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;
reviewing and approving the compensation arrangements for our other executive officers and our directors; and
overseeing and periodically reviewing the operation of our employee benefits plans, including bonus, incentive compensation, stock option, pension and welfare plans.

100

In 2019, our compensation committee held six meetings and passed five resolutions by unanimous written consent.

Nominating and Corporate Governance Committee

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 “independence” 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:

identifying and recommending to the board nominees for election or re-election to the board, or for appointment to fill any vacancy;
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 us;
identifying and recommending to the board the directors to serve as members of the board’s committees;
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; and
monitoring compliance with our code of business conduct and ethics, including reviewing the adequacy and effectiveness of our procedures to ensure proper compliance.

In 2019, our nominating and corporate governance committee held four meetings and did not pass any resolution by unanimous written consent.

Research and Development Committee

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:

reviewing, evaluating and advising the board of directors and management regarding the quality, scope, direction and effectiveness of our research and development programs and activities;
reviewing, evaluating and advising the board of directors and management regarding our progress in achieving our research and development goals and objectives;
reviewing, evaluating and making recommendations to the board of directors and management on our internal and external investments in science and technology;
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 technology;
reviewing, evaluating and advising the board of directors and our chief executive officer regarding the composition and quality of the research and development team; and
providing general oversight of matters relating to the protection of our intellectual property.

101

In 2019, our research and development committee held four meetings and did not pass any resolution by unanimous written consent.

Interested Transactions

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 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) one relating primarily to remuneration as a director, officer, employee or agent of the corporation or an affiliate; (b) one for indemnity or insurance in favor of directors and officers in compliance with the CBCA; or (c) one with an affiliate.

In 2019, we did not enter into any interested transactions other than those described in this “Item 6. Directors, Senior Management and Employees” and “Item 7. Major Shareholders and Related Party Transactions—B. Related Party Transactions.”

Remuneration and Borrowing

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) borrow money on our credit, (b) issue, reissue, sell, pledge or hypothecate debt obligations of ours, (c) give a guarantee on our behalf to secure performance of an obligation of any person, and (d) 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 ours.

Qualification

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’s annual cash retainer and to satisfy this requirement before the later of July 1, 2017 and three years after he or she becomes a director.

Employment Agreements

We have entered into employment agreements with each of our executive officers.

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’ written notice of termination to us.

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. “N” 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.

102

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.

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. “Competitor” 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.

Our compensation committee is required to approve the employment agreements entered into by us with our executive officers.

Director Agreements

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 “—B. Compensation of Directors and Executive Officers.”

Indemnification of Directors and Officers

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 above.

103

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 company.

Our directors and officers are covered by directors’ and officers’ insurance policies.

D.    Employees

As of December 31, 2017, 2018 and 2019, we had 12,129, 12,442 and 13,478 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.

 

As of December 31, 2019

    

Number of Employees

    

Percentage of Total

Manufacturing

 

10,733

 

79.6

%

General and administrative

 

1,390

 

10.4

%

Research and development

 

515

 

3.8

%

Sales and marketing

 

840

 

6.2

%

Total

 

13,478

 

100

%

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.

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 (“DDI”) for establishing leadership standards and creating tailor-made development programs.

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.

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.

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.

104

E.    Share Ownership

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:

each of our directors and executive officers; and
each person known to us to own beneficially more than 5% of our common shares.

The calculations in the table below are based on the 59,041,687 common shares outstanding, as of March 31, 2020.

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.

 

Shares Beneficially

 

Owned(1)

    

Number

    

%

Directors and Executive Officers: (2)

 

  

 

  

Shawn (Xiaohua) Qu (3)

 

13,964,711

 

23.6

%

Robert McDermott (4)

 

42,484

 

*

Harry E. Ruda (5)

 

37,484

 

*

Andrew Wong (6)

9,243

*

Yan Zhuang (7)

 

17,985

 

*

Huifeng Chang (8)

 

17,641

 

*

Guangchun Zhang (9)

 

12,755

 

*

Jianyi Zhang (10)

 

30,951

 

*

Guoqiang Xing (11)

 

22,027

 

*

All Directors and Executive Officers as a Group

 

14,155,281

 

23.9

%

Principal Shareholders

 

 

  

Lion Point Capital, L.P. (12)

4,388,709

7.4

%

Schroder Investment Management Hong Kong (13)

4,294,748

7.3

%

Morgan Stanley and Morgan Stanley Capital services LLC (14)

 

3,528,037

 

6.0

%

*     The person beneficially owns less than 1% of our outstanding shares.

(1)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.
(2)The business address of our directors and executive officers is 545 Speedvale Avenue West, Guelph, Ontario, Canada N1K 1E6.
(3)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.
(4)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.
(5)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.

105

(6)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.
(7)Comprises 17,985 common shares issuable upon vesting of restricted share units held by Mr. Zhuang within 60 days from March 31, 2020.
(8)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.
(9)Comprises 12,755 common shares issuable upon vesting of restricted shares units held by Mr. Zhang within 60 days from March 31, 2020.
(10)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.
(11)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.
(12)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.
(13)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.
(14)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.

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.

106

ITEM 7.  MAJOR SHAREHOLDERS AND RELATED PARTY TRANSACTIONS

A.    Major Shareholders

Please refer to “Item 6. Directors, Senior Management and Employees—E. Share Ownership.”

B.    Related Party Transactions

Guarantees and Loans

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.

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.

Sales and purchase contracts with affiliates

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.

In 2019, we provided asset management services to CSIF in the amount of JPY281.1 million ($2.6 million).

In 2019, we provided O&M services to CSIF in the amount of JPY223.6 million ($2.1 million).

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).

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).

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).

Employment Agreements

See “Item 6. Directors, Senior Management and Employees—C. Board Practices—Employment Agreements.”

Share Incentive Plan

See “Item 6. Directors, Senior Management and Employees—B. Compensation of Directors and Executive Officers—Share-based Compensation—Share Incentive Plan.”

C.    Interests of Experts and Counsel

Not applicable.

107

ITEM 8.  FINANCIAL INFORMATION

A.    Consolidated Statements and Other Financial Information

We have appended audited consolidated financial statements filed as part of this annual report.

Legal and Administrative Proceedings

Class Action Lawsuits

In January 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 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 vigorously.

Solar 1

On October 17, 2012, the United 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 30, 2012, the U.S. International Trade Commission, or USITC, determined that imports of CSPV cells had caused material injury to the U.S. CSPV industry. The USITC’s determination was subsequently affirmed by the U.S. Court of International Trade, or CIT, and the U.S. Court of Appeals for the Federal Circuit, or Federal Circuit.

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 7, 2015, the CIT sustained the USITC’s final determination and on January 22, 2018, the Federal Circuit upheld the CIT’s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.

The rates at which duties will be assessed and payable are subject to administrative reviews.

The USDOC published the final results of the first administrative reviews in July 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’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’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’s decision. There was no further appeal to the U.S. Supreme Court and, therefore, this decision is final.

The USDOC published the final results of the second administrative reviews in June 2016 (antidumping duty) and July 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’s second antidumping duty rate. This decision by the CIT was appealed to the Federal Circuit, with a decision expected in mid-2020.

108

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’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.

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.

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.

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.

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’s first sunset review. We did, however, participate in the USITC’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.

Solar 2

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.

109

“Chinese CSPV products subject to Solar 2 orders” 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. “Taiwanese CSPV products subject to Solar 2 orders” 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.

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.

The USDOC’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’s decision confirming the USDOC’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.

The rates at which duties will be assessed and payable are subject to administrative reviews.

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.

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.

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.

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.

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.

110

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’s sunset review will follow this preliminary decision

Section 201

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.

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.

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’ production, capacity utilization, and employment. The President is required to consider the USITC’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.

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’s withdrawal determination at the CIT and persuaded the Court to enjoin USTR’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’s further review, the exclusion could be terminated as soon as May 18, 2020.

111

European Antidumping and Anti-Subsidy Investigations

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.

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.

Canadian Antidumping and Countervailing Duties Expiry Review

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 “cooperative exporter” 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’s finding expires on July 2, 2020.

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.

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.

Dividend Policy

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.

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.

112

B.    Significant Changes

We have not experienced any significant changes since the date of our audited consolidated financial statements included in this annual report.

ITEM 9.  THE OFFER AND LISTING

A.    Offering and Listing Details

Not applicable.

B.    Plan of Distribution

Not applicable.

C.    Markets

Our common shares have been listed on the Nasdaq since November 9, 2006 under the symbol “CSIQ.”

D.    Selling Shareholders

Not applicable.

E.    Dilution

Not applicable.

F.    Expenses of the Issue

Not applicable.

ITEM 10.  ADDITIONAL INFORMATION

A.    Share Capital

Not applicable.

B.    Memorandum and Articles of Association

We incorporate by reference into this annual report the description of our Amended Articles of Continuance, as amended, contained in our F-1 registration statement (File No. 333-138144), as amended, initially filed with the SEC on October 23, 2006.

C.    Material Contracts

We have not entered into any material contracts other than in the ordinary course of business and other than those described in “Item 4. Information on the Company” or elsewhere in this annual report on Form 20-F.

D.    Exchange Controls

See “Item 4. Information on the Company—B. Business Overview—Government Regulations—Foreign Currency Exchange” and “Item 4. Information on the Company—B. Business Overview—Government Regulations—Dividend Distribution.”

113

E.    Taxation

Principal Canadian Federal Tax Considerations

General

The following is a summary of the principal Canadian federal income tax implications generally applicable to a U.S. 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 Act (Canada), or the Canadian Tax Act, (i) is the beneficial owner of such Common Shares; (ii) has not been, is not and will not be resident (or deemed to be resident) in Canada at any time while such U.S. Holder has held or holds the Common Shares; (iii) holds the Common Shares as capital property; (iv) deals at arm’s length with and is not affiliated with us; (v) 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) 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 212.3 of the Canadian Tax Act to apply; (vii) is not a “specified shareholder” of us as defined subsection 18(5) of the Canadian Tax Act; (viii) is not a financial institution, specified financial institution, partnership or trust as defined in the Canadian Tax Act; (ix) is a resident of the United States for purposes of the Canada—United States Income Tax Convention (1980), or the Convention, and is fully entitled to the benefits of the Convention; and (x) 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. Holder has held or holds the Common Shares, or a U.S. Holder. Special rules that are not addressed in this summary may apply to a U.S. 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 Act and such U.S. Holders should consult their own tax advisers.

This summary assumes that we are a resident of Canada for the purposes of the Canadian Tax Act. Should it be determined that we are not a resident of Canada for the purposes of the Canadian Tax 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. Holder will differ from those described herein and U.S. Holders should consult their own tax advisors.

This summary is based on the current provisions of the Canadian Tax Act, and the regulations thereunder, the Convention, and our counsel’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 20-F. This summary takes into account all specific proposals to amend the Canadian Tax 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 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. 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.

The Canadian federal income tax consequences of purchasing, owning and disposing of Common Shares will depend on each U.S. Holder’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. Holder or prospective purchaser of Common Shares. Accordingly, U.S. 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.

114

Dividends

Amounts paid or credited, or deemed under the Canadian Tax Act to be paid or credited, on account or in lieu of payment of, or in satisfaction of, dividends to a U.S. 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. 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 paid.

Disposition of Our Common Shares

A U.S. Holder will not be subject to income tax under the Canadian Tax 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 “taxable Canadian property” of the U.S. Holder for the purposes of the Canadian Tax Act and the U.S. Holder is not otherwise entitled to an exemption under the Convention.

Generally, a Common Share owned by a U.S. Holder will not be taxable Canadian property of the U.S. 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 month period:

the U.S. Holder and persons with whom the U.S. Holder does not deal at arm’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, and
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; or
the Common Shares are otherwise deemed under the Canadian Tax Act to be taxable Canadian property.

U.S. Holders for whom the Common Shares are, or may be, taxable Canadian property should consult their own tax advisors.

Canada—United States Income Tax Convention

The Convention includes a complex limitation on benefits provision. U.S. Holders are urged to consult their own tax advisors to determine their entitlement to benefits under the Convention.

United States Federal Income Taxation

The following discussion describes the material United States federal income tax consequences to a United States Holder (as 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 States as of the date of this annual report on Form 20-F, including the United 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 States Internal Revenue Service, or IRS, and other applicable authorities, all as of the date of this annual report on Form 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 States.

115

This discussion applies only to a United States Holder (as defined below) that holds common shares as capital assets for United 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 as:

banks and certain other financial institutions;
insurance companies;
regulated investment companies;
real estate investment trusts;
brokers or dealers in stocks and securities, or currencies;
persons who use or are required to use a mark-to-market method of accounting;
certain former citizens or residents of the United States subject to Section 877 of the Code;
entities subject to the United States anti-inversion rules;
tax-exempt organizations and entities;
persons subject to the alternative minimum tax provisions of the Code;
persons whose functional currency is other than the United States dollar;
persons holding common shares as part of a straddle, hedging, conversion or integrated transaction;
persons that actually or constructively own common shares representing 10% or more of our voting power or value;
persons who acquired common shares pursuant to the exercise of an employee stock option or otherwise as compensation;
partnerships or other pass-through entities, or persons holding common shares through such entities;
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; or
persons that held, directly, indirectly or by attribution, common shares or other ownership interest in us prior to our initial public offering.

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.

If a partnership (including an entity or arrangement treated as a partnership for United 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 shares.

116

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 TREATY.

For purposes of the discussion below, a “United States Holder” is a beneficial owner of the common shares that is, for United States federal income tax purposes:

an individual who is a citizen or resident of the United States;
a corporation (or other entity treated as a corporation for United States federal income tax purposes) created or organized in or under the laws of the United States, any state thereof or the District of Columbia;
an estate, the income of which is subject to United States federal income taxation regardless of its source; or
a trust, if (i) a court within the United States is able to exercise primary jurisdiction over its administration and one or more United States persons have the authority to control all of its substantial decisions or (ii) 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 trust.

Dividends and Other Distributions on the Common Shares

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 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 States federal income tax principles, any distribution paid generally will be reported as a “dividend” for United States federal income tax purposes. Such dividends will not be eligible for the dividends-received deduction allowed to qualifying corporations under the Code.

Dividends received by a non-corporate United States Holder may qualify for the lower rates of tax applicable to “qualified dividend income,” if the dividends are paid by a “qualified foreign corporation” and other conditions discussed below are met. A non-United States corporation is treated as a qualified foreign corporation (a) with respect to dividends paid by that corporation on shares that are readily tradable on an established securities market in the United States or (b) if such non-United States corporation is eligible for the benefits of a qualifying income tax treaty with the United 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 year.

Under a published IRS Notice, common shares are considered to be readily tradable on an established securities market in the United 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 States and Canada, or, if we are treated as a PRC resident enterprise under the PRC tax law (see “—People’s Republic of China Taxation”) then we may be eligible for the benefits of the income tax treaty between the United 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 taxation.

117

Even if dividends would be treated as paid by a qualified foreign corporation, a non-corporate United States Holder will not be eligible for reduced rates of taxation if it does not hold our common shares for more than 60 days during the 121-day period beginning 60 days before the ex-dividend date or if the United States Holder elects to treat the dividend income as “investment income” pursuant to Section 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 States Holder receiving the dividend is obligated to make related payments with respect to positions in substantially similar or related property.

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 20-F.

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 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 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.

The amount of any dividend paid in currency other than the United States dollar will be the dividend’s United 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 States dollars. A United States Holder may have foreign currency gain or loss, which will be ordinary gain or loss, if any dividend is converted into United States dollars after the date of receipt.

Disposition of the Common Shares

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 “—Passive Foreign Investment Company” below, such gain or loss generally will be capital gain or loss. Capital gains of a non-corporate United 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 limitations.

Any gain or loss that you recognize on a disposition of the common shares generally will be treated as United 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 “—People’s Republic of China Taxation”) then a United States Holder that is eligible for the benefits of the income tax treaty between the United 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 “basket” 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.

118

A United States Holder that receives currency other than the United States dollar upon the sale or other disposition of common shares will realize an amount equal to the United 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 States Holder is not able to treat the settlement date as the realization date, the United States Holder will recognize currency gain or loss if the United States dollar value of the currency received on the settlement date differs from the amount realized. A United States Holder will have a tax basis in the currency received equal to the United States dollar amount at the spot rate on the settlement date. Generally, any gain or loss realized by a United States Holder on a subsequent conversion or disposition of such currency will be United States source ordinary income or loss.

Passive Foreign Investment Company

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 our current taxable year ending December 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 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 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.

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:

at least 75% of its gross income for such year is passive income; or
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 income.

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 years.

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.

119

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 “deemed sale” 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 “excess distribution” 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 you.

If we are a PFIC for any taxable year during which you hold common shares, then, unless you make a “mark-to-market” election (as discussed below), you generally will be subject to special and adverse tax rules with respect to any “excess distribution” 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 rules:

the excess distribution or recognized gain will be allocated ratably over your holding period for the common shares;
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; and
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 tax.

If we are a PFIC for any taxable year during which you hold common shares and any of our non-United 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 value) of the shares of each such non-United 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 PFICs.

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 “marketable stock.” 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 regard.

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 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 States Holder’s indirect interest in any investments held by us that are treated as an equity interest in a PFIC for United States federal income tax purposes.

120

In certain circumstances, a shareholder in a PFIC may avoid the adverse tax and interest-charge regime described above by making a “qualified electing fund” election to include in income its share of the corporation’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 election.

A United 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 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.

Information Reporting and Backup Withholding

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 States (and in certain cases, outside the United States), unless you furnish a correct taxpayer identification number and make any other required certification, generally on IRS Form W-9 or 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 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 manner.

United States Holders should consult their tax advisors regarding the application of the information reporting and backup withholding rules.

Information with Respect to Foreign Financial Assets

United States Holders who are individuals (and 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 “specified foreign financial assets” (as defined in the Code) does not exceed $50,000.

United States Holders should consult their tax advisors regarding the application of these information reporting rules.

121

People’s Republic of China Taxation

Under the EIT Law, which took effect as of January 1, 2008 and amended on February 24, 2017 and December 29, 2018, enterprises established under the laws of non-PRC jurisdictions but whose “de facto management body” is located in China are considered “resident enterprises” for PRC tax purposes. Under the implementation regulations issued by the State Council relating to the EIT Law, “de facto management bodies” 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 82, further provides certain specific criteria for determining whether the “de facto management body” of a PRC-controlled offshore incorporated enterprise is located in the PRC. The criteria include whether (a) 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) decisions relating to the enterprise’s financial and human resource matters are made or subject to approval by organizations or personnel in the PRC, (c) the enterprise’s primary assets, accounting books and records, company seals, and board and shareholders’ meeting minutes are located or maintained in the PRC and (d) 50% or more of voting board members or senior executives of the enterprise habitually reside in the PRC. Although the Circular 82 only applies to offshore enterprises controlled by enterprises or enterprise group located within the PRC, the determining criteria set forth in the Circular 82 may reflect the tax authorities’ general position on how the “de facto management body” 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 “de facto management body” as applicable to us.

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’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 treaty.

The implementation regulations of the EIT Law provide that (a) if the enterprise that distributes dividends is domiciled in the PRC, or (b) 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 “domiciled” 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 resident.

As a result, if we are considered a PRC “resident enterprise” 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.

122

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.

F.    Dividends and Paying Agents

Not applicable.

G.    Statement by Experts

Not applicable.

H.    Documents on Display

We previously filed with the SEC our registration statements on Form F-1 (File Number 333-138144), initially filed on October 23, 2006, and registration statements on Form F-3 (File Number 333-208828), initially filed on January 4, 2016.

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 20-F within four months after the end of each fiscal year for fiscal years ending on or after December 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 F Street, N.E., Room 1580, Washington, D.C. 20549. The public may obtain information regarding the Washington, 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 16 of the Exchange Act.

Our financial statements have been prepared in accordance with U.S. GAAP.

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. GAAP.

I.    Subsidiary Information

For a listing of our major subsidiaries, see “Item 4. Information on the Company—C. Organizational Structure.”

123

ITEM 11.  QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

Foreign Exchange Risk

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.

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.

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.

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.

As we continue to expand our business into new markets, particularly emerging markets, our total foreign currency exchange risk could increase significantly.

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.

Interest Rate Risk

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.

124

ITEM 12.  DESCRIPTION OF SECURITIES OTHER THAN EQUITY SECURITIES

Not applicable.

PART II

ITEM 13.  DEFAULTS, DIVIDEND ARREARAGES AND DELINQUENCIES

None of these events occurred in any of the years ended December 31, 2017, 2018 and 2019.

ITEM 14.  MATERIAL MODIFICATIONS TO THE RIGHTS OF SECURITY HOLDERS AND USE OF PROCEEDS

A.-D. Material Modifications to the Rights of Security Holders

See “Item 10. Additional Information—B. Memorandum and Articles of Association” for a description of the rights of shareholders, which remain unchanged.

E.    Use of Proceeds

Not applicable.

ITEM 15.  CONTROLS AND PROCEDURES

Disclosure Controls and Procedures

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 defined in Rule 13a-15(e) under the Exchange Act) as of the end of the period covered by this report, as required by Rule 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’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.

Management’s Annual Report on Internal Control over Financial Reporting

Our management is responsible for establishing and maintaining adequate internal control over financial reporting, as such item is defined in Rules 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) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of a company’s assets; (b) 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’s receipts and expenditures are being made only in accordance with authorizations of a company’s management and directors; and (c) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of a company’s assets that could have a material effect on the consolidated financial statements.

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.

125

As required by Section 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.

Deloitte Touche Tohmatsu Certified Public Accountants 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.

Report of the Independent Registered Public Accounting Firm

To the shareholders and the Board of Directors of Canadian Solar Inc.

Opinion on Internal Control over Financial Reporting

We have audited the internal control over financial reporting of Canadian Solar Inc. and subsidiaries (the “Company”) as of December 31, 2019, based on criteria established in Internal Control—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—Integrated Framework (2013) issued by COSO.

We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the consolidated financial statements as of and for the year ended December 31, 2019, of the Company and our report dated April 28, 2020, expressed an unqualified opinion on those financial statements.

Basis for Opinion

The Company’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’s Annual Report on Internal Control over Financial Reporting. Our responsibility is to express an opinion on the Company’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. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

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 opinion.

126

Definition and Limitations of Internal Control over Financial Reporting

A company’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’s internal control over financial reporting includes those policies and procedures that (1) 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) 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) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.

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.

  

/s/ Deloitte Touche Tohmatsu Certified Public Accountants LLP

Shanghai, China

April 28, 2020

Changes in Internal Controls

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 20-F.

ITEM 16A.  AUDIT COMMITTEE FINANCIAL EXPERT

Our board of directors has determined that Arthur (Lap Tat) Wong qualifies as an “audit committee financial expert” as defined in Item 16A of Form 20-F. Each of the members of the audit committee is an “independent director” as defined in the Nasdaq Marketplace Rules.

ITEM 16B.  CODE OF ETHICS

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’s written request.

127

ITEM 16C.  PRINCIPAL ACCOUNTANT FEES AND SERVICES

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 LLP, our principal external auditors, for the periods indicated. We did not pay any other fees to our auditors during the periods indicated below.

 

For the Years Ended

 

December 31,

    

2018

    

2019

Audit fees(1)

$

1,770,000

$

1,830,000

Audit related fees(2)

$

603,544

$

512,862

Tax fees(3)

$

44,954

$

116,132

All other fees(4)

$

216,723

$

544,709

(1)“Audit fees” means the aggregate fees billed for professional services rendered by our principal auditors for the annual audit of our consolidated financial statements.
(2)“Audit related fees” 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, “Audit related fees” included approximately $0.6 million for the statutory audits of our subsidiary companies. In 2019, "Audit related fees" included approximately $0.5 million for the statutory audits of our subsidiary companies.
(3)“Tax fees” of 2018 and 2019 were for services rendered by our principal accountants for tax compliance, tax advice and tax planning.
(4)“All other fees”, refers to the consulting service for business optimization services.

The policy of our audit committee is to pre-approve all audit and non-audit services provided by Deloitte Touche Tohmatsu Certified Public Accountants LLP, including audit services, audit-related services, tax services and other services as described above, other than those for de minimis 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.

ITEM 16D.  EXEMPTIONS FROM THE LISTING STANDARDS FOR AUDIT COMMITTEES

Not applicable.

ITEM 16E.  PURCHASES OF EQUITY SECURITIES BY THE ISSUER AND AFFILIATED PURCHASERS

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.

128

The following table sets forth information about our purchase of outstanding treasury stocks from December 9, 2019 to the date of this annual report:

    

    

    

(d) Maximum

 

 

 

Approximate

 

 

 

Dollar Value of

 

 

(c) Total Number of

 

Treasury Stocks

(a) Total

(b) Average

Treasury Stocks

 

That May Yet Be

Number of

Price Paid

Purchased as Part of

 

Purchased Under

Treasury Stocks

Per Treasury

Publicly Announced

 

the Plans or

Period

Purchased

Stocks

Plans or Programs

 

Program

 

$

 

US$ in thousands

December 2019

 

609,516

19.43

609,516

 

138,154

January 2020

 

91,424

21.88

91,424

 

136,154

March 2020

 

289,906

13.67

289,906

 

132,191

Total

 

 990,846

17.97

 990,846

 

132,191

ITEM 16F.  CHANGE IN REGISTRANT’S CERTIFYING ACCOUNTANT

Not applicable.

ITEM 16G.  CORPORATE GOVERNANCE

None.

ITEM 16H.  MINE SAFETY DISCLOSURE

Not applicable.

PART III

ITEM 17.  FINANCIAL STATEMENTS

We have elected to provide financial statements pursuant to Item 18.

ITEM 18.  FINANCIAL STATEMENTS

The consolidated financial statements of Canadian Solar Inc. are included at the end of this annual report.

129

ITEM 19.  EXHIBITS

Exhibit
Number

    

Description of Document

1.1

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)

2.1

Registrant’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)

2.2*

Description of Securities of the Registrant’s Securities Registered Pursuant to Section 12 of the Securities Exchange Act of 1934

4.1

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)

4.2

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)

4.3

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)

4.4

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)

8.1*

List of Major Subsidiaries

12.1*

CEO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

12.2*

CFO Certification Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

13.1**

CEO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

13.2**

CFO Certification Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

15.1*

Consent of Deloitte Touche Tohmatsu Certified Public Accountants LLP

101*

Financial information from registrant for the year ended December 31, 2019 formatted in eXtensible Business Reporting Language (XBRL):

(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—Financial Statements Schedule I

104*

Cover Page Interactive Data File (embedded within the Inline XBRL document)

*

Filed herewith.

**

Furnished herewith.

130

SIGNATURES

The registrant hereby certifies that it meets all of the requirements for filing on Form 20-F and that it has duly caused and authorized the undersigned to sign this annual report on its behalf.

CANADIAN SOLAR INC.

By:

/s/ Shawn (Xiaohua) Qu

Name: Shawn (Xiaohua) Qu

Title: Chairman, President and

          Chief Executive Officer

By:

/s/ Huifeng Chang

Name: Huifeng Chang

Title: Senior Vice President and

          Chief Financial Officer

Date: April 28, 2020

131

REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

To the Board of Directors and Shareholders of Canadian Solar Inc.

Opinion on the Financial Statements

We have audited the accompanying consolidated balance sheets of Canadian Solar Inc. and subsidiaries (the “Company”) as of December 31, 2019 and 2018, the related consolidated statements of operations, comprehensive income, changes in shareholders’ 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 I (collectively referred to as the “financial statements”). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 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 States of America.

We have also audited, in accordance with the standards of the Public Company Accounting Oversight Board (United States) (PCAOB), the Company’s internal control over financial reporting as of December 31, 2019, based on criteria established in Internal Control — Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission and our report dated April 28, 2020, expressed an unqualified opinion on the Company’s internal control over financial reporting.

Basis for Opinion

These financial statements are the responsibility of the Company’s management. Our responsibility is to express an opinion on the Company’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. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

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 opinion.

Critical Audit Matter

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.

F-2

Revenue Recognition -sales of solar power projects - Refer to Note 2 (w) to the financial statements

Critical Audit Matter Description

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 "project companies". 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.

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 ("ASC") 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’s conclusion of the aforementioned judgmental areas.

How the Critical Audit Matter Was Addressed in the Audit

Our audit procedures related to management's conclusion of de-recognition of the project companies, identification of performance obligations and estimation of variable consideration included the following, among others:

We tested the effectiveness of controls over revenue recognition for sales of solar power projects, including management's controls over the conclusion with respect to de-recognition of the project companies, identification of performance obligations and estimation of variable consideration.

We selected a sample of solar power project sales and performed the following:

oEvaluated whether the fact pattern within the contracts and other relevant documents were properly included in management’s assessment in accordance with ASC 810-10.
oEvaluated management'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.
oTested the mathematical accuracy of management's calculation of revenue for each performance obligation that can be recognized in a given period.

/s/ Deloitte Touche Tohmatsu Certified Public Accountants LLP

Shanghai China

April 28, 2020

We have served as the Company’s auditor since 2006.

F-3

CANADIAN SOLAR INC.

CONSOLIDATED BALANCE SHEETS

December 31, 

December 31, 

    

2018

    

2019

(In Thousands of U.S. Dollars,

except share data)

ASSETS

(Including balances in variable interest entities, see Note 10)

Current assets:

Cash and cash equivalents

 

444,298

 

668,770

Restricted cash

 

480,976

 

526,723

Accounts receivable trade, net of allowance of $32,733 and $29,545 as of December 31, 2018 and 2019, respectively

 

498,231

 

436,815

Accounts receivable, unbilled

 

38

 

15,256

Amounts due from related parties

 

16,740

 

31,232

Inventories

 

262,022

 

554,070

Value added tax recoverable

 

107,222

 

108,920

Advances to suppliers, net of allowance of $5,702 and $7,222 as of December 31, 2018 and 2019, respectively

 

37,011

 

47,978

Derivative assets

 

4,761

 

5,547

Project assets

 

933,563

 

604,083

Prepaid expenses and other current assets

 

289,459

 

253,542

Total current assets

 

3,074,321

 

3,252,936

Restricted cash

15,716

9,927

Property, plant and equipment, net

 

884,986

 

1,046,035

Solar power systems, net

54,898

52,957

Deferred tax assets, net

 

121,087

 

153,963

Advances to suppliers, net of allowance of $15,224 and $13,059 as of December 31, 2018 and 2019, respectively

 

48,908

 

40,897

Prepaid land use rights

 

65,718

 

60,836

Investments in affiliates

 

126,095

 

152,828

Intangible assets, net

 

14,903

 

22,791

Goodwill

1,005

Derivative assets

3,216

Project assets

 

352,200

 

483,051

Right-of-use assets

37,733

Other non-current assets

 

129,605

 

153,253

TOTAL ASSETS

 

4,892,658

 

5,467,207

LIABILITIES AND EQUITY

(Including balances in variable interest entities, see Note 10)

Current liabilities:

Short-term borrowings, including long-term borrowings - current portion

 

1,027,927

 

933,120

Long-term borrowings on project assets — current

265,770

286,173

Accounts payable

 

379,462

 

585,601

Short-term notes payable

 

369,722

 

544,991

Amounts due to related parties

 

16,847

 

10,077

Other payables

 

408,013

 

446,454

Convertible notes

127,428

Advances from customers

 

39,024

 

134,806

Derivative liabilities

 

13,698

 

10,481

Operating lease liabilities

18,767

Tax equity liabilities

158,496

Other current liabilities

 

141,970

 

121,527

Total current liabilities

 

2,948,357

 

3,091,997

Accrued warranty costs

 

50,605

 

55,878

Long-term borrowings

 

393,614

 

619,477

Amounts due to related parties

568

Derivative liabilities

1,841

Liability for uncertain tax positions

 

20,128

 

15,353

Deferred tax liabilities

 

35,698

 

56,463

Loss contingency accruals

 

24,608

 

28,513

Operating lease liabilities

20,718

Financing liabilities

77,835

76,575

Other non-current liabilities

68,400

75,334

TOTAL LIABILITIES

 

3,619,813

 

4,042,149

Commitments and contingencies (Note 21)

Equity:

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

 

702,931

 

703,806

Treasury stock, at cost, nil and 609,516 common shares as of December 31, 2018 and 2019, respectively

(11,845)

Additional paid-in capital

 

10,675

 

17,179

Retained earnings

 

622,016

 

793,601

Accumulated other comprehensive loss

 

(110,149)

 

(109,607)

Total Canadian Solar Inc. shareholders’ equity

 

1,225,473

 

1,393,134

Non-controlling interests in subsidiaries

 

47,372

 

31,924

TOTAL EQUITY

 

1,272,845

 

1,425,058

TOTAL LIABILITIES AND EQUITY

 

4,892,658

 

5,467,207

See notes to consolidated financial statements.

F-4

CANADIAN SOLAR INC.

CONSOLIDATED STATEMENTS OF OPERATIONS

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars, except share
and per share data)

Net revenues:

—Non-related parties

 

3,221,928

 

3,624,687

 

3,101,113

—Related parties

 

168,465

 

119,825

 

99,470

Total net revenues

 

3,390,393

 

3,744,512

 

3,200,583

Cost of revenues:

—Non-related parties

 

2,641,583

 

2,894,611

 

2,424,476

—Related parties

 

111,212

 

74,819

 

57,610

Total cost of revenues

 

2,752,795

 

2,969,430

 

2,482,086

Gross profit

 

637,598

 

775,082

 

718,497

Operating expenses:

Selling expenses

 

156,032

 

165,402

 

180,326

General and administrative expenses

 

230,998

 

245,376

 

242,783

Research and development expenses

 

28,777

 

44,193

 

47,045

Other operating income, net

(47,554)

(44,546)

(10,536)

Total operating expenses, net

 

368,253

 

410,425

 

459,618

Income from operations

 

269,345

 

364,657

 

258,879

Other income (expenses):

Interest expense

 

(117,971)

 

(106,032)

 

(81,326)

Interest income

 

10,477

 

11,207

 

12,039

Loss on change in fair value of derivatives, net

 

(272)

 

(19,230)

 

(22,218)

Foreign exchange gain (loss)

 

(23,449)

 

6,529

 

10,370

Investment income (loss)

 

(3,607)

 

41,361

 

1,929

Other expenses, net

 

(134,822)

 

(66,165)

 

(79,206)

Income before income taxes and equity in earnings of unconsolidated investees

 

134,523

 

298,492

 

179,673

Income tax expense

 

(40,951)

 

(61,969)

 

(42,066)

Equity in earnings of unconsolidated investees

 

9,411

 

5,908

 

28,948

Net income

 

102,983

 

242,431

 

166,555

Less: net income (loss) attributable to non-controlling interests

 

3,411

 

5,361

 

(5,030)

Net income attributable to Canadian Solar Inc.

 

99,572

 

237,070

 

171,585

Earnings per share — basic

$

1.71

$

4.02

$

2.88

Shares used in computation — basic

 

58,167,004

 

58,914,540

 

59,633,855

Earnings per share — diluted

$

1.69

$

3.88

$

2.83

Shares used in computation — diluted

 

61,548,158

 

62,291,670

 

60,777,696

See notes to consolidated financial statements.

F-5

CANADIAN SOLAR INC.

CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Net income

102,983

242,431

166,555

Other comprehensive income (loss) (net of tax of nil):

Foreign currency translation adjustment

 

39,305

 

(50,577)

 

319

Gain (loss) on commodity hedge

(1,844)

953

Gain (loss) on interest rate swap

(246)

5,141

(5,847)

De-recognition of commodity hedge and interest rate swap

(8,752)

Comprehensive income

 

140,198

 

189,196

 

161,027

Less: comprehensive income (loss) attributable to non-controlling interests

 

2,846

 

8,241

 

(11,100)

Comprehensive income attributable to Canadian Solar Inc.

 

137,352

 

180,955

 

172,127

See notes to consolidated financial statements.

F-6

CANADIAN SOLAR INC.

CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY

Accumulated

Earnings

Additional

Other

Attributable to

Non-

Common

Treasury

Paid-in

Retained

Comprehensive

Canadian

Controlling

Total

Shares

Stock

Capital

Earnings

Income (loss)

Solar Inc.

Interests

Equity

   

Number

   

$

   

Number

   

$

   

$

   

$

   

$

   

$

   

$

   

$

(In Thousands of U.S. Dollars, except share data)

Balance at January 1, 2017

 

57,830,149

701,283

(8,897)

284,109

(91,814)

884,681

14,709

899,390

Net income

99,572

99,572

3,411

102,983

Foreign currency translation adjustment

39,870

39,870

(565)

39,305

Acquisition of subsidiaries

9,994

9,994

Share-based compensation

9,314

9,314

9,314

Exercise of share options

666,536

879

879

879

Fair value change on derivatives

(2,090)

(2,090)

(2,090)

Balance at December 31, 2017

 

58,496,685

702,162

417

383,681

(54,034)

1,032,226

27,549

1,059,775

Net income

 

237,070

237,070

5,361

242,431

Foreign currency translation adjustment

 

(53,457)

(53,457)

2,880

(50,577)

Cumulative-effect adjustment for the adoption of ASU 2014-09

1,265

1,265

1,265

Acquisition of subsidiaries

7,703

7,703

Acquisition non-controlling interest’s ownership

(6,591)

(6,591)

Transfer of equity interest in subsidiaries to non-controlling shareholders

10,470

10,470

Share-based compensation

 

10,258

10,258

10,258

Exercise of share options

 

683,939

769

769

769

De-recognition of derivatives

(8,752)

(8,752)

(8,752)

Fair value change on derivatives

6,094

6,094

6,094

Balance at December 31, 2018

59,180,624

702,931

10,675

622,016

(110,149)

1,225,473

47,372

1,272,845

Net income (loss)

171,585

171,585

(5,030)

166,555

Foreign currency translation adjustment

6,389

6,389

(6,070)

319

Acquisition non-controlling interest’s ownership

(4,178)

(4,178)

(9,998)

(14,176)

Repurchase of treasury stock(1)

(609,516)

609,516

(11,845)

(11,845)

(11,845)

Share-based compensation

10,682

10,682

10,682

Exercise of share options

800,576

875

875

875

Proceeds from non-controlling interests

5,650

5,650

Fair value change on derivatives

(5,847)

(5,847)

(5,847)

Balance at December 31, 2019

 

59,371,684

703,806

609,516

(11,845)

17,179

793,601

(109,607)

1,393,134

31,924

1,425,058

(1)   Following the share repurchase plan authorized by the Board Directors on December 9, 2019, the Company repurchased 609,516 outstanding shares with total costs of $11,845 in December 2019.

See notes to consolidated financial statements.

F-7

CANADIAN SOLAR INC.

CONSOLIDATED STATEMENTS OF CASH FLOWS

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Operating activities:

Net income

 

102,983

 

242,431

 

166,555

Adjustments to reconcile net income to net cash provided by operating activities:

Depreciation and amortization

 

99,273

 

129,256

 

159,723

Loss on disposal of property, plant and equipment

 

13,976

 

2,565

 

1,227

Gain on disposal of solar power systems

(27,803)

(36,098)

(1,666)

Gain on disposal of investment in affiliates

(47,102)

(1,928)

Impairment loss of property, plant and equipment

 

11,626

 

30,968

 

21,866

Impairment loss of project assets

 

 

9,016

 

20,194

Impairment loss of investment

3,686

5,738

Loss on change in fair value of derivatives, net

 

272

 

19,230

 

22,218

Equity in earnings of unconsolidated investees

 

(9,411)

 

(5,908)

 

(28,948)

Allowance for doubtful accounts

 

7,265

 

2,812

 

1,250

Non-cash operating lease expenses

14,318

Write-down of inventories

 

17,820

 

14,646

 

19,447

Share-based compensation

 

9,314

10,258

10,682

Unrealized gain (loss) from sales to affiliates

13,065

(13,573)

6,194

Changes in operating assets and liabilities:

Accounts receivable trade

 

46,337

 

(179,607)

 

51,670

Accounts receivable, unbilled

 

2,345

 

1,158

 

(15,268)

Amounts due from related parties

 

(10,089)

 

9,237

 

(17,347)

Inventories

 

(49,024)

 

55,408

 

(312,781)

Value added tax recoverable

 

(38,190)

 

(9,206)

 

(849)

Advances to suppliers

 

(15,990)

 

29,001

 

(27,066)

Project assets

 

(128,982)

 

(30,501)

 

28,527

Prepaid expenses and other current assets

 

(49,813)

 

(2,208)

 

33,283

Other non-current assets

 

(23,795)

 

9,387

 

(24,037)

Accounts payable

 

(27,758)

 

47,756

 

209,175

Short-term notes payable

 

243,685

 

(173,148)

 

185,827

Amounts due to related parties

 

33,908

 

10,467

 

(5,798)

Other payables

 

(5,889)

 

39,791

 

42,810

Advances from customers

 

(44,985)

 

(11,225)

 

96,115

Operating lease liabilities

(12,566)

Other liabilities

 

(18,774)

 

(29,691)

 

(10,851)

Accrued warranty costs

 

(6,726)

 

(3,563)

 

4,624

Prepaid land use rights

 

(30,087)

6,557

2,622

Goodwill

1,369

5,243

1,005

Liability for uncertain tax positions

 

833

 

10,863

 

(4,775)

Deferred taxes

 

84,939

 

37,591

 

(12,455)

Net settlement of derivatives

 

(1,460)

 

28,731

 

(27,012)

Loss contingency accruals

4,126

Net cash provided by operating activities

 

203,920

 

216,280

 

600,111

See notes to consolidated financial statements.

F-8

CANADIAN SOLAR INC.

CONSOLIDATED STATEMENTS OF CASH FLOWS - (Continued)

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Investing activities:

Investments in affiliates

 

(92,925)

 

(11,036)

 

(7,684)

Return of investment from affiliates

 

4,233

 

816

 

3,012

Proceeds from disposal of investment in affiliates

337,773

1,649

Purchase of property, plant and equipment and intangible assets

 

(276,978)

 

(316,282)

 

(291,182)

Purchase of solar power systems

(33,697)

Proceeds from disposal of solar power systems

128,768

17,800

103

Proceeds from insurance claim

43,930

Acquisition of subsidiaries, net of cash paid

(12,561)

Net cash provided by (used in) investing activities

 

(239,230)

 

29,071

 

(294,102)

Financing activities:

Proceeds from short-term borrowings

 

1,646,910

 

1,430,708

 

1,257,009

Repayment of short-term borrowings

 

(2,068,069)

 

(2,368,967)

 

(1,649,721)

Proceeds from long-term borrowings

 

690,841

 

382,831

 

530,990

Acquisition of non-controlling interests

 

 

(6,591)

 

(14,176)

Proceeds from non-controlling interests

10,470

11,488

Proceeds from third party financing liabilities

12,243

119,095

3,000

Proceeds from sales-leaseback arrangement

61,142

35,944

9,044

Distributions to tax equity investors

(9,582)

(3,013)

(1,120)

Repayment of finance lease obligation

 

(30,128)

 

(64,859)

 

(42,658)

Repayment of short-term commercial paper

(138,953)

Payments for repurchase of convertible notes

(127,500)

Proceeds from exercise of stock options

 

879

 

769

 

875

Payments for repurchase of treasury stock

(11,845)

Net cash provided by (used in) financing activities

 

165,283

 

(463,613)

 

(34,614)

Effect of exchange rate changes

 

51,342

 

(38,725)

 

(6,965)

Net increase (decrease) in cash, cash equivalents and restricted cash

 

181,315

 

(256,987)

 

264,430

Cash, cash equivalents and restricted cash at the beginning of the year

 

1,007,700

 

1,190,134

 

940,990

Less: net decrease in cash, cash equivalents and restricted cash classified within assets held-for-sale

(1,119)

(7,843)

Cash, cash equivalents and restricted cash at the end of the year

 

1,190,134

 

940,990

 

1,205,420

Supplemental disclosure of cash flow information:

Interest paid (net of amounts capitalized)

 

113,513

 

103,236

 

85,362

Income taxes paid

 

45,483

 

32,135

 

40,454

Supplemental schedule of non-cash activities:

Reclassification of solar power systems to project assets

4,782

Property, plant and equipment costs included in other payables

 

153,017

 

228,970

 

244,483

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.

Years Ended December 31,

    

2018

    

2019

(In Thousands of U.S. Dollars)

Cash and cash equivalents

 

444,298

 

668,770

Restricted cash — current

 

480,976

 

526,723

Restricted cash — non-current

 

15,716

 

9,927

Total cash and cash equivalents, and restricted cash shown in the statements of cash flows

 

940,990

 

1,205,420

See notes to consolidated financial statements.

F-9

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

1. ORGANIZATION AND PRINCIPAL ACTIVITIES

Canadian Solar Inc. (“CSI”) 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.

CSI and its subsidiaries (collectively, the “Company”) 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&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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES

(a)   Basis of presentation

The consolidated financial statements of the Company have been prepared in accordance with U.S. generally accepted accounting principles (“U.S. GAAP”).

(b)   Basis of consolidation

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 (“VIEs”) for which the Company is a primary beneficiary.

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.

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.

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’s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.

F-10

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

(c)   Use of estimates

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’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 (“ARO”), 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.

(d)   Cash and cash equivalents and restricted cash

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 acquired.

Restricted cash represents amounts held by banks, which are not available for the Company’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 Company.

F-11

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(e)   Accounts receivable, unbilled

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.

(f)    Allowance for doubtful receivables

The Company began purchasing insurance from China Export & 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 expense.

(g)   Advances to suppliers

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 sheets.

(h)   Inventories

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.

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.

F-12

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(i)    Project assets

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.

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.

F-13

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

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 “project companies”. 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.

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.

(j)    Business combination

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.

F-14

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(k)   Assets acquisition

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’ carrying amounts on the Company’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.

(l)  Property, plant and equipment

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 incurred.

Depreciation is computed on a straight-line basis over the following estimated useful lives:

Buildings

    

20 years

Leasehold improvements

 

Over the shorter of the lease term or their estimated useful lives

Machinery

5-10 years

Furniture, fixtures and equipment

5 years

Motor vehicles

 

5 years

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 time.

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 changed.

F-15

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(m)   Solar power systems

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 (‘‘FIT’’) 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.

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 20 to 25 years.

(n)   Intangible assets

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:

Technical know-how

10 years

Computer software

1-10 years

(o)   Prepaid land use rights

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 (“PRC”) and Japan. Amounts are charged to earnings ratably over the lease periods of 20 to 50 years.

F-16

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(p)    Investments in affiliates

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.

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) nature of the investment; (ii) cause and duration of the impairment; (iii) extent to which fair value is less than cost; (iv) financial conditions and near term prospects of the affiliates; and (v) 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.

(q)    Impairment of long-lived assets

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’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.

F-17

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(r)    Interest capitalization

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.

(s)   Assets retirement obligation

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 (“ARO”) 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 (“ASC 410-20”). 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.

(t)   Leases

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.

F-18

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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’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’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.

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.

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.

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.

(u)   Contingencies

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 incurred.

F-19

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(v)  Income taxes

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.

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.

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.

(w)   Revenue recognition

The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.

Solar power products and materials

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’s accounting policy for warranty.

F-20

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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 million and $7.7 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.

O&M services

O&M services are transferred over time when customers receive and consume the benefits provided by the Company’s performance under the terms of service arrangements. Revenues from O&M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&M services are expensed when incurred.

EPC and development services

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’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’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’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’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.

Solar power projects

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.

F-21

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

Electricity revenue

Electricity revenue is generated primarily by the Company’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.

Disaggregation of Revenue

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.

The following table represents a disaggregation of revenue recognized at a point in time or over time:

Years Ended December 31,

    

2017

    

2018

    

2019

 

(In Thousands of U.S. Dollars)

MSS:

Revenue recognized at a point in time

 

2,705,985

 

2,095,743

 

2,238,310

Revenue recognized over time

 

6,938

 

73,175

 

242,828

Energy:

Revenue recognized at a point in time

633,195

1,542,906

668,476

Revenue recognized over time

44,275

32,688

50,969

 

3,390,393

 

3,744,512

 

3,200,583

F-22

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

The Company’s contract assets and liabilities are as follow:

    

At December 31,
2018

    

At December31,
2019

    

Fluctuation

 

(In Thousands of U.S. Dollars)

 

Contract Assets

 

  

 

  

 

  

Accounts receivables, unbilled

 

38

 

15,256

 

15,218

Contract Liabilities

 

  

 

 

Advances from customers

 

39,024

 

134,806

 

95,782

Other current liabilities

 

51,381

 

20,917

 

(30,464)

 

90,405

 

155,723

 

65,318

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.

Practical Expedients and Exemptions

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.

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.

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.

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.

(x)   Shipping and handling costs

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.

F-23

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(y)    Research and development

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.

(z) Other operating income, net

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.

Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company’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.

The following table summarizes the Company’s other operating income, net:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Net gain on disposal of solar power system

(27,803)

(36,098)

(1,666)

Net loss on disposal of property, plant and equipment

1,960

2,565

1,227

Government grants

(6,473)

(11,013)

(10,097)

Business interruption insurance compensation

(15,238)

(47,554)

(44,546)

(10,536)

(aa) Warranty cost

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.

F-24

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.

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 warranties.

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’ and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company’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 products.

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’s solar 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 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 assets.

F-25

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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’s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC 410-30.

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.

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 insurance.

As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company’s 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, 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.

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.

F-26

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ab) Foreign currency translation

The United States dollars (“U.S. dollars” or “$”), the currency in which a substantial amount of the Company’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.

The financial records of certain of the Company’s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (“RMB”), Euros, Canadian dollars (“CAD”), Japanese yen and Brazilian reals (“BRL”), 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.

(ac) Comprehensive income

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) net income, (ii) foreign currency translation adjustments, (iii) 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.

(ad) Foreign currency risk

The majority of the Company’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’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.

F-27

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ae) Concentration of credit risk

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.

All of the Company's cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.

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.

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.

(af) Fair value of financial instruments

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:

Level 1—Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company’s restricted cash balance for all periods presented uses level one fair value inputs.

Level 2—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.

Level 3—Unobservable inputs reflecting the Company’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.

F-28

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ag) Derivatives instruments and hedging activity

The Company’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’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.

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’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’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.

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.

(ah) Earnings (loss) per share

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.

(ai) Share-based compensation

The Company’s share-based compensation with employees, such as share options, restricted shares and restricted share units (“RSUs”), 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 period.

F-29

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(aj) Recently issued accounting pronouncements

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, “Leases (Topic 842)—Targeted Improvements”, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.

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 “package of three”, 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.

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.

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.

In June 2016, the FASB issued ASU 2016-13, “Financial Instruments—Credit Losses (Topic 326)”, 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 “expected loss” 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.

F-30

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

In August 2018, the FASB issued ASU 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework–Changes to the Disclosure Requirements for Fair Value”. 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.

In October 2018, the FASB issued ASU 2018-17, “Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities”, 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.

In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), 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.

F-31

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

3. ALLOWANCE FOR DOUBTFUL ACCOUNTS

Allowance for doubtful accounts are comprised of allowances for accounts receivable trade, advances to suppliers and other receivables.

An analysis of allowances for accounts receivable, trade for the years ended December 31, 2017, 2018 and 2019 is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

26,119

 

32,941

 

32,733

Allowances made (reversed) during the year, net

 

5,345

 

869

 

(1,386)

Accounts written-off against allowances

 

(174)

 

(297)

 

(309)

Foreign exchange effect

 

1,651

 

(780)

 

(1,493)

Closing balance

 

32,941

 

32,733

 

29,545

An analysis of allowances for advances to suppliers for the years ended December 31, 2017, 2018 and 2019 is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

19,527

 

18,762

 

20,926

Allowances made (reversed) during the year, net

(833)

2,287

738

Accounts written-off against allowances

 

 

 

(1,452)

Foreign exchange effect

 

68

 

(123)

 

69

Closing balance

 

18,762

 

20,926

 

20,281

An analysis of allowances for other receivables for the years ended December 31, 2017, 2018 and 2019 is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

9,251

 

10,349

 

9,704

Allowances made (reversed) during the year, net

 

549

 

(175)

 

1,919

Foreign exchange effect

 

549

 

(470)

 

(192)

Closing balance

 

10,349

 

9,704

 

11,431

F-32

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

4. INVENTORIES

Inventories consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Raw materials

 

47,759

 

75,722

Work-in-process

 

46,817

 

74,105

Finished goods

 

167,446

 

404,243

 

262,022

 

554,070

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.

5. PROJECT ASSETS

Project assets consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Project assets — Acquisition cost

51,635

55,158

Project assets — EPC and other cost

1,234,128

1,031,976

1,285,763

1,087,134

Current portion

933,563

604,083

Non-current portion

352,200

483,051

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.

F-33

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

6. PROPERTY, PLANT AND EQUIPMENT, NET

Property, plant and equipment, net consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Buildings

 

441,975

 

453,712

Leasehold improvements

 

13,058

 

14,225

Machinery

 

785,874

 

1,074,460

Furniture, fixtures and equipment

 

64,135

 

64,117

Motor vehicles

 

6,100

 

6,351

Land

18,810

20,451

 

1,329,952

 

1,633,316

Accumulated depreciation

 

(489,927)

 

(598,297)

Impairment

(30,503)

 

(45,437)

Subtotal

 

809,522

 

989,582

Construction in process

 

75,464

 

56,453

Property, plant and equipment, net

 

884,986

 

1,046,035

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.

7. SOLAR POWER SYSTEMS , NET

Solar power systems, net consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Solar power systems in operation

66,641

70,449

Solar power systems under construction

4,484

4,830

Accumulated depreciation

(16,227)

(22,322)

Solar power systems, net

54,898

52,957

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.

F-34

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

8. INTANGIBLE ASSETS, NET

The following table summarizes the Company’s intangible assets:

    

Gross

    

    

Carrying

Accumulated

At December 31, 2019

Amount

Amortization

Net

$

$

$

Technical know-how

1,428

(1,425)

3

Computer software

 

38,205

(15,417)

22,788

Total intangible assets, net

 

39,633

(16,842)

22,791

    

Gross

    

    

Carrying

Accumulated

At December 31, 2018

Amount

Amortization

Net

$

$

$

Technical know-how

 

2,369

(1,458)

911

Computer software

 

25,882

(11,890)

13,992

Total intangible assets, net

 

28,251

(13,348)

14,903

Amortization expense for the years ended December 31, 2017, 2018 and 2019 were $4,659, $4,666 and $5,310, respectively.

Amortization expenses of the above intangible assets are expected to be approximately $4.4 million, $3.6 million, $3.1 million, $2.5 million and $9.2 million for the years ended December 31, 2020, 2021, 2022, 2023, 2024 and thereafter, respectively.

9. FAIR VALUE MEASUREMENT

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.

As of December 31, 2018 and 2019, the Company’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.

F-35

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

9. FAIR VALUE MEASUREMENT (Continued)

Foreign exchange option and forward contracts

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.

The Company’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 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.

Interest rate swap

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.

In 2018, the UK projects were sold and the interest rate swaps were assumed by the third party buyer.

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.

The estimated fair value of interest rate swaps was measured based on observable market data, which are considered Level 2 inputs.

F-36

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

9. FAIR VALUE MEASUREMENT (Continued)

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:

Fair Value of Derivative Assets

At December 31, 2018

At December 31, 2019

    

Balance Sheet Location

    

Fair Value

    

Balance Sheet Location

    

Fair Value

$

$

Foreign exchange forward contracts

 

Derivative assets — current

 

4,166

 

Derivative assets — current

 

5,097

Foreign exchange option contracts

Derivative assets — current

1

Derivative assets — current

450

Interest rate swap

 

Derivative assets — current

 

594

 

Derivative assets — current

 

Interest rate swap

Derivative assets — non-current

3,216

Derivative assets — non-current

Total

 

7,977

Total

5,547

Fair Value of Derivative Liabilities

At December 31, 2018

At December 31, 2019

    

Balance Sheet Location

    

Fair Value

    

Balance Sheet Location

    

Fair Value

$

$

Foreign exchange forward contracts

Derivative liabilities — current

13,480

Derivative liabilities — current

10,127

Foreign exchange option contracts

Derivative liabilities — current

218

Derivative liabilities — current

25

Interest rate swap

Derivative liabilities — current

Derivative liabilities — current

329

Interest rate swap

Derivative liabilities — non-current

Derivative liabilities — non-current

1,841

 

Total

 

13,698

 

Total

 

12,322

Amount of Gain (Loss)

Recognized in Statements

Location of

of Operations

Gain (Loss) Recognized

Years Ended December 31

    

in Statements of Operations

    

2017

    

2018

    

2019

$

$

$

Foreign exchange forward contracts

 

Gain (loss) on change in fair value of derivatives

(2,638)

 

(16,414)

 

(20,249)

Foreign exchange option contracts

Gain (loss) on change in fair value of derivatives

(2,023)

(1,022)

Warrants

Gain (loss) on change in fair value of derivatives

711

Interest rate swap

 

Gain (loss) on change in fair value of derivatives

1,655

 

(793)

 

(947)

Total

 

(272)

 

(19,230)

 

(22,218)

Other fair value measurements

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.

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.

F-37

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

9. FAIR VALUE MEASUREMENT (Continued)

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.

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.

The carrying value of the Company’s outstanding convertible notes was $127.4 million and nil as of December 31, 2018 and 2019, respectively, which approximates the fair value.

10. VARIABLE INTEREST ENTITIES

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.

As of December 31, 2018 and 2019, the carrying amounts and classifications of the consolidated VIEs’ major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company’s consolidated balance sheet are as follows:

    

At December 31,

    

At December 31,

2018

2019

$

$

Project assets

185,448

197,366

Other assets

21,836

26,102

Total assets

207,284

223,468

Short-term borrowings

9,160

139,708

Long-term borrowings

113,973

Other liabilities

59,476

66,569

Total liabilities

182,609

206,277

Net income and overall cash flow activities during the year are immaterial to the consolidated financial statements.

F-38

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

11. INVESTMENTS IN AFFILIATES

Investments in affiliates consist of the following:

At December 31,

2018

2019

    

Carrying

    

Ownership

    

Carrying

    

Ownership

Value

Percentage

Value

Percentage

$

(%)

$

(%)

RE Roserock Holdings LLC (“Roserock”)

62,767

49

83,034

49

Canadian Solar Infrastructure Fund, Inc.

23,990

14.66

19,162

14.66

Suzhou Financial Leasing Co., Ltd.

14,361

6

16,050

6

Others

 

24,977

 

21-49

 

34,582

 

15-49

Total

 

126,095

 

152,828

Tax equity transactions

In 2015, the Company, through its wholly owned subsidiary, Recurrent, entered into the following tax equity transactions:

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.

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’ federal tax benefits.

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.

Under this method, the Company recognizes its equity in earnings attributable to class B membership interests according to its proportionate share of investees’ operating cash flows. Additionally, the Company amortizes the basis difference between the cost of investment and its proportionate share of the investees’ net assets over the estimated lives of the related assets.

F-39

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

11. INVESTMENTS IN AFFILIATES (Continued)

In December 2018, the Company wrote down the class B membership interests in Roserock project to its anticipated resell value by $5.0 million.

Other investments

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.

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.

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’s financial position.

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.

12. LEASE

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.

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.

The components of lease expenses were as follows:

    

Year ended

 

December 31, 2019

 

$

Finance lease cost:

  

Amortization of right-of-use assets

18,900

Interest on lease liabilities

3,213

Operating fixed lease cost

17,619

Short-term lease cost

8,920

Total lease cost

45,916

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.

F-40

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

12. LEASE (Continued)

Other supplemental information related to leases is summarized below:

    

Year ended

 

December 31, 2019

 

$

Cash paid for amounts included in the measurement of lease liabilities

  

Operating cash flows from finance lease

(3,213)

Operating cash flows from operating lease

(15,866)

Financing cash flows from finance lease

(33,614)

Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction

7,300

Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction

18,222

    

At December 31,

 

 

2019

Weighted average of remaining operating lease term - finance leases (in years)

 

1.41

Weighted average of remaining operating lease term - operating leases (in years)

 

3.03

Weighted average of operating lease discount rate - finance lease

 

5.82

%

Weighted average of operating lease discount rate - operating lease

 

4.36

%

As of December 31, 2019, maturities of operating and finance lease liabilities up to five years were as follows:

    

Operating Lease Payment

    

Finance Lease Payment

    

Total Lease Payment

Year Ending December 31:

$

$

$

2020

18,953

27,439

46,392

2021

12,980

13,087

26,066

2022

4,666

604

5,270

2023

2,541

2,541

2024

1,077

1,077

Thereafter

1,504

1,504

Total future minimum lease payments

41,721

41,130

82,851

Less: imputed interest

2,236

2,056

4,292

NPV for future minimum lease payments

39,485

39,074

78,559

Analysis as:

  

  

  

Short-term

18,767

25,998

44,765

Long-term

20,718

13,076

33,794

Total lease liabilities

39,485

39,074

78,559

F-41

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:

    

Operating Lease Payment

    

Finance Lease Payment

    

Total Lease Payment

Year Ending December 31:

$

$

$

2019

 

18,287

 

40,945

 

59,232

2020

 

11,790

 

23,483

 

35,273

2021

 

9,379

 

11,842

 

21,221

2022

 

2,485

 

556

 

3,041

2023

 

838

 

 

838

Thereafter

 

7,743

 

 

7,743

Total future minimum lease payments

 

50,522

 

76,826

 

127,348

Less: imputed interest

 

  

 

5,024

 

5,024

NPV for future minimum lease payments

 

  

 

71,802

 

71,802

F-42

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

13. BORROWINGS

At December 31,

At December 31,

    

2018

    

2019

Analysis as:

Short-term borrowings

 

856,876

819,031

Long-term borrowings, current portion

171,051

114,089

Subtotal for short-term borrowings

1,027,927

933,120

Long-term borrowings on project assets — current (1)

265,770

286,173

Long-term borrowings

 

393,614

 

619,477

Total

 

1,687,311

 

1,838,770

(1)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.

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.

As of December 31, 2019, short-term borrowings of $708,787, long-term borrowings on project assets – 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 $579,695.

Long term borrowings newly obtained during the year ended December 31, 2019 were as follows:

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.

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.

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.

F-43

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

13. BORROWINGS (Continued)

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.

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.

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.

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.

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.

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.

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.

The newly obtained long-term borrowings disclosed above bear effective floating interest rates from 0.95% to 8.28% per annum.

F-44

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

13. BORROWINGS (Continued)

Future principal repayments on the long-term borrowings are as follows:

2020

    

400,262

2021

 

245,927

2022

 

276,675

2023

40,679

2024

 

15,158

Thereafter

41,038

Total

 

1,019,739

Less: future principal repayment related to long-term borrowings, current portion

 

(400,262)

Total long-term portion

$

619,477

Interest expenses

Average effective interest rates on borrowings are as follows:

    

At December 31,

    

At December 31,

 

2018

2019

 

Short-term borrowings

 

4.58

%  

4.86

%

Long-term borrowings on project assets – current

 

4.61

%  

3.65

%

Long-term borrowings

 

3.13

%  

5.43

%

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:

Years Ended December 31

    

2017

    

2018

    

2019

$

$

$

Interest capitalized — project assets

 

13,274

 

15,462

 

10,794

Interest capitalized — property, plant and equipment

 

1,010

 

1,182

 

2,620

Interest expense

 

117,971

 

106,032

 

81,326

Total interest incurred

 

132,255

 

122,676

 

94,740

F-45

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

14. SHORT-TERM NOTES PAYABLE

The Company enters into arrangements with banks whereby the banks issue notes to the Company’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’ 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.

15. ACCRUED WARRANTY COSTS

The Company’s warranty activity is summarized below:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

61,139

 

55,659

 

50,605

Warranty provision

 

19,793

 

13,188

 

28,044

Warranty costs incurred

 

(26,552)

 

(16,732)

 

(23,282)

Foreign exchange effect

1,279

(1,510)

511

Ending balance

 

55,659

 

50,605

 

55,878

16. RESTRICTED NET ASSETS

As stipulated by the relevant laws and regulations applicable to China’s foreign investment enterprise, the Company’s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (“PRC GAAP”) 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 reserve.

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’ 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 law.

In addition to the general reserve, the Company’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’s PRC subsidiaries are considered as restricted net assets amounting to $497.2 million as of December 31, 2019.

F-46

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

17. CONVERTIBLE NOTES

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:

Maturity date. The 2014 Notes mature on February 15, 2019.

Interest. 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.

Conversion. 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.

Redemption. The Company may redeem for cash all or any portion of the notes (i) at the Company’s option, on or after February 21, 2017, if the last reported sale price of the Company’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.

As of December 31, 2018, and 2019, the carrying value of the convertible notes was $127,428 and nil, respectively. The balance at December 31, 2018 and 2019 was net of unamortized issuance costs of $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.

In February 2019, the company repaid the entire $127.5 million outstanding balance of senior convertible notes.

F-47

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

18. INCOME TAXES

Income tax expenses

The provision for income taxes is comprised of the following:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Income before income taxes

Canada

 

(30,524)

 

10,570

 

(61,880)

United States

(33,205)

61,377

8,319

PRC including Hong Kong and Taiwan

173,266

178,050

204,632

Japan

28,164

27,555

29,335

Other

 

6,233

 

26,848

 

28,215

 

143,934

 

304,400

 

208,621

Current tax

Canada

 

346

 

(1,846)

 

(3,420)

United States

(54,482)

(14,786)

(4,803)

PRC including Hong Kong and Taiwan

(7,383)

27,285

44,622

Japan

31,266

5,325

13,229

Other

 

(8,008)

 

2,397

 

7,057

 

(38,261)

 

18,375

 

56,685

Deferred tax

Canada

 

(6,464)

 

12,117

 

(6,558)

United States

67,426

32,696

(2,412)

PRC including Hong Kong and Taiwan

23,452

2,653

(5,333)

Japan

(4,499)

(3,381)

(2,953)

Other

 

(703)

 

(491)

 

2,637

 

79,212

 

43,594

 

(14,619)

Total income tax expense

Canada

 

(6,118)

 

10,271

 

(9,978)

United States

12,944

17,910

(7,215)

PRC including Hong Kong and Taiwan

16,069

29,938

39,289

Japan

26,767

1,944

10,276

Other

 

(8,711)

 

1,906

 

9,694

 

40,951

 

61,969

 

42,066

The Company mainly operates in Canada, PRC, Japan, Germany, the United States, Hong Kong, Thailand and Vietnam.

Canada

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.

F-48

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

18. INCOME TAXES (Continued)

Canadian Solar Solutions 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.

United States

Canadian Solar (USA) 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.

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.

Japan

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.

Germany

Canadian Solar EMEA 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.

Vietnam

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.

Thailand

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.

Hong Kong

Canadian Solar International 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.

F-49

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

18. INCOME TAXES (Continued)

PRC

The other major operating subsidiaries, including CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., CSI Cells Co., Ltd., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly “CSI Solar Power (China) Inc.”) and Canadian Solar Manufacturing (Changshu) Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (“EIT Law”).

CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly “CSI Solar Power (China) Inc.”) are all subject to the enterprise income tax rate of 25% for the years ended December 31, 2017, 2018 and 2019.

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.

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:

Years Ended December 31,

 

    

2017

    

2018

    

2019

 

Combined federal and provincial income tax rate

 

27

%  

27

%  

27

%

Effect of permanent difference

(18)

%  

(11)

%

(1)

%

Effect of different tax rate on earnings in other jurisdictions

(7)

%  

%

3

%

Effect of tax holiday

(2)

%  

(1)

%

(4)

%

Unrecognized tax provision

%  

4

%

(3)

%

Change in valuation allowance

(6)

%  

7

%

(3)

%

Effect of change in tax rate

39

%  

(3)

%  

(1)

%

Others

(5)

%  

(3)

%  

2

%

28

%  

20

%  

20

%

The aggregate amount and per share effect of tax holiday are as follows:

Years Ended December 31,

    

2017

    

2018

2019

(In Thousands of

U.S. Dollars, except

per share data)

The aggregate amount

 

2,850

 

3,089

 

7,956

Per share — basic

 

0.05

 

0.05

 

0.13

Per share — diluted

 

0.05

 

0.05

 

0.13

F-50

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

18. INCOME TAXES (Continued)

Deferred tax assets and liabilities

The components of the deferred tax assets and liabilities are presented as follows:

    

At December 31,

    

At December 31,

2018

2019

$

$

Deferred tax assets:

Accrued warranty costs

 

9,424

 

8,326

Bad debt allowance

 

7,019

 

10,324

Inventory write-down

 

1,723

 

1,128

Future deductible expenses

26,973

20,731

Depreciation and impairment difference of property, plant and equipment and solar power systems

 

19,647

 

23,380

Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges

 

9,341

 

496

Deferred tax assets relating to sales of solar power systems

481

8,927

Net operating losses carry-forward

 

90,536

 

112,710

Unrealized foreign exchange loss and capital loss

9,471

7,064

Interest limitation

13,520

2,767

Others

 

13,947

 

26,415

Total deferred tax assets, gross

 

202,082

 

222,268

Valuation allowance

 

(76,522)

 

(70,627)

Total deferred tax assets, net of valuation allowance

 

125,560

 

151,641

Deferred tax liabilities:

Derivative assets

 

2,697

 

217

Depreciation difference of property, plant and equipment

 

1,212

 

18,789

Deferred profit of projects

4,108

Insurance recoverable

14,838

15,771

Unrealized foreign exchange gain

 

4,803

10,984

Others

 

12,513

 

8,380

Total deferred tax liabilities

 

40,171

 

54,141

Net deferred tax assets

85,389

97,500

Analysis as:

Deferred tax assets

121,087

153,963

Deferred tax liabilities

 

(35,698)

 

(56,463)

Net deferred tax assets

 

85,389

 

97,500

F-51

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

18. INCOME TAXES (Continued)

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’s PRC subsidiaries and affiliates are considered to be permanently reinvested, and no 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%.

Valuation allowance

Movement of the valuation allowance is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

71,469

 

65,399

 

76,522

Additions (Reversals)

 

(5,361)

 

11,051

 

(6,156)

Foreign exchange effect

 

(709)

 

72

 

261

Ending balance

 

65,399

 

76,522

 

70,627

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.

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’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 assets:

Tax planning strategies;
Future reversals of existing taxable temporary differences;
Further taxable income exclusive of reversing temporary differences and carry-forwards;

F-52

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

18. INCOME TAXES (Continued)

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.

Uncertain tax positions

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 months.

The following table illustrates the movement and balance of the Company’s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2017, 2018 and 2019, respectively.

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

5,684

 

6,181

 

15,730

Addition for tax positions related to the current year

 

1,376

 

9,806

 

11

Reductions for tax positions from prior years/Statute of limitations expirations

 

(1,094)

 

 

(5,720)

Foreign exchange effect

215

(257)

536

Ending balance

 

6,181

 

15,730

 

10,557

The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company’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.

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’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.

F-53

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

19. EARNINGS PER SHARE

The following table sets forth the computation of basic and diluted earnings per share for the years indicated:

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars, except share and

per share data)

Numerator:

Net income attributable to Canadian Solar Inc. — basic

$

99,572

$

237,070

$

171,585

Dilutive effect of interest expense of convertible notes

4,649

4,683

975

Net income attributable to Canadian Solar Inc. — diluted

$

104,221

$

241,753

$

172,560

Denominator:

Denominator for basic calculation — weighted average number of common shares — basic

 

58,167,004

 

58,914,540

 

59,633,855

Diluted effects of share number from share options and RSUs

 

547,821

 

543,797

 

794,526

Dilutive effects of share number from convertible notes

2,833,333

2,833,333

349,315

Denominator for diluted calculation — weighted average number of common shares — diluted

 

61,548,158

 

62,291,670

 

60,777,696

Basic earnings per share

$

1.71

$

4.02

$

2.88

Diluted earnings per share

$

1.69

$

3.88

$

2.83

The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.

Years Ended December 31,

    

2017

    

2018

    

2019

Share options and RSUs

372,743

 

276,618

 

41,950

F-54

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

20. RELATED PARTY BALANCES AND TRANSACTIONS

Related party balances

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’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.

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’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.

Related party transactions

Guarantees and loans

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,225, $155,956 and $82,937 respectively.

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.

Sales and purchase contracts with affiliates

In 2019, the Company sold three solar power projects to CSIF, the Company’s 14.66% owned affiliate in Japan, in the amount of JPY 5,889,000 ($53,874) recorded in revenue.

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.

In 2017, The Company sold 13 solar power projects to CSIF, the Company’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.

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.

In 2017, 2018 and 2019, the Company provided O&M service to CSIF in the amount of JPY32,119 ($285), JPY122,529 ($1,105) and JPY 223,598 ($2,052), respectively.

F-55

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

20. RELATED PARTY BALANCES AND TRANSACTIONS (Continued)

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.

In 2017, the Company sold solar power products to Gaochuangte in the amount of RMB11,352 ($1,648), before Gaochuangte became the Company’s 80% owned subsidiary.

In 2017, 2018 and 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd , the Company’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.

In 2018 and 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd, the Company’s 32% owned affiliate in China, in the amount of RMB41,635 ($6,056) and RMB 61,174 ($8,787), respectively.

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.

21. COMMITMENTS AND CONTINGENCIES

a)    Capital commitments

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:

Year Ending December 31:

    

$

2020

 

9,000

2021

3,000

Total

12,000

b)    Solar power system commitments

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:

Year Ending December 31:

    

$

2020

600

2021

200

Total

800

F-56

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

21. COMMITMENTS AND CONTINGENCIES (Continued)

c)    Contingencies

Class Action Lawsuits

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 York, or the New 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 York cases were consolidated into a single action in December 2010. On January 5, 2011, the California case was dismissed by the plaintiff, who became a member of the lead plaintiff group in the New York action. On March 11, 2011, a Consolidated Complaint was filed with respect to the New York action. The Consolidated Complaint alleges generally that the Company’s financial disclosures during 2009 and early 2010 were false or misleading; asserts claims under Sections 10(b) and 20(a) of the Exchange Act and Rule 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 2011, which was taken under submission by the Court in July 2011. On March 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 19, 2012. On March 29, 2013, the Court dismissed with prejudice a class action lawsuit filed against the Company and certain named defendants alleging that the Company’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’s motion to dismiss all claims against all defendants with prejudice. On December 20, 2013, the United States Court of Appeals for the Second Circuit affirmed the district court’s order dismissing such class action lawsuit.

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 10, 2010. The lawsuit alleges generally that the Company’s financial disclosures during 2009 and 2010 were false or misleading and brings claims under the shareholders’ relief provisions of the CBCA, Part XX III.1 of the Ontario Securities Act as well as claims based on negligent misrepresentation. In December 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’s motion on August 29, 2011. On March 30, 2012, the Ontario Court of Appeal denied the Company’s appeal with regard to its jurisdictional motion. On November 29, 2012, the Supreme Court of Canada denied the Company’s application for leave to appeal the order of the Ontario Court of Appeal. The plaintiff’s motions for class certification and leave to assert the statutory cause of action under the Ontario Securities Act were served in January 2013 and initially scheduled for argument in the Ontario Superior Court of Justice in June 2013.However, the plaintiff’s motions were adjourned in view of the plaintiff’s decision to seek an order compelling the Company to file additional evidence on the motions. On July 29, 2013 the Court dismissed the plaintiff’s motion to compel evidence. On September 24, 2013 the plaintiff’s application for leave to appeal from the July 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.

F-57

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

21. COMMITMENTS AND CONTINGENCIES (Continued)

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’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.

Solar 1

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.

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.

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. The Company did not participate in USDOC’s first sunset review. The Company did, however, participate in the USITC’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.

F-58

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

21. COMMITMENTS AND CONTINGENCIES (Continued)

Solar 2

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.

“Chinese CSPV products subject to Solar 2 orders” 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. “Taiwanese CSPV products subject to Solar 2 orders” 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.

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.

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.

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’s sunset review will follow this preliminary decision.

In 2019, the Company booked the benefits of antidumping duty and countervailing duty provision reversals of $52.3 million, primarily associated with prior years’ module sales based on the respective updated rates of the administrative reviews carried out by the U.S. Department of Commerce.

Section 201

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.

F-59

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

21. COMMITMENTS AND CONTINGENCIES (Continued)

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.

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.

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’s withdrawal determination at the CIT and persuaded the Court to enjoin USTR’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’s further review, the exclusion could be terminated as soon as May 18, 2020.

European Antidumping and Anti-Subsidy Investigations

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.

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.

F-60

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

21. COMMITMENTS AND CONTINGENCIES (Continued)

Canadian Antidumping and Countervailing Duties Expiry Review

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 “cooperative exporter” 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’s finding expires on July 2, 2020.

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.

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.

Please refer to “Item 8. Financial Information—A. Consolidated Statements and Other Financial Information—Legal and Administrative Proceedings” in the Company’s Form 20-F for detailed information on antidumping and countervailing duties.

22. SEGMENT INFORMATION

The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company’s chief operating decision maker (“CODM”) for making decisions, allocating resources and assessing performance. The Company’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.

The Company has been operating in two principal businesses since 2016: module and system solutions (“MSS”) 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&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’s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.

F-61

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

22. SEGMENT INFORMATION (Continued)

The following table summarizes the Company's revenues, gross profit and income from operations generated from each segment:

Years Ended December 31, 2019

    

MSS

    

Energy

    

Elimination

    

Total

$

$

$

$

Net revenues

 

2,582,635

 

719,445

(101,497)

3,200,583

Cost of revenues

 

1,934,062

 

635,716

(87,692)

2,482,086

Gross profit

 

648,573

 

83,729

(13,805)

718,497

Income from operations

279,715

(7,031)

(13,805)

258,879

Years Ended December 31, 2018

    

MSS

    

Energy

    

Elimination

    

Total

$

$

$

$

Net revenues

 

2,413,889

 

1,575,594

(244,971)

3,744,512

Cost of revenues

 

1,923,131

 

1,302,779

(256,480)

2,969,430

Gross profit

 

490,758

 

272,815

11,509

775,082

Income from operations

141,609

211,539

11,509

364,657

Years Ended December 31, 2017

    

MSS

    

Energy

    

Elimination

    

Total

$

$

$

$

Net revenues

 

2,850,859

 

677,470

(137,936)

3,390,393

Cost of revenues

 

2,390,686

 

473,453

(111,344)

2,752,795

Gross profit

 

460,173

 

204,017

(26,592)

637,598

Income from operations

136,419

159,518

(26,592)

269,345

Income from operations is estimated based on the Company's management accounts as some services are shared by two segments.

F-62

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

22. SEGMENT INFORMATION (Continued)

The following table summarizes the Company’s net revenues generated from different geographic locations. The information presented below is based on the location of customers’ headquarters:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Europe and other regions:

—Australia

48,069

232,409

313,167

—Germany

 

94,066

 

95,514

 

109,119

—South Africa

21,916

53,739

93,911

—Spain

 

13,471

 

58,811

 

78,228

—Netherlands

 

51,357

 

83,475

 

68,770

—United Kingdom

48,295

101,479

33,158

—Czech

 

10,822

17,411

17,717

—Others

 

68,144

 

55,730

 

66,389

 

356,140

 

698,568

 

780,459

The Americas:

—United States

 

628,815

 

999,144

 

852,231

—Brazil

388,554

339,964

395,303

—Mexico

 

5,274

 

50,004

 

94,446

—Others

 

85,519

 

85,545

 

60,061

 

1,108,162

 

1,474,657

 

1,402,041

Asia:

—Japan

 

476,946

 

483,041

 

372,687

—PRC

 

874,559

 

620,520

 

317,077

—Korea

25,244

46,697

72,552

—India

 

336,468

 

145,873

 

70,893

—United Arab Emirates

91,991

104,467

43,311

—Vietnam

462

4,216

39,268

—Thailand

4,167

23,511

12,753

—Others

 

116,254

 

142,962

 

89,542

 

1,926,091

 

1,571,287

 

1,018,083

Total net revenues

 

3,390,393

 

3,744,512

 

3,200,583

F-63

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

22. SEGMENT INFORMATION (Continued)

The following table summarizes the Company’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 assets:

    

At December 31,

    

At December 31,

2018

2019

$

$

PRC

 

824,618

 

835,991

Thailand

168,280

331,931

Japan

233,155

259,197

Australia

61,960

63,143

United States

50,052

60,177

Canada

 

9,739

 

14,718

Others

 

24,899

 

100,513

Total long-lived assets

 

1,372,703

 

1,665,670

The following table summarizes the Company’s revenues generated from each product or service:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

MSS:

Solar modules and other solar power products

 

2,551,509

 

1,930,701

 

2,055,249

Solar system kits

 

84,598

 

93,253

 

116,449

EPC services

62,408

223,423

O&M services

6,938

10,767

19,405

Others ( materials)

69,878

71,789

66,612

Energy:

Solar power projects

 

632,256

 

1,542,906

 

668,476

Electricity

29,236

8,735

5,866

Others (EPC and development services)

 

15,978

 

23,953

 

45,103

Total net revenues

 

3,390,393

 

3,744,512

 

3,200,583

23. MAJOR CUSTOMERS

Details of customers accounting for 10% or more of total net revenues are as follows:

    

Years Ended December 31,

2017

2018

2019

    

$

$

$

Company A

 

718,341

 

F-64

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

23. MAJOR CUSTOMERS (Continued)

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.

24. EMPLOYEE BENEFIT PLANS

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.

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.

25. SHARE-BASED COMPENSATION

In March 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’s operations is largely dependent. 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 options, restricted shares and RSUs under the Plan to the sum of (i) 2,330,000 plus (ii) the sum of (a) 1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b) 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 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’s ordinary shares and expire ten years from the date of grant.

Options to Employees

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.

F-65

Table of Contents

CANADIAN SOLAR INC.

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS — (Continued)

FOR THE YEARS ENDED DECEMBER 31, 2017, 2018 and 2019

(In Thousands of U.S. Dollars, unless otherwise indicated)

25. SHARE-BASED COMPENSATION (Continued)

RSUs to Employees

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’s common shares upon vesting. The RSUs were granted for free and generally vest over periods from one to four years based on the specific terms of the grants. The fair market value of the Company’s ordinary shares at the date of grant resulted in total compensation cost of approximately $13.3 million, $10.2 million and $12.2 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.

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.

A summary of the RSU activity is as follows:

    

    

Weighted Average

Number of

Grant-Date

Shares

Fair Value

$

Unvested at January 1, 2019

 

1,781,271

14.18

Granted

 

706,637

18.05

Vested

 

(696,853)

15.40

Forfeited

 

(131,288)

15.01

Unvested at December 31, 2019

 

1,659,767

15.26

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.

26. SUBSEQUENT EVENTS

In the first quarter of 2020, the Company repurchased additional 381,330 shares with total costs of $5,963. The Company repurchased 990,846 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.

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’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.

On March 27, 2020, the U.S. President Donald Trump signed into law the “Coronavirus Aid, Relief and Economic Security (CARES) Act”. The impact of the CARES Act could be material to the Company’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.

F-66

Additional Information — Financial Statement Schedule I

Canadian Solar Inc.

Schedule I has been provided pursuant to the requirements of Rule 12-04(a) and 4-08(e)(3) of Regulation 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 Inc.’s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar Inc. as of December 31, 2019 of $497.2 million, exceeded the 25% threshold.

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.

F-67

FINANCIAL INFORMATION OF PARENT COMPANY

BALANCE SHEETS

December 31,

December 31,

    

2018

    

2019

(In Thousands of U.S. Dollars, except

share data)

ASSETS

Current assets:

Cash and cash equivalents

 

9,097

 

1,362

Restricted cash

950

Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively

 

11,476

 

Amounts due from subsidiaries

 

279,039

 

341,557

Prepaid expenses and other current assets

 

15,222

 

9,846

Total current assets

 

314,834

 

353,715

Investments in subsidiaries

 

1,154,004

 

1,383,935

Investments in affiliates

2,483

Deferred tax assets

 

28,208

 

23,657

Other non-current assets

 

68,068

 

69,070

TOTAL ASSETS

 

1,565,114

 

1,832,860

LIABILITIES AND EQUITY

Current liabilities:

Convertible notes

127,428

Accounts payable

 

3,903

 

3

Amounts due to related parties

 

154,765

 

340,502

Derivative liabilities

3,879

4,713

Other current liabilities

 

8,255

 

8,531

Total current liabilities

 

298,230

 

353,749

Long-term borrowings

 

 

50,000

Deferred tax liabilities

28,779

22,936

Liability for uncertain tax positions

 

12,633

 

13,041

TOTAL LIABILITIES

 

339,642

 

439,726

Equity:

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

 

702,931

 

703,806

Treasury stock

(11,845)

Additional paid-in capital

 

10,675

 

17,179

Retained earnings

 

622,015

 

793,601

Accumulated other comprehensive loss

 

(110,149)

 

(109,607)

TOTAL EQUITY

 

1,225,472

 

1,393,134

TOTAL LIABILITIES AND EQUITY

 

1,565,114

 

1,832,860

F-68

FINANCIAL INFORMATION OF PARENT COMPANY

STATEMENTS OF OPERATIONS

Years Ended December 31

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Net revenues

35,011

86,755

4,351

Cost of revenues

 

29,542

 

53,926

 

4,188

Gross profit

 

5,469

 

32,829

 

163

Operating expenses:

Selling expenses

 

2,221

 

2,518

 

1,727

General and administrative expenses

 

18,390

 

18,970

 

29,093

Research and development expenses

 

645

 

795

 

462

Other operating loss, net

1,173

77

Total operating expenses

 

22,429

 

22,360

 

31,282

Income (loss) from operations

 

(16,960)

 

10,469

 

(31,119)

Other income (expenses):

Interest expense

 

(20,078)

 

(9,170)

 

(3,005)

Interest income

 

42,191

 

32,370

 

25,272

Loss on change in fair value of derivatives, net

(7,134)

(2,671)

(5,193)

Foreign exchange gain (loss)

 

(18,110)

 

22,255

 

(11,318)

Investment loss

(11,944)

(116,879)

Other income (expenses), net:

 

(15,075)

 

42,784

 

(111,123)

Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees

 

(32,035)

 

53,253

 

(142,242)

Income tax (expense) benefit

 

1,686

 

(12,133)

 

5,230

Equity in earnings of subsidiaries

 

130,048

 

195,950

 

308,597

Equity in loss of unconsolidated investees

 

(127)

 

 

Net income

 

99,572

 

237,070

 

171,585

F-69

FINANCIAL INFORMATION OF PARENT COMPANY

STATEMENTS OF COMPREHENSIVE INCOME (LOSS)

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Net income

99,572

237,070

171,585

Other comprehensive income (loss) (net of tax of nil):

Foreign currency translation adjustment

 

37,780

 

(56,115)

 

542

Comprehensive income

 

137,352

 

180,955

 

172,127

F-70

FINANCIAL INFORMATION OF PARENT COMPANY

STATEMENTS OF CASH FLOWS

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Operating activities:

Net income

 

99,572

 

237,070

 

171,585

Adjustments to reconcile net income to net cash provided by (used in) operating activities:

Depreciation and amortization

 

33

 

21

 

154

Loss on disposal of subsidiaries

9,559

116,879

Impairment loss of investment

3,686

Loss on change in fair value of derivatives

7,134

2,671

5,193

Allowance for doubtful accounts

 

2,666

 

(212)

 

(83)

Equity in earnings of subsidiaries

 

(130,048)

 

(195,950)

 

(308,597)

Equity in loss of unconsolidated investees

 

127

 

 

Share-based compensation

 

9,314

 

10,259

 

10,682

Changes in operating assets and liabilities:

Accounts receivable trade

 

(6,739)

 

(5,089)

 

11,563

Amounts due from subsidiaries

 

57,539

 

(184,755)

 

(43,630)

Advances to suppliers

 

(60)

 

60

 

Prepaid expenses and other current assets

 

(5,715)

 

(2,749)

 

5,449

Other non-current assets

 

1,016

 

(149)

 

(1,158)

Accounts payable

 

 

3,900

 

(3,900)

Amounts due to related parties

 

55,399

 

15,598

 

183,675

Other liabilities

 

22,436

 

(25,958)

 

1,193

Liability for uncertain tax positions

 

833

 

6,008

 

408

Deferred taxes

 

(6,106)

 

9,230

 

(1,292)

Net settlement of derivatives

(6,358)

 

21,450

 

(11,125)

Net cash provided by (used in) operating activities

 

114,288

 

(108,595)

 

136,996

Investing activities:

Investments in subsidiaries

 

(64,185)

 

(1,051)

 

(36,146)

Investments in affiliates

(2,483)

Proceeds from disposal of subsidiaries

61,749

Purchase of property, plant and equipment

 

(26)

 

 

1

Funding of loans to subsidiaries

(74,458)

(94,000)

(40,601)

Repayment of loans from subsidiaries

375,635

12,809

Net cash provided by (used in) investing activities

 

(76,920)

 

280,584

 

(66,420)

Financing activities:

Repayment of short-term borrowings

 

(49,000)

 

(151,000)

 

Proceeds from long-term borrowings

 

 

 

50,000

Repayment of convertible notes

 

 

 

(127,500)

Payments for repurchase of treasury stock

(11,845)

Proceeds from exercise of stock options

 

879

 

769

 

875

Net cash used in financing activities

 

(48,121)

 

(150,231)

 

(88,470)

Effect of exchange rate changes

 

6,362

 

(29,618)

 

11,110

Net decrease in cash and cash equivalents

 

(4,391)

 

(7,860)

 

(6,784)

Cash and cash equivalents at the beginning of the year

 

21,348

 

16,957

 

9,097

Cash and cash equivalents at the end of the year

 

16,957

 

9,097

 

2,313

Supplemental disclosure of cash flow information:

Interest paid (net of amounts capitalized)

 

18,375

 

10,154

 

4,644

F-71

Appendix 1

Major Subsidiaries of CSI

The following table sets forth information concerning CSI’s major subsidiaries:

Place and

Attributable

Date

Equity

Subsidiary

    

of Incorporation

    

Interest Held

    

Principal Activity

CSI Solartronics (Changshu) Co., Ltd. 

PRC

100

%  

Developing solar power project

November 23, 2001

CSI Solar Technologies Inc. 

PRC

100

%  

Sales and marketing of solar products

August 8, 2003

CSI New Energy Holding Co., Ltd.

PRC

100

%  

Investment holding

January 7, 2005

Canadian Solar Manufacturing (Luoyang) Inc. 

PRC

100

%  

Manufacture of solar modules,

February 24, 2006

ingots and wafers

Canadian Solar Manufacturing (Changshu) Inc. 

PRC

100

%  

Production of solar modules

August 1, 2006

CSI Cells Co., Ltd. 

PRC

100

%  

Manufacture of solar cells

August 23, 2006

Canadian Solar (USA) Inc. 

USA

100

%  

Sales and marketing of modules

June 8, 2007

Canadian Solar Japan K.K. 

Japan

100

%  

Sales and marketing of modules

June 21, 2009

Canadian Solar Solutions Inc. 

Canada

100

%  

Developing solar power project and manufacture of solar modules

June 22, 2009

CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.") 

PRC

100

%  

Investment holding and trading

July 7, 2009

Canadian Solar EMEA GmbH

Germany

100

%  

Sales and marketing of modules

August 21, 2009

Canadian Solar (Australia) Pty Limited

Australia

100

%  

Developing solar power project

February 3, 2011

Canadian Solar International Limited

Hong Kong

100

%  

Sales and marketing of modules

March 25, 2011

Canadian Solar O and M (Ontario) Inc. 

Canada

100

%  

Solar farm operating and maintenance service

May 10, 2011

Suzhou Sanysolar Materials Technology Co., Ltd. 

PRC

99.73

%  

Production of solar module materials

August 17, 2011

Canadian Solar South East Asia Pte. Ltd. 

Singapore

100

%  

Sales and marketing of modules

September 19, 2011

Canadian Solar South Africa (Pty) Ltd

South Africa

100

%  

Sales and marketing of modules

June 22, 2012

Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.

Brazil

100

%  

Sales and marketing of solar modules, and provide solar energy solution to customer

November 14, 2012

Canadian Solar Construction (USA) LLC

USA

100

%  

Solar farm operating and maintenance service

May 20, 2014

Canadian Solar Projects K.K.

Japan

100

%  

Developing solar power project

May 20, 2014

CSI&GCL Solar Manufacturing (Yan Cheng) Inc.

PRC

100

%  

Research and developing, manufacture and sales of solar cells, and solar power projects development

May 29, 2014

Canadian Solar UK Ltd.

United Kingdom

 

100

%  

Sales and marketing of modules

May 29, 2014

Canadian Solar UK Projects Ltd.

United Kingdom

100

%  

Developing solar power project

August 29, 2014

Changshu Tegu New Material Technology Co., Ltd.

 

PRC

 

100

%  

EVA solar packaging film research and development, production, and sales

September 2, 2014

Changshu Tlian Co., Ltd.

 

PRC

100

%  

Junction box and connector research, development, production and sales

December 26, 2014

Recurrent Energy Group Inc.

USA

100

%  

Developing solar power project

January 22, 2015

Recurrent Energy, LLC

USA

100

%  

Developing solar power project

March 31, 2015

PT. Canadian Solar Indonesia

Indonesia

67

%  

Production of solar modules

February 26, 2015

Canadian Solar Manufacturing Vietnam Co., Ltd.

Vietnam

100

%  

Production of solar modules

June 25, 2015

Canadian Solar Energy Private Limited

India

100

%  

Sales and marketing of modules

May 06, 2015

Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as “Canadian Solar Australia 1 Pty Ltd. ")

Australia

100

%  

Sales and marketing of modules

August 03, 2015

Canadian Solar Energy Holding Company Limited

Hong Kong

100

%  

Project investment, financing, trading of solar modules

September 22, 2015

Canadian Solar Energy Singapore Pte. Ltd.

Singapore

100

%  

Development & Ownership of solar PV projects

October 29, 2015

Canadian Solar Manufacturing (Thailand) Co.,Ltd.

Thailand

99.99992

%  

Cells and module production

F-72

November 20, 2015

Canadian Solar Sunenergy (Suzhou) Co., Ltd.

PRC

100

%  

Production of solar modules

May 12, 2016

Canadian Solar Sunenergy (Baotou) Co., Ltd.

PRC

100

%  

Production of solar modules, ingots and wafers

August 18, 2016

Canadian Solar Middle East DMCC

United Arab Emirates

100

%  

Sales and marketing of modules

March 28, 2017

CSI Investment Management (SuZhou) Co., Ltd.

PRC

100

%  

Investment management & assets management

May 05, 2017

Suzhou Gaochuangte New Energy Development Co., Ltd.

PRC

90

%  

Design, engineering construction and management of solar power project

June 12, 2017

CSI Cells (Yancheng) Co., Ltd.

PRC

*

Production of solar cells

May 18, 2017

CSI Modules (DaFeng) Co., Ltd.

PRC

**

Production of solar modules

May 16, 2017

Canadian Solar Construction (Australia) Pty Ltd

Australia

100

%  

Providing engineering, procurement and construction service

July 04, 2017

CSUK Energy Systems Construction and Generation JSC

Turkey

100

%  

Construction of power plants generating electricity by utilizing renewable energy sources

October 30, 2017

CSI Modules (JiaXing) Co., Ltd.

PRC

100

%  

Production of solar modules

November 3, 2017

CSI Wafer (LuoYang) Co., Ltd.

PRC

100

%  

Production of solar cells and wafers

November 27, 2017

Canadian Solar Manufacturing Taiwan Co., Ltd.

PRC

100

%  

Production of solar modules

December 05, 2017

Canadian Solar Argentina Investment Holding Ltd.

Argentina

100

%  

Developing solar power project

January 23, 2018

Changsu Xingu Photovoltaic Material Technology Co., Ltd.

PRC

100

%  

EVA solar packaging film research and development, production and sales

March 19, 2018

Canadian Solar New Energy Holding Company Limited

Hong Kong

100

%

Project investment, financing, trading of solar modules.

March 20, 2019

Canadian Solar Energy Holding Singapore Pte. Ltd.

Singapore

100

%

Development & Ownership of Solar PV Projects

April 22, 2019

Canadian Solar SSES (Canada) Inc.

Canada

100

%

System Solution and Energy Storage

Nov 27, 2019

Canadian Solar SSES (UK) Ltd

United Kingdom

100

%

IP holding

December 18, 2019

*      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.

**    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.

F-73

EX-2.2 2 csiq-20191231xex2d2.htm EX-2.2 csiq_Ex2_2

Exhibit 2.2

DESCRIPTION OF THE REGISTRANT’S SECURITIES

REGISTERED PURSUANT TO SECTION 12 OF THE

SECURITIES EXCHANGE ACT OF 1934

 

Canadian Solar Inc. (“we,” “us,” “our company,” or “our”) has the following securities registered pursuant to Section 12(b) of the Securities Exchange Act of 1934 (the “Exchange Act”):

 

 

 

 

 

 

Title of each class registered as of the end of the
period covered by the annual report

    

Trading
symbol

    

Name of each exchange on
which registered

Common shares with no par value

 

CSIQ

 

Nasdaq Global Select Market

 

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 “articles”), bylaws as effective from time to time, and by applicable Canadian law, particularly the Canada Business Corporations Act (the “CBCA”). 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.

 

Item 9. General

Item 9.A.3 Pre-emptive rights

Our common shares do not contain any pre-emptive purchase rights to any of our securities.

Item 9.A.5 Type and class of securities

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.

Item 9.A.6 Limitations or qualifications

Not applicable.

Item 9.A.7 Rights of other types of securities

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

Item 10.B Memorandum and articles of association

Item 10.B.3 Shareholder rights

Dividends

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’ ability to declare, and our ability to pay,

 

 

 

dividends by requiring that certain solvency tests be satisfied at the time of such declaration and payment.

Voting rights

Each common share is entitled to one vote on all matters upon which the common shares are entitled to vote.

Liquidation

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 rata basis, subject to any prior rights of the holders of our preferred shares if issued.

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.

Item 10.B.4 Changes to shareholder rights

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 “special resolution” 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.

Item 10.B.6 Limitations on shareholder rights

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.

Other Canadian law considerations with respect to ownership and exchange controls

Competition Act

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.

Investment Canada Act

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

2

 

Development (the “Minister”),  of an investment to establish a new Canadian business by a non-Canadian or of the acquisition by a non-Canadian of “control” of a “Canadian business”, 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.

In addition, under the Investment Canada Act, “national security” 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 “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 “injurious to national security.” The Minister has broad discretion to determine whether an investor is a non-Canadian and therefore may be subject to “national security” 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 “national security”, the Minister refers the matter to the Governor in Council.  Following its review, if the Governor in Council determines the investment could be injurious to “national security”, 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.

Item 10.B.7 Change in control

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.

Item 10.B.8 Ownership disclosure threshold for our common shares

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.

Item 10.B.9 Differences in the law

See Items 10.B.3, 10.B.4, 10.B.6, 10.B.7, 10.B.8 above.

Item 10.B.10 Changes in capital

3

 

The requirements imposed by the articles governing changes in capital are not more stringent than is required by law.

Item 12. Description of securities other than equity securities

Item 12.A Debt securities

Not applicable.

Item 12.B Warrants and rights

Not applicable.

Item 12.C Other securities

Not applicable.

Item 12.D.1 and 12.D.2 Description of American Depositary Shares

Not applicable.

4

EX-8.1 3 csiq-20191231xex8d1.htm EXHIBIT 8.1 csiq_Ex8_1

EXHIBIT 8.1

LIST OF MAJOR SUBSIDIARIES

 (As of March 31, 2020)

 

 

 

 

 

 

Name of entity

 

Place of incorporation

 

Ownership interest

 

 

 

 

 

CSI Solartronics (Changshu) Co., Ltd.

 

PRC

 

100%

CSI Solar Technologies Inc.

 

PRC

 

100%

CSI New Energy Holding Co., Ltd.

 

PRC

 

100%

Canadian Solar Manufacturing (Luoyang) Inc.

 

PRC

 

100%

Canadian Solar Manufacturing (Changshu) Inc.

 

PRC

 

100%

CSI Cells Co., Ltd.

 

PRC

 

100%

Canadian Solar (USA) Inc.

 

USA

 

100%

Canadian Solar Japan K.K.

 

Japan

 

100%

Canadian Solar Solutions Inc.

 

Canada

 

100%

CSI Solar Power Group Co., Ltd. (formerly named/known as “CSI Solar Power (China) Inc.”)

 

PRC

 

100%

Canadian Solar EMEA GmbH

 

Germany

 

100%

Canadian Solar (Australia) Pty Limited

 

Australia

 

100%

Canadian Solar International Limited

 

Hong Kong

 

100%

Canadian Solar O and M (Ontario) Inc.

 

Canada

 

100%

Suzhou Sanysolar Materials Technology Co., Ltd.

 

PRC

 

99.73%

Canadian Solar South East Asia Pte. Ltd.

 

Singapore

 

100%

Canadian Solar South Africa (Pty) Ltd

 

South Africa

 

100%

Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.

 

Brazil

 

100%

Canadian Solar Construction (USA) LLC

 

USA

 

100%

Canadian Solar Projects K.K.

 

Japan

 

100%

CSI&GCL Solar Manufacturing (Yan Cheng) Inc.

 

PRC

 

100%

Canadian Solar UK Ltd.

 

United Kingdom

 

100%

Canadian Solar UK Projects Ltd.

 

United Kingdom

 

100%

Changshu Tegu New Material Technology Co., Ltd.

 

PRC

 

100%

Changshu Tlian Co., Ltd.

 

PRC

 

100%

Recurrent Energy Group Inc.

 

USA

 

100%

Recurrent Energy, LLC

 

USA

 

100%

PT. Canadian Solar Indonesia

 

Indonesia

 

67%

Canadian Solar Manufacturing Vietnam Co., Ltd.

 

Vietnam

 

100%

Canadian Solar Energy Private Limited

 

India

 

100%

Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as “Canadian Solar Australia 1 Pty Ltd.”)

 

Australia

 

100%

Canadian Solar Energy Holding Company Limited

 

Hong Kong

 

100%

Canadian Solar Energy Singapore Pte. Ltd.

 

Singapore

 

100%

Canadian Solar Manufacturing (Thailand) Co., Ltd.

 

Thailand

 

99.99992%

Canadian Solar Sunenergy (Suzhou) Co., Ltd.

 

PRC

 

100%

Canadian Solar Sunenergy (Baotou) Co., Ltd.

 

PRC

 

100%

Canadian Solar Middle East DMCC

 

United Arab Emirates

 

100%

CSI Investment Management (SuZhou) Co., Ltd.

 

PRC

 

100%

CSI Cells (Yancheng) Co., Ltd.

 

PRC

 

*

CSI Modules (DaFeng) Co., Ltd.

 

PRC

 

**

Suzhou Gaochuangte New Energy Development Co., Ltd.

 

PRC

 

90%

Canadian Solar Construction (Australia) Pty Ltd

 

Australia

 

100%

CSUK Energy Systems Construction and Generation JSC

 

Turkey

 

100%

CSI Modules (JiaXing) Co., Ltd.

 

PRC

 

100%

CSI Wafer (LuoYang) Co., Ltd.

 

PRC

 

100%

Canadian Solar Manufacturing Taiwan Co., Ltd.

 

Taiwan

 

100%

Canadian Solar Argentina Investment Holding Ltd.

 

Argentina

 

100%

Canadian Solar New Energy Holding Company Limited

 

Hong Kong

 

100%

Canadian Solar Energy Holding Singapore Pte. Ltd.

 

Singapore

 

100%

Canadian Solar SSES (Canada) Inc.

 

Canada

 

100%

Canadian Solar SSES (UK) Ltd

    

United Kingdom

    

100%

Canadian Solar SSES (US) Inc.

 

USA

 

100%

Canadian Solar Asset Management LLC

 

USA

 

100%

Canadian Solar Netherlands Cooperative U.A.

 

Netherland

 

100%

 

* CSI Cells Co., Ltd. holds 52% equity rights of CSI Cells (Yan cheng) 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.

** 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.

 

EX-12.1 4 csiq-20191231xex12d1.htm EXHIBIT 12.1 csiq_Ex12_1

EXHIBIT 12.1

Certification by the Chief Executive Officer

Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

I, Shawn (Xiaohua) Qu, certify that:

1.      I have reviewed this annual report on Form 20-F of Canadian Solar Inc. (the “Company”);

2.      Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3.      Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the Company as of, and for, the periods presented in this report;

4.      The Company’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the Company and have:

(a)       Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the 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;

(b)       Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c)       Evaluated the effectiveness of the Company’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

(d)       Disclosed in this report any change in the Company’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’s internal control over financial reporting; and

5.      The Company’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company’s auditors and the audit committee of the Company’s board of directors (or persons performing the equivalent functions):

(a)       All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the Company’s ability to record, process, summarize and report financial information; and

(b)       Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company’s internal control over financial reporting.

 

 

 

 

Date:

April 28, 2020

 

 

 

 

By:

/s/ Shawn (Xiaohua) Qu

 

 

Name:

Shawn (Xiaohua) Qu

 

 

Title:

Chief Executive Officer

 

 

EX-12.2 5 csiq-20191231xex12d2.htm EXHIBIT 12.2 csiq_Ex12_2

EXHIBIT 12.2

Certification by the Chief Financial Officer

Pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

I, Huifeng Chang, certify that:

1.      I have reviewed this annual report on Form 20-F of Canadian Solar Inc. (the “Company”);

2.      Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3.      Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the Company as of, and for, the periods presented in this report;

4.      The Company’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the Company and have:

(a)       Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the 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;

(b)       Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c)       Evaluated the effectiveness of the Company’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

(d)       Disclosed in this report any change in the Company’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’s internal control over financial reporting; and

5.     The Company’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the Company’s auditors and the audit committee of the Company’s board of directors (or persons performing the equivalent functions):

(a)       All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the Company’s ability to record, process, summarize and report financial information; and

(b)       Any fraud, whether or not material, that involves management or other employees who have a significant role in the Company’s internal control over financial reporting.

 

 

 

 

Date:

April 28, 2020

 

 

 

 

By:

/s/ Huifeng Chang

 

 

Name:

Huifeng Chang

 

 

Title:

Chief Financial Officer

 

 

EX-13.1 6 csiq-20191231xex13d1.htm EXHIBIT 13.1 csiq_Ex13_1

EXHIBIT 13.1

Certification by the Chief Executive Officer

Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

In connection with the Annual Report of Canadian Solar Inc. (the “Company”) on Form 20-F for the year ended December 31, 2019 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Shawn (Xiaohua) Qu, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:

(1).         The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

(2).         The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

 

 

Date:

April 28, 2020

 

 

 

 

By:

/s/ Shawn (Xiaohua) Qu

 

 

Name:

Shawn (Xiaohua) Qu

 

 

Title:

Chief Executive Officer

 

 

EX-13.2 7 csiq-20191231xex13d2.htm EXHIBIT 13.2 csiq_Ex13_2

EXHIBIT 13.2

Certification by the Chief Financial Officer

Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

In connection with the Annual Report of Canadian Solar Inc. (the “Company”) on Form 20-F for the year ended December 31, 2019 as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Huifeng Chang, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:

(1).         The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and

(2).         The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.

 

 

 

 

Date:

April 28, 2020

 

 

 

 

By:

/s/ Huifeng Chang

 

 

Name:

Huifeng Chang

 

 

Title:

Chief Financial Officer

 

 

EX-15.1 8 csiq-20191231xex15d1.htm EXHIBIT 15.1 csiq_Ex15_1

EXHIBIT 15.1

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

We consent to the incorporation by reference in Registration Statement Nos. 333-147042, 333-178187 and 333-201766 on Form S-8 and Registration Statement No. 333-208828 on Form F-3 of our reports dated April 28,  2020, relating to the financial statements of Canadian Solar Inc. and subsidiaries (the “Company”), and the effectiveness of the Company’s internal control over financial reporting, appearing in this Annual Report on Form 20-F of the Company for the year ended December 31, 2019.

 

/s/ Deloitte Touche Tohmatsu Certified Public Accountants LLP

 

 

Shanghai, China

 

April 28, 2020

 

 

EX-101.SCH 9 csiq-20191231.xsd XBRL TAXONOMY EXTENSION SCHEMA 00100 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - INVENTORIES (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - PROJECT ASSETS (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - INTANGIBLE ASSETS, NET (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - BORROWINGS - Long term (Details 3) (Calc 2) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - LEASE - Lease expense (Details) link:presentationLink link:calculationLink link:definitionLink 41204 - Disclosure - LEASE - Operating leases - Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 41205 - Disclosure - LEASE - Operating leases - Gross difference (Details) link:presentationLink link:calculationLink link:definitionLink 41206 - Disclosure - LEASE - Finance leases - Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 41207 - Disclosure - LEASE - Finance leases - Gross difference (Details) link:presentationLink link:calculationLink link:definitionLink 41208 - Disclosure - LEASE - Total leases - Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 41209 - Disclosure - LEASE - Total leases - Gross difference (Details) link:presentationLink link:calculationLink link:definitionLink 41210 - Disclosure - LEASE - Total leases - Summary (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - BORROWINGS (Details) link:presentationLink link:calculationLink link:definitionLink 41303 - Disclosure - BORROWINGS - Long term (Details) link:presentationLink link:calculationLink link:definitionLink 41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41804 - Disclosure - INCOME TAXES - Reconciliation (Details) link:presentationLink link:calculationLink link:definitionLink 41901 - Disclosure - EARNINGS PER SHARE (Details) link:presentationLink link:calculationLink link:definitionLink 42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details) link:presentationLink link:calculationLink link:definitionLink 42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details) link:presentationLink link:calculationLink link:definitionLink 42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details) link:presentationLink link:calculationLink link:definitionLink 42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - INVENTORIES link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - PROJECT ASSETS link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - SOLAR POWER SYSTEMS, NET link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - INTANGIBLE ASSETS, NET link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - FAIR VALUE MEASUREMENT link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - VARIABLE INTEREST ENTITIES link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - INVESTMENTS IN AFFILIATES link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - BORROWINGS link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - SHORT-TERM NOTES PAYABLE link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - ACCRUED WARRANTY COSTS link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - RESTRICTED NET ASSETS link:presentationLink link:calculationLink link:definitionLink 11701 - Disclosure - CONVERTIBLE NOTES link:presentationLink link:calculationLink link:definitionLink 11801 - Disclosure - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 11901 - Disclosure - EARNINGS PER SHARE link:presentationLink link:calculationLink link:definitionLink 12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS link:presentationLink link:calculationLink link:definitionLink 12101 - Disclosure - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 12201 - Disclosure - SEGMENT INFORMATION link:presentationLink link:calculationLink link:definitionLink 12301 - Disclosure - MAJOR CUSTOMERS link:presentationLink link:calculationLink link:definitionLink 12401 - Disclosure - EMPLOYEE BENEFIT PLANS link:presentationLink link:calculationLink link:definitionLink 12501 - Disclosure - SHARE-BASED COMPENSATION link:presentationLink link:calculationLink link:definitionLink 12601 - Disclosure - SUBSEQUENT EVENTS link:presentationLink link:calculationLink link:definitionLink 12701 - Disclosure - Additional Information - Financial Statement Schedule I link:presentationLink link:calculationLink link:definitionLink 12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - INVENTORIES (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - PROJECT ASSETS (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - BORROWINGS (Tables) link:presentationLink link:calculationLink link:definitionLink 31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables) link:presentationLink link:calculationLink link:definitionLink 31803 - Disclosure - INCOME TAXES (Tables) link:presentationLink link:calculationLink link:definitionLink 31903 - Disclosure - EARNINGS PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables) link:presentationLink link:calculationLink link:definitionLink 32203 - Disclosure - SEGMENT INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 32303 - Disclosure - MAJOR CUSTOMERS (Tables) link:presentationLink link:calculationLink link:definitionLink 32503 - Disclosure - SHARE-BASED COMPENSATION (Tables) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities Default (Details) link:presentationLink link:calculationLink link:definitionLink 40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details) link:presentationLink link:calculationLink link:definitionLink 40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) link:presentationLink link:calculationLink link:definitionLink 40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - FAIR VALUE MEASUREMENT (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details) link:presentationLink link:calculationLink link:definitionLink 40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details) link:presentationLink link:calculationLink link:definitionLink 40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - BORROWINGS - Short term (Details) link:presentationLink link:calculationLink link:definitionLink 41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - ACCRUED WARRANTY COSTS (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - RESTRICTED NET ASSETS (Details) link:presentationLink link:calculationLink link:definitionLink 41701 - Disclosure - CONVERTIBLE NOTES (Details) link:presentationLink link:calculationLink link:definitionLink 41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details) link:presentationLink link:calculationLink link:definitionLink 41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details) link:presentationLink link:calculationLink link:definitionLink 42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details) link:presentationLink link:calculationLink link:definitionLink 42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 42201 - Disclosure - SEGMENT INFORMATION (Details) link:presentationLink link:calculationLink link:definitionLink 42202 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details) link:presentationLink link:calculationLink link:definitionLink 42203 - Disclosure - SEGMENT INFORMATION - Each product or service (Details) link:presentationLink link:calculationLink link:definitionLink 42301 - Disclosure - MAJOR CUSTOMERS (Details) link:presentationLink link:calculationLink link:definitionLink 42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details) link:presentationLink link:calculationLink link:definitionLink 42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details) link:presentationLink link:calculationLink link:definitionLink 42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details) link:presentationLink link:calculationLink link:definitionLink 42601 - Disclosure - SUBSEQUENT EVENTS (Details) link:presentationLink link:calculationLink link:definitionLink 42701 - Disclosure - Financial Statement Schedule I (Details) link:presentationLink link:calculationLink link:definitionLink 42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details) link:presentationLink link:calculationLink link:definitionLink 42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details) link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - LEASE link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - LEASE (Tables) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - LEASE - Cash flow (Details) link:presentationLink link:calculationLink link:definitionLink 41203 - Disclosure - LEASE - Additional information (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 10 csiq-20191231_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE EX-101.DEF 11 csiq-20191231_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE EX-101.LAB 12 csiq-20191231_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE EX-101.PRE 13 csiq-20191231_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE XML 14 R69.htm IDEA: XBRL DOCUMENT v3.20.1
ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Movement of allowances      
Beginning of the year $ 32,733    
Closing balance 29,545 $ 32,733  
Allowances for accounts receivable, trade      
Movement of allowances      
Beginning of the year 32,733 32,941 $ 26,119
Allowances made (reversed) during the year, net (1,386) 869 5,345
Accounts written-off against allowances (309) (297) (174)
Foreign exchange effect (1,493) (780) 1,651
Closing balance 29,545 32,733 32,941
Allowances for advances to suppliers      
Movement of allowances      
Beginning of the year 20,926 18,762 19,527
Allowances made (reversed) during the year, net 738 2,287 (833)
Accounts written-off against allowances (1,452)    
Foreign exchange effect 69 (123) 68
Closing balance 20,281 20,926 18,762
Allowances for other receivables      
Movement of allowances      
Beginning of the year 9,704 10,349 9,251
Allowances made (reversed) during the year, net 1,919 (175) 549
Foreign exchange effect (192) (470) 549
Closing balance $ 11,431 $ 9,704 $ 10,349
XML 15 R99.htm IDEA: XBRL DOCUMENT v3.20.1
RESTRICTED NET ASSETS (Details)
$ in Millions
Dec. 31, 2019
USD ($)
RESTRICTED NET ASSETS  
Minimum percentage of the profit after tax to be appropriated to the general reserve 10.00%
Restricted net assets $ 497.2
XML 16 R61.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES      
Impairment of long-lived assets $ 0 $ 5,738 $ 3,686
Impairment loss of property, plant and equipment 21,866 30,968 $ 11,626
Asset retirement obligation $ 26 $ 43  
XML 17 R91.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Total leases - Gross difference (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
LEASE    
Total future minimum lease payments $ 82,851  
Less: imputed interest 4,292  
NPV for future minimum lease payments $ 78,559  
Total future minimum lease payments   $ 127,348
Less: imputed interest   5,024
NPV for future minimum lease payments   $ 71,802
XML 18 R95.htm IDEA: XBRL DOCUMENT v3.20.1
BORROWINGS - Long term (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
BORROWINGS    
Long-term borrowings on project assets - current $ 286,173 $ 265,770
Long-term borrowings 619,477 393,614
Long-term, current portion $ 114,089 $ 171,051
Average interest rate on long-term borrowings (as a percent) 8.28% 0.95%
Future principal repayment on the long-term borrowings loans    
2020 $ 400,262  
2021 245,927  
2022 276,675  
2023 40,679  
2024 15,158  
Thereafter 41,038  
Total 1,019,739  
Less: future principal repayment related to long-term borrowings, current portion (400,262)  
Total long-term portion $ 619,477 $ 393,614
XML 19 R65.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Selling expenses $ 180,326 $ 165,402 $ 156,032
Research and development expenses 47,045 44,193 28,777
Shipping and Handling      
Selling expenses $ 88,079 $ 69,855 $ 79,853
XML 20 R46.htm IDEA: XBRL DOCUMENT v3.20.1
FAIR VALUE MEASUREMENT (Tables)
12 Months Ended
Dec. 31, 2019
FAIR VALUE MEASUREMENT  
Schedule of fair value of derivative instruments on the consolidated balance sheets

Fair Value of Derivative Assets

At December 31, 2018

At December 31, 2019

    

Balance Sheet Location

    

Fair Value

    

Balance Sheet Location

    

Fair Value

$

$

Foreign exchange forward contracts

 

Derivative assets — current

 

4,166

 

Derivative assets — current

 

5,097

Foreign exchange option contracts

Derivative assets — current

1

Derivative assets — current

450

Interest rate swap

 

Derivative assets — current

 

594

 

Derivative assets — current

 

Interest rate swap

Derivative assets — non-current

3,216

Derivative assets — non-current

Total

 

7,977

Total

5,547

Fair Value of Derivative Liabilities

At December 31, 2018

At December 31, 2019

    

Balance Sheet Location

    

Fair Value

    

Balance Sheet Location

    

Fair Value

$

$

Foreign exchange forward contracts

Derivative liabilities — current

13,480

Derivative liabilities — current

10,127

Foreign exchange option contracts

Derivative liabilities — current

218

Derivative liabilities — current

25

Interest rate swap

Derivative liabilities — current

Derivative liabilities — current

329

Interest rate swap

Derivative liabilities — non-current

Derivative liabilities — non-current

1,841

 

Total

 

13,698

 

Total

 

12,322

Schedule of effect of derivative instruments on consolidated statements of operations

Amount of Gain (Loss)

Recognized in Statements

Location of

of Operations

Gain (Loss) Recognized

Years Ended December 31

    

in Statements of Operations

    

2017

    

2018

    

2019

$

$

$

Foreign exchange forward contracts

 

Gain (loss) on change in fair value of derivatives

(2,638)

 

(16,414)

 

(20,249)

Foreign exchange option contracts

Gain (loss) on change in fair value of derivatives

(2,023)

(1,022)

Warrants

Gain (loss) on change in fair value of derivatives

711

Interest rate swap

 

Gain (loss) on change in fair value of derivatives

1,655

 

(793)

 

(947)

Total

 

(272)

 

(19,230)

 

(22,218)

XML 21 Show.js IDEA: XBRL DOCUMENT // 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)}}} XML 22 R42.htm IDEA: XBRL DOCUMENT v3.20.1
PROJECT ASSETS (Tables)
12 Months Ended
Dec. 31, 2019
PROJECT ASSETS  
Schedule of project assets

At December 31,

At December 31,

    

2018

    

2019

$

$

Project assets — Acquisition cost

51,635

55,158

Project assets — EPC and other cost

1,234,128

1,031,976

1,285,763

1,087,134

Current portion

933,563

604,083

Non-current portion

352,200

483,051

XML 23 R23.htm IDEA: XBRL DOCUMENT v3.20.1
SHORT-TERM NOTES PAYABLE
12 Months Ended
Dec. 31, 2019
SHORT-TERM NOTES PAYABLE  
SHORT-TERM NOTES PAYABLE

14. SHORT-TERM NOTES PAYABLE

The Company enters into arrangements with banks whereby the banks issue notes to the Company’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’ 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.

XML 24 R27.htm IDEA: XBRL DOCUMENT v3.20.1
INCOME TAXES
12 Months Ended
Dec. 31, 2019
INCOME TAXES  
INCOME TAXES

18. INCOME TAXES

Income tax expenses

The provision for income taxes is comprised of the following:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Income before income taxes

Canada

 

(30,524)

 

10,570

 

(61,880)

United States

(33,205)

61,377

8,319

PRC including Hong Kong and Taiwan

173,266

178,050

204,632

Japan

28,164

27,555

29,335

Other

 

6,233

 

26,848

 

28,215

 

143,934

 

304,400

 

208,621

Current tax

Canada

 

346

 

(1,846)

 

(3,420)

United States

(54,482)

(14,786)

(4,803)

PRC including Hong Kong and Taiwan

(7,383)

27,285

44,622

Japan

31,266

5,325

13,229

Other

 

(8,008)

 

2,397

 

7,057

 

(38,261)

 

18,375

 

56,685

Deferred tax

Canada

 

(6,464)

 

12,117

 

(6,558)

United States

67,426

32,696

(2,412)

PRC including Hong Kong and Taiwan

23,452

2,653

(5,333)

Japan

(4,499)

(3,381)

(2,953)

Other

 

(703)

 

(491)

 

2,637

 

79,212

 

43,594

 

(14,619)

Total income tax expense

Canada

 

(6,118)

 

10,271

 

(9,978)

United States

12,944

17,910

(7,215)

PRC including Hong Kong and Taiwan

16,069

29,938

39,289

Japan

26,767

1,944

10,276

Other

 

(8,711)

 

1,906

 

9,694

 

40,951

 

61,969

 

42,066

The Company mainly operates in Canada, PRC, Japan, Germany, the United States, Hong Kong, Thailand and Vietnam.

Canada

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.

18. INCOME TAXES (Continued)

Canadian Solar Solutions 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.

United States

Canadian Solar (USA) 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.

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.

Japan

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.

Germany

Canadian Solar EMEA 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.

Vietnam

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.

Thailand

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.

Hong Kong

Canadian Solar International 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.

18. INCOME TAXES (Continued)

PRC

The other major operating subsidiaries, including CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., CSI Cells Co., Ltd., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly “CSI Solar Power (China) Inc.”) and Canadian Solar Manufacturing (Changshu) Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (“EIT Law”).

CSI Solartronics (Changshu) Co., Ltd., CSI Solar Technologies Inc., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly “CSI Solar Power (China) Inc.”) are all subject to the enterprise income tax rate of 25% for the years ended December 31, 2017, 2018 and 2019.

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.

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:

Years Ended December 31,

 

    

2017

    

2018

    

2019

 

Combined federal and provincial income tax rate

 

27

%  

27

%  

27

%

Effect of permanent difference

(18)

%  

(11)

%

(1)

%

Effect of different tax rate on earnings in other jurisdictions

(7)

%  

%

3

%

Effect of tax holiday

(2)

%  

(1)

%

(4)

%

Unrecognized tax provision

%  

4

%

(3)

%

Change in valuation allowance

(6)

%  

7

%

(3)

%

Effect of change in tax rate

39

%  

(3)

%  

(1)

%

Others

(5)

%  

(3)

%  

2

%

28

%  

20

%  

20

%

The aggregate amount and per share effect of tax holiday are as follows:

Years Ended December 31,

    

2017

    

2018

2019

(In Thousands of

U.S. Dollars, except

per share data)

The aggregate amount

 

2,850

 

3,089

 

7,956

Per share — basic

 

0.05

 

0.05

 

0.13

Per share — diluted

 

0.05

 

0.05

 

0.13

18. INCOME TAXES (Continued)

Deferred tax assets and liabilities

The components of the deferred tax assets and liabilities are presented as follows:

    

At December 31,

    

At December 31,

2018

2019

$

$

Deferred tax assets:

Accrued warranty costs

 

9,424

 

8,326

Bad debt allowance

 

7,019

 

10,324

Inventory write-down

 

1,723

 

1,128

Future deductible expenses

26,973

20,731

Depreciation and impairment difference of property, plant and equipment and solar power systems

 

19,647

 

23,380

Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges

 

9,341

 

496

Deferred tax assets relating to sales of solar power systems

481

8,927

Net operating losses carry-forward

 

90,536

 

112,710

Unrealized foreign exchange loss and capital loss

9,471

7,064

Interest limitation

13,520

2,767

Others

 

13,947

 

26,415

Total deferred tax assets, gross

 

202,082

 

222,268

Valuation allowance

 

(76,522)

 

(70,627)

Total deferred tax assets, net of valuation allowance

 

125,560

 

151,641

Deferred tax liabilities:

Derivative assets

 

2,697

 

217

Depreciation difference of property, plant and equipment

 

1,212

 

18,789

Deferred profit of projects

4,108

Insurance recoverable

14,838

15,771

Unrealized foreign exchange gain

 

4,803

10,984

Others

 

12,513

 

8,380

Total deferred tax liabilities

 

40,171

 

54,141

Net deferred tax assets

85,389

97,500

Analysis as:

Deferred tax assets

121,087

153,963

Deferred tax liabilities

 

(35,698)

 

(56,463)

Net deferred tax assets

 

85,389

 

97,500

18. INCOME TAXES (Continued)

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’s PRC subsidiaries and affiliates are considered to be permanently reinvested, and no 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%.

Valuation allowance

Movement of the valuation allowance is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

71,469

 

65,399

 

76,522

Additions (Reversals)

 

(5,361)

 

11,051

 

(6,156)

Foreign exchange effect

 

(709)

 

72

 

261

Ending balance

 

65,399

 

76,522

 

70,627

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.

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’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 assets:

Tax planning strategies;
Future reversals of existing taxable temporary differences;
Further taxable income exclusive of reversing temporary differences and carry-forwards;

18. INCOME TAXES (Continued)

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.

Uncertain tax positions

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 months.

The following table illustrates the movement and balance of the Company’s liability for uncertain tax positions (excluding interest and penalties) for the years ended December 31, 2017, 2018 and 2019, respectively.

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

5,684

 

6,181

 

15,730

Addition for tax positions related to the current year

 

1,376

 

9,806

 

11

Reductions for tax positions from prior years/Statute of limitations expirations

 

(1,094)

 

 

(5,720)

Foreign exchange effect

215

(257)

536

Ending balance

 

6,181

 

15,730

 

10,557

The Company is subject to taxation in various jurisdictions where it operates, mainly including Canada, China and the United States. Generally, the Company’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.

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’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.

XML 25 R112.htm IDEA: XBRL DOCUMENT v3.20.1
SEGMENT INFORMATION - Each product or service (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Revenues generated from each product      
Total net revenues $ 3,200,583 $ 3,744,512 $ 3,390,393
MSS | Solar modules and other solar power products      
Revenues generated from each product      
Total net revenues 2,055,249 1,930,701 2,551,509
MSS | Solar system kits      
Revenues generated from each product      
Total net revenues 116,449 93,253 84,598
MSS | EPC services      
Revenues generated from each product      
Total net revenues 223,423 62,408  
MSS | O&M services      
Revenues generated from each product      
Total net revenues 19,405 10,767 6,938
MSS | Others ( materials)      
Revenues generated from each product      
Total net revenues 66,612 71,789 69,878
Energy | Solar power projects      
Revenues generated from each product      
Total net revenues 668,476 1,542,906 632,256
Energy | Electricity      
Revenues generated from each product      
Total net revenues 5,866 8,735 29,236
Energy | Others (EPC and development services)      
Revenues generated from each product      
Total net revenues $ 45,103 $ 23,953 $ 15,978
XML 26 R116.htm IDEA: XBRL DOCUMENT v3.20.1
SHARE-BASED COMPENSATION - RSUs to Employees (Details) - RSUs - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
SHARE-BASED COMPENSATION      
Shares granted to employees 706,637 759,702 1,033,001
Total compensation cost at the date of grant $ 12,200 $ 10,200 $ 13,300
Total recognized compensation cost 10,682 $ 10,258 $ 9,314
Total unrecognized share-based compensation costs $ 20,507    
Weighted-average period of recognition of compensation expense 2 years 3 months 7 days    
Number of Shares      
Unvested at the beginning of the period (in shares) 1,781,271    
Granted (in shares) 706,637 759,702 1,033,001
Vested (in shares) (696,853)    
Forfeited (in shares) (131,288)    
Unvested at the end of the period (in shares) 1,659,767 1,781,271  
Weighted Average Grant-Date Fair Value      
Unvested at the beginning of the period (in dollars per share) $ 14.18    
Granted (in dollars per share) 18.05    
Vested (in dollars per share) 15.40    
Forfeited (in dollars per share) 15.01    
Unvested at the end of the period (in dollars per share) $ 15.26 $ 14.18  
Total fair value of shares vested $ 10,733 $ 10,242 $ 12,091
Minimum      
SHARE-BASED COMPENSATION      
Vesting period 1 year    
Maximum      
SHARE-BASED COMPENSATION      
Vesting period 4 years    
XML 28 R107.htm IDEA: XBRL DOCUMENT v3.20.1
RELATED PARTY BALANCES AND TRANSACTIONS (Details)
¥ in Thousands, ¥ in Thousands, R in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2019
JPY (¥)
item
shares
Dec. 31, 2019
USD ($)
item
shares
Dec. 31, 2019
CNY (¥)
item
shares
Dec. 31, 2019
ZAR (R)
item
shares
Dec. 31, 2018
JPY (¥)
item
shares
Dec. 31, 2018
USD ($)
item
shares
Dec. 31, 2018
CNY (¥)
item
shares
Dec. 31, 2017
JPY (¥)
item
shares
Dec. 31, 2017
USD ($)
item
shares
Dec. 31, 2017
CNY (¥)
item
shares
Dec. 31, 2019
CNY (¥)
Dec. 31, 2018
CNY (¥)
Dec. 31, 2017
CNY (¥)
Sep. 30, 2017
USD ($)
RELATED PARTY BALANCES AND TRANSACTIONS                            
Amount due from related party   $ 31,232       $ 16,740                
Trade receivable from affiliate   13,930                        
Amounts due to related parties   10,077       16,847                
Revenue from sale of solar products   $ 99,470       $ 119,825     $ 168,465          
RSUs                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Granted (in shares) | shares 706,637 706,637 706,637 706,637 759,702 759,702 759,702 1,033,001 1,033,001 1,033,001        
Roserock                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Membership interests owned (as a percent)   49.00%                 49.00%      
Pilipinas Newton Energy Corp                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Cash funding from affiliate   $ 16                        
Membership interests owned (as a percent)   40.00%                 40.00%      
ET Solutions South Africa 1 Pty                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Amount due from related party   $ 0                        
Receivables from affiliate   $ 17,284                        
Membership interests owned (as a percent)   49.00%                 49.00%      
Revenue from sale of solar products   $ 40,970   R 586,832   $ 6,859 ¥ 45,407              
Percentage of ownership after sale transaction 49.00% 49.00% 49.00% 49.00% 49.00% 49.00% 49.00%              
Canadian Solar Infrastructure Fund, Inc                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Number of solar power plants sold | item 3 3 3 3 5 5 5 13 13 13        
Percent of units purchased 14.66% 14.66% 14.66% 14.66% 14.66% 14.66% 14.66% 14.66% 14.66% 14.66%        
Canadian Solar Infrastructure Fund, Inc | Asset management service                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Trade payable to affiliate   $ 2                        
Revenue from providing development services ¥ 281,094 2,573     ¥ 247,341 $ 2,210   ¥ 303,772 $ 2,699          
Canadian Solar Infrastructure Fund, Inc | O & M Service                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Revenue from providing development services 223,598 2,052     122,529 1,105   32,119 285          
Canadian Solar Infrastructure Fund, Inc | Revenue                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Revenue from sale of solar products ¥ 5,889,000 $ 53,874     12,276,404 109,597   18,426,754 163,155          
Canadian Solar Infrastructure Fund, Inc | Other operating income or expense                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Revenue from sale of solar products         ¥ 89,238 $ 836   ¥ 3,148,648 $ 27,879          
Suzhou iSilver Materials Co                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Membership interests owned (as a percent)   15.00%                 15.00%      
Trade payable to affiliate   $ 7,884                        
Percent of units purchased 14.63% 14.63% 14.63% 14.63% 14.63% 14.63% 14.63% 14.63% 14.63% 14.63%        
Purchase from related party   $ 50,359 ¥ 350,590     $ 74,490 ¥ 512,154   $ 49,113 ¥ 331,958        
Suzhou Kzone Equipment Technology Co., Ltd                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Membership interests owned (as a percent)                           32.00%
Payable for equipment purchase                           $ 2,138
Percent of units purchased 32.00% 32.00% 32.00% 32.00% 32.00% 32.00% 32.00%              
Purchase from related party   $ 8,787 ¥ 61,174     $ 6,056 ¥ 41,635              
Dr. Shawn Qu | RSUs                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Granted (in shares) | shares 26,691 26,691 26,691 26,691 83,805 83,805 83,805 77,289 77,289 77,289        
Dr. Shawn Qu | Chinese Commercial Banks                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Maturity term of credit facility 1 year 1 year 1 year 1 year 1 year 1 year 1 year 1 year 1 year 1 year        
Maximum borrowing capacity   $ 204,000       $ 185,000     $ 206,000   ¥ 1,420,000 ¥ 1,270,000 ¥ 1,346,000  
Amounts drawn down   $ 82,937       $ 155,956     135,225          
Gaochuangte                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Revenue from sale of solar products                 $ 1,648 ¥ 11,352        
Percentage of ownership after sale transaction               80.00% 80.00% 80.00%        
Purchase cost incurred from related party                 $ 6,430 ¥ 44,271        
Luoyang Jiwa New Material Technology Co., Ltd [Member]                            
RELATED PARTY BALANCES AND TRANSACTIONS                            
Membership interests owned (as a percent)   25.00%                 25.00%      
Trade payable to affiliate   $ 55                        
XML 29 R103.htm IDEA: XBRL DOCUMENT v3.20.1
INCOME TAXES - Deferred tax assets and liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
Deferred tax assets:        
Accrued warranty costs $ 8,326 $ 9,424    
Bad debt allowance 10,324 7,019    
Inventory write-down 1,128 1,723    
Future deductible expenses 20,731 26,973    
Depreciation and impairment difference of property, plant and equipment and solar power systems 23,380 19,647    
Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges 496 9,341    
Deferred tax assets relating to sales of solar power systems 8,927 481    
Net operating losses carry-forward 112,710 90,536    
Unrealized foreign exchange loss and capital loss 7,064 9,471    
Interest limitation 2,767 13,520    
Others 26,415 13,947    
Total deferred tax assets, gross 222,268 202,082    
Valuation allowance (70,627) (76,522)    
Total deferred tax assets, net of valuation allowance 151,641 125,560    
Deferred tax liabilities:        
Derivative assets 217 2,697    
Depreciation difference of property, plant and equipment 18,789 1,212    
Deferred profit of projects   4,108    
Insurance recoverable 15,771 14,838    
Unrealized FX gain 10,984 4,803    
Others 8,380 12,513    
Total deferred tax liabilities 54,141 40,171    
Analysis as:        
Deferred tax assets 153,963 121,087    
Deferred tax liabilities (56,463) (35,698)    
Net deferred tax assets 97,500 85,389    
Accumulated net operating losses 670,541      
Accumulated net operating losses subject to expiration between 2020 and 2038 186,360      
Allowance        
Deferred tax assets:        
Valuation allowance $ (70,627) $ (76,522) $ (65,399) $ (71,469)
XML 31 R36.htm IDEA: XBRL DOCUMENT v3.20.1
Additional Information - Financial Statement Schedule I
12 Months Ended
Dec. 31, 2019
Additional Information - Financial Statement Schedule I  
Additional Information - Financial Statement Schedule I

Additional Information — Financial Statement Schedule I

Canadian Solar Inc.

Schedule I has been provided pursuant to the requirements of Rule 12-04(a) and 4-08(e)(3) of Regulation 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 Inc.’s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar Inc. as of December 31, 2019 of $497.2 million, exceeded the 25% threshold.

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.

FINANCIAL INFORMATION OF PARENT COMPANY

BALANCE SHEETS

December 31,

December 31,

    

2018

    

2019

(In Thousands of U.S. Dollars, except

share data)

ASSETS

Current assets:

Cash and cash equivalents

 

9,097

 

1,362

Restricted cash

950

Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively

 

11,476

 

Amounts due from subsidiaries

 

279,039

 

341,557

Prepaid expenses and other current assets

 

15,222

 

9,846

Total current assets

 

314,834

 

353,715

Investments in subsidiaries

 

1,154,004

 

1,383,935

Investments in affiliates

2,483

Deferred tax assets

 

28,208

 

23,657

Other non-current assets

 

68,068

 

69,070

TOTAL ASSETS

 

1,565,114

 

1,832,860

LIABILITIES AND EQUITY

Current liabilities:

Convertible notes

127,428

Accounts payable

 

3,903

 

3

Amounts due to related parties

 

154,765

 

340,502

Derivative liabilities

3,879

4,713

Other current liabilities

 

8,255

 

8,531

Total current liabilities

 

298,230

 

353,749

Long-term borrowings

 

 

50,000

Deferred tax liabilities

28,779

22,936

Liability for uncertain tax positions

 

12,633

 

13,041

TOTAL LIABILITIES

 

339,642

 

439,726

Equity:

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

 

702,931

 

703,806

Treasury stock

(11,845)

Additional paid-in capital

 

10,675

 

17,179

Retained earnings

 

622,015

 

793,601

Accumulated other comprehensive loss

 

(110,149)

 

(109,607)

TOTAL EQUITY

 

1,225,472

 

1,393,134

TOTAL LIABILITIES AND EQUITY

 

1,565,114

 

1,832,860

FINANCIAL INFORMATION OF PARENT COMPANY

STATEMENTS OF OPERATIONS

Years Ended December 31

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Net revenues

35,011

86,755

4,351

Cost of revenues

 

29,542

 

53,926

 

4,188

Gross profit

 

5,469

 

32,829

 

163

Operating expenses:

Selling expenses

 

2,221

 

2,518

 

1,727

General and administrative expenses

 

18,390

 

18,970

 

29,093

Research and development expenses

 

645

 

795

 

462

Other operating loss, net

1,173

77

Total operating expenses

 

22,429

 

22,360

 

31,282

Income (loss) from operations

 

(16,960)

 

10,469

 

(31,119)

Other income (expenses):

Interest expense

 

(20,078)

 

(9,170)

 

(3,005)

Interest income

 

42,191

 

32,370

 

25,272

Loss on change in fair value of derivatives, net

(7,134)

(2,671)

(5,193)

Foreign exchange gain (loss)

 

(18,110)

 

22,255

 

(11,318)

Investment loss

(11,944)

(116,879)

Other income (expenses), net:

 

(15,075)

 

42,784

 

(111,123)

Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees

 

(32,035)

 

53,253

 

(142,242)

Income tax (expense) benefit

 

1,686

 

(12,133)

 

5,230

Equity in earnings of subsidiaries

 

130,048

 

195,950

 

308,597

Equity in loss of unconsolidated investees

 

(127)

 

 

Net income

 

99,572

 

237,070

 

171,585

FINANCIAL INFORMATION OF PARENT COMPANY

STATEMENTS OF COMPREHENSIVE INCOME (LOSS)

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Net income

99,572

237,070

171,585

Other comprehensive income (loss) (net of tax of nil):

Foreign currency translation adjustment

 

37,780

 

(56,115)

 

542

Comprehensive income

 

137,352

 

180,955

 

172,127

FINANCIAL INFORMATION OF PARENT COMPANY

STATEMENTS OF CASH FLOWS

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars)

Operating activities:

Net income

 

99,572

 

237,070

 

171,585

Adjustments to reconcile net income to net cash provided by (used in) operating activities:

Depreciation and amortization

 

33

 

21

 

154

Loss on disposal of subsidiaries

9,559

116,879

Impairment loss of investment

3,686

Loss on change in fair value of derivatives

7,134

2,671

5,193

Allowance for doubtful accounts

 

2,666

 

(212)

 

(83)

Equity in earnings of subsidiaries

 

(130,048)

 

(195,950)

 

(308,597)

Equity in loss of unconsolidated investees

 

127

 

 

Share-based compensation

 

9,314

 

10,259

 

10,682

Changes in operating assets and liabilities:

Accounts receivable trade

 

(6,739)

 

(5,089)

 

11,563

Amounts due from subsidiaries

 

57,539

 

(184,755)

 

(43,630)

Advances to suppliers

 

(60)

 

60

 

Prepaid expenses and other current assets

 

(5,715)

 

(2,749)

 

5,449

Other non-current assets

 

1,016

 

(149)

 

(1,158)

Accounts payable

 

 

3,900

 

(3,900)

Amounts due to related parties

 

55,399

 

15,598

 

183,675

Other liabilities

 

22,436

 

(25,958)

 

1,193

Liability for uncertain tax positions

 

833

 

6,008

 

408

Deferred taxes

 

(6,106)

 

9,230

 

(1,292)

Net settlement of derivatives

(6,358)

 

21,450

 

(11,125)

Net cash provided by (used in) operating activities

 

114,288

 

(108,595)

 

136,996

Investing activities:

Investments in subsidiaries

 

(64,185)

 

(1,051)

 

(36,146)

Investments in affiliates

(2,483)

Proceeds from disposal of subsidiaries

61,749

Purchase of property, plant and equipment

 

(26)

 

 

1

Funding of loans to subsidiaries

(74,458)

(94,000)

(40,601)

Repayment of loans from subsidiaries

375,635

12,809

Net cash provided by (used in) investing activities

 

(76,920)

 

280,584

 

(66,420)

Financing activities:

Repayment of short-term borrowings

 

(49,000)

 

(151,000)

 

Proceeds from long-term borrowings

 

 

 

50,000

Repayment of convertible notes

 

 

 

(127,500)

Payments for repurchase of treasury stock

(11,845)

Proceeds from exercise of stock options

 

879

 

769

 

875

Net cash used in financing activities

 

(48,121)

 

(150,231)

 

(88,470)

Effect of exchange rate changes

 

6,362

 

(29,618)

 

11,110

Net decrease in cash and cash equivalents

 

(4,391)

 

(7,860)

 

(6,784)

Cash and cash equivalents at the beginning of the year

 

21,348

 

16,957

 

9,097

Cash and cash equivalents at the end of the year

 

16,957

 

9,097

 

2,313

Supplemental disclosure of cash flow information:

Interest paid (net of amounts capitalized)

 

18,375

 

10,154

 

4,644

XML 32 R32.htm IDEA: XBRL DOCUMENT v3.20.1
MAJOR CUSTOMERS
12 Months Ended
Dec. 31, 2019
MAJOR CUSTOMERS  
MAJOR CUSTOMERS

23. MAJOR CUSTOMERS

Details of customers accounting for 10% or more of total net revenues are as follows:

    

Years Ended December 31,

2017

2018

2019

    

$

$

$

Company A

 

718,341

 

23. MAJOR CUSTOMERS (Continued)

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.

XML 33 R120.htm IDEA: XBRL DOCUMENT v3.20.1
Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details) - USD ($)
$ / shares in Units, $ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Condensed Financial Statements    
Accounts receivable trade, allowance $ 29,545 $ 32,733
Common share, par value (in dollars per share) $ 0 $ 0
Common shares, shares issued (in shares) 59,371,684 59,180,624
Common shares, shares outstanding (in shares) 59,371,684 59,180,624
Reportable Legal Entities [Member] | Parent Company    
Condensed Financial Statements    
Accounts receivable trade, allowance $ 3,379 $ 3,462
Common share, par value (in dollars per share) $ 0  
Common shares, shares issued (in shares) 59,371,684 59,180,624
Common shares, shares outstanding (in shares) 59,371,684 59,180,624
XML 34 R124.htm IDEA: XBRL DOCUMENT v3.20.1
Appendix 1 - Major Subsidiaries of CSI (Details)
12 Months Ended
Dec. 31, 2019
CSI Cells Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 52.00%
Interest held as general partner 0.17%
Canadian Solar Manufacturing (Changshu) Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 20.00%
CSI Solartronics (Changshu) Co., Ltd  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI Solar Technologies Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI New Energy Holding Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Manufacturing (Luoyang) Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Manufacturing (Changshu) Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI Cells Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar (USA) Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Japan K.K.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Solutions Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Interest held as general partner 0.067%
CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.") | CSI Cells Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 37.33%
Canadian Solar EMEA GmbH  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar (Australia) Pty Limited  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar International Limited  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar O and M (Ontario) Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Suzhou Sanysolar Materials Technology Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 99.73%
Canadian Solar South East Asia Pte. Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar South Africa Pty., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Construction (USA) LLC  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Project K.K.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI&GCL Solar Manufacturing (Yancheng) Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar UK Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar UK Projects Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Changsu Tegu New Material Technology Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Changshu Tlian Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Recurrent Energy Group Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Recurrent Energy, LLC  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
PT. Canadian Solar Indonesia  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 67.00%
Canadian Solar Manufacturing Vietnam Co., Ltd  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Energy Private Limited  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as "Canadian Solar Australia 1 Pty Ltd.")  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Energy Holding Company Limited  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Manufacturing (Thailand) Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 99.99992%
Canadian Solar Sunenergy (Suzhou) Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Energy Holding Singapore Pte. Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Sunenergy (Baotou) Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Suzhou Gaochuangte New Energy Development Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 90.00%
CSI Cells (Yanchang) Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 48.00%
CSI Modules (DaFeng) Co., Ltd. | Canadian Solar Manufacturing (Changshu) Inc.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 3.12%
CSI Modules (DaFeng) Co., Ltd. | CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.")  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 96.88%
Canadian Solar Middle East DMCC  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI Investment Management (SuZhou) Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Construction (Australia) Pty Ltd  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSUK Energy Systems Construction and Generation JSC  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI Modules (JiaXing) Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
CSI Wafer (LuoYang) Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Manufacturing Taiwan Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Argentina Investment Holding Ltd  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Changshu Xingu Photovoltaic Material Technology Co., Ltd.  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar New Energy Holding Company Limited [Member]  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar Energy Holding Singapore Pte. Ltd. [Member]  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar SSES (Canada) Inc. [Member]  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
Canadian Solar SSES (UK) Ltd [Member]  
Major Subsidiaries of CSI  
Attributable Equity Interest Held (as a percent) 100.00%
XML 35 R19.htm IDEA: XBRL DOCUMENT v3.20.1
VARIABLE INTEREST ENTITIES
12 Months Ended
Dec. 31, 2019
VARIABLE INTEREST ENTITIES  
VARIABLE INTEREST ENTITIES

10. VARIABLE INTEREST ENTITIES

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.

As of December 31, 2018 and 2019, the carrying amounts and classifications of the consolidated VIEs’ major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company’s consolidated balance sheet are as follows:

    

At December 31,

    

At December 31,

2018

2019

$

$

Project assets

185,448

197,366

Other assets

21,836

26,102

Total assets

207,284

223,468

Short-term borrowings

9,160

139,708

Long-term borrowings

113,973

Other liabilities

59,476

66,569

Total liabilities

182,609

206,277

Net income and overall cash flow activities during the year are immaterial to the consolidated financial statements.

XML 36 R11.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES
12 Months Ended
Dec. 31, 2019
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES  
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES

(a)   Basis of presentation

The consolidated financial statements of the Company have been prepared in accordance with U.S. generally accepted accounting principles (“U.S. GAAP”).

(b)   Basis of consolidation

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 (“VIEs”) for which the Company is a primary beneficiary.

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.

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.

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’s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

(c)   Use of estimates

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’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 (“ARO”), 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.

(d)   Cash and cash equivalents and restricted cash

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 acquired.

Restricted cash represents amounts held by banks, which are not available for the Company’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 Company.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(e)   Accounts receivable, unbilled

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.

(f)    Allowance for doubtful receivables

The Company began purchasing insurance from China Export & 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 expense.

(g)   Advances to suppliers

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 sheets.

(h)   Inventories

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.

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(i)    Project assets

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.

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

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 “project companies”. 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.

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.

(j)    Business combination

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(k)   Assets acquisition

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’ carrying amounts on the Company’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.

(l)  Property, plant and equipment

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 incurred.

Depreciation is computed on a straight-line basis over the following estimated useful lives:

Buildings

    

20 years

Leasehold improvements

 

Over the shorter of the lease term or their estimated useful lives

Machinery

5-10 years

Furniture, fixtures and equipment

5 years

Motor vehicles

 

5 years

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 time.

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 changed.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(m)   Solar power systems

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 (‘‘FIT’’) 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.

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 20 to 25 years.

(n)   Intangible assets

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:

Technical know-how

10 years

Computer software

1-10 years

(o)   Prepaid land use rights

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 (“PRC”) and Japan. Amounts are charged to earnings ratably over the lease periods of 20 to 50 years.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(p)    Investments in affiliates

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.

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) nature of the investment; (ii) cause and duration of the impairment; (iii) extent to which fair value is less than cost; (iv) financial conditions and near term prospects of the affiliates; and (v) 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.

(q)    Impairment of long-lived assets

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’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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(r)    Interest capitalization

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.

(s)   Assets retirement obligation

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 (“ARO”) 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 (“ASC 410-20”). 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.

(t)   Leases

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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’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’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.

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.

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.

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.

(u)   Contingencies

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 incurred.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(v)  Income taxes

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.

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.

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.

(w)   Revenue recognition

The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.

Solar power products and materials

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’s accounting policy for warranty.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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 million and $7.7 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.

O&M services

O&M services are transferred over time when customers receive and consume the benefits provided by the Company’s performance under the terms of service arrangements. Revenues from O&M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&M services are expensed when incurred.

EPC and development services

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’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’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’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’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.

Solar power projects

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

Electricity revenue

Electricity revenue is generated primarily by the Company’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.

Disaggregation of Revenue

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.

The following table represents a disaggregation of revenue recognized at a point in time or over time:

Years Ended December 31,

    

2017

    

2018

    

2019

 

(In Thousands of U.S. Dollars)

MSS:

Revenue recognized at a point in time

 

2,705,985

 

2,095,743

 

2,238,310

Revenue recognized over time

 

6,938

 

73,175

 

242,828

Energy:

Revenue recognized at a point in time

633,195

1,542,906

668,476

Revenue recognized over time

44,275

32,688

50,969

 

3,390,393

 

3,744,512

 

3,200,583

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

The Company’s contract assets and liabilities are as follow:

    

At December 31,
2018

    

At December31,
2019

    

Fluctuation

 

(In Thousands of U.S. Dollars)

 

Contract Assets

 

  

 

  

 

  

Accounts receivables, unbilled

 

38

 

15,256

 

15,218

Contract Liabilities

 

  

 

 

Advances from customers

 

39,024

 

134,806

 

95,782

Other current liabilities

 

51,381

 

20,917

 

(30,464)

 

90,405

 

155,723

 

65,318

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.

Practical Expedients and Exemptions

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.

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.

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.

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.

(x)   Shipping and handling costs

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(y)    Research and development

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.

(z) Other operating income, net

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.

Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company’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.

The following table summarizes the Company’s other operating income, net:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Net gain on disposal of solar power system

(27,803)

(36,098)

(1,666)

Net loss on disposal of property, plant and equipment

1,960

2,565

1,227

Government grants

(6,473)

(11,013)

(10,097)

Business interruption insurance compensation

(15,238)

(47,554)

(44,546)

(10,536)

(aa) Warranty cost

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.

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 warranties.

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’ and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company’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 products.

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’s solar 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 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 assets.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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’s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC 410-30.

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.

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 insurance.

As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company’s 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, 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.

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ab) Foreign currency translation

The United States dollars (“U.S. dollars” or “$”), the currency in which a substantial amount of the Company’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.

The financial records of certain of the Company’s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (“RMB”), Euros, Canadian dollars (“CAD”), Japanese yen and Brazilian reals (“BRL”), 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.

(ac) Comprehensive income

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) net income, (ii) foreign currency translation adjustments, (iii) 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.

(ad) Foreign currency risk

The majority of the Company’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’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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ae) Concentration of credit risk

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.

All of the Company's cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.

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.

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.

(af) Fair value of financial instruments

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:

Level 1—Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company’s restricted cash balance for all periods presented uses level one fair value inputs.

Level 2—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.

Level 3—Unobservable inputs reflecting the Company’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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ag) Derivatives instruments and hedging activity

The Company’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’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.

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’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’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.

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.

(ah) Earnings (loss) per share

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.

(ai) Share-based compensation

The Company’s share-based compensation with employees, such as share options, restricted shares and restricted share units (“RSUs”), 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 period.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(aj) Recently issued accounting pronouncements

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, “Leases (Topic 842)—Targeted Improvements”, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.

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 “package of three”, 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.

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.

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.

In June 2016, the FASB issued ASU 2016-13, “Financial Instruments—Credit Losses (Topic 326)”, 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 “expected loss” 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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

In August 2018, the FASB issued ASU 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework–Changes to the Disclosure Requirements for Fair Value”. 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.

In October 2018, the FASB issued ASU 2018-17, “Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities”, 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.

In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), 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.

XML 37 R15.htm IDEA: XBRL DOCUMENT v3.20.1
PROPERTY, PLANT AND EQUIPMENT, NET
12 Months Ended
Dec. 31, 2019
PROPERTY, PLANT AND EQUIPMENT, NET  
PROPERTY, PLANT AND EQUIPMENT, NET

6. PROPERTY, PLANT AND EQUIPMENT, NET

Property, plant and equipment, net consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Buildings

 

441,975

 

453,712

Leasehold improvements

 

13,058

 

14,225

Machinery

 

785,874

 

1,074,460

Furniture, fixtures and equipment

 

64,135

 

64,117

Motor vehicles

 

6,100

 

6,351

Land

18,810

20,451

 

1,329,952

 

1,633,316

Accumulated depreciation

 

(489,927)

 

(598,297)

Impairment

(30,503)

 

(45,437)

Subtotal

 

809,522

 

989,582

Construction in process

 

75,464

 

56,453

Property, plant and equipment, net

 

884,986

 

1,046,035

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.

XML 38 R74.htm IDEA: XBRL DOCUMENT v3.20.1
INTANGIBLE ASSETS, NET (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
INTANGIBLE ASSETS, NET      
Gross Carrying Amount $ 39,633 $ 28,251  
Accumulated Amortization (16,842) (13,348)  
Total intangible assets, net 22,791 14,903  
Amortization expense 5,310 4,666 $ 4,659
Expected amortization expense of intangible assets      
2020 4,400    
2021 3,600    
2022 3,100    
2023 2,500    
2024 and thereafter 9,200    
Technical know-how      
INTANGIBLE ASSETS, NET      
Gross Carrying Amount 1,428 2,369  
Accumulated Amortization (1,425) (1,458)  
Total intangible assets, net 3 911  
Computer software      
INTANGIBLE ASSETS, NET      
Gross Carrying Amount 38,205 25,882  
Accumulated Amortization (15,417) (11,890)  
Total intangible assets, net $ 22,788 $ 13,992  
XML 39 R84.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Cash flow (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2019
USD ($)
LEASE  
Operating cash flows from finance leases $ 3,213
Operating cash flows from operating leases 15,866
Financing cash flows from finance lease 33,614
Right-of-use assets obtained in exchange of new finance lease liabilities 7,300
Right-of-use assets obtained in exchange of new operating leases $ 18,222
XML 40 R80.htm IDEA: XBRL DOCUMENT v3.20.1
INVESTMENTS IN AFFILIATES (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Other investments    
Investments in affiliates $ 152,828 $ 126,095
RE Roserock Holdings LLC ("Roserock")    
Other investments    
Investments in affiliates $ 83,034 $ 62,767
Ownership percentage 49.00% 49.00%
Canadian Solar Infrastructure Fund, Inc    
Other investments    
Investments in affiliates $ 19,162 $ 23,990
Ownership percentage 14.66% 14.66%
Suzhou Financial Leasing Co., Ltd.    
Other investments    
Investments in affiliates $ 16,050 $ 14,361
Ownership percentage 6.00% 6.00%
Others    
Other investments    
Investments in affiliates $ 34,582 $ 24,977
Others | Minimum    
Other investments    
Ownership percentage 15.00% 21.00%
Others | Maximum    
Other investments    
Ownership percentage 49.00% 49.00%
XML 41 R70.htm IDEA: XBRL DOCUMENT v3.20.1
INVENTORIES (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
INVENTORIES      
Raw materials $ 75,722 $ 47,759  
Work-in-process 74,105 46,817  
Finished goods 404,243 167,446  
Inventories 554,070 262,022  
Inventory written down $ 19,447 $ 14,646 $ 17,820
XML 42 R88.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Finance leases - Maturities (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Maturities of finance leases    
2020 $ 27,439  
2021 13,087  
2022 604  
Total future minimum lease payments $ 41,130  
Year Ending December 31:    
2019   $ 40,945
2020   23,483
2021   11,842
2022   556
Total future minimum lease payments   $ 76,826
XML 43 R78.htm IDEA: XBRL DOCUMENT v3.20.1
FAIR VALUE MEASUREMENT - Carrying value (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
FAIR VALUE MEASUREMENT      
Impairment charges for property, plant and equipment $ 21,866 $ 30,968 $ 11,626
Carrying value of long-term borrowings 619,477 393,614  
Convertible notes $ 0 $ 127,400  
XML 44 R53.htm IDEA: XBRL DOCUMENT v3.20.1
EARNINGS PER SHARE (Tables)
12 Months Ended
Dec. 31, 2019
EARNINGS PER SHARE  
Schedule of computation of basic and diluted earnings per share

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars, except share and

per share data)

Numerator:

Net income attributable to Canadian Solar Inc. — basic

$

99,572

$

237,070

$

171,585

Dilutive effect of interest expense of convertible notes

4,649

4,683

975

Net income attributable to Canadian Solar Inc. — diluted

$

104,221

$

241,753

$

172,560

Denominator:

Denominator for basic calculation — weighted average number of common shares — basic

 

58,167,004

 

58,914,540

 

59,633,855

Diluted effects of share number from share options and RSUs

 

547,821

 

543,797

 

794,526

Dilutive effects of share number from convertible notes

2,833,333

2,833,333

349,315

Denominator for diluted calculation — weighted average number of common shares — diluted

 

61,548,158

 

62,291,670

 

60,777,696

Basic earnings per share

$

1.71

$

4.02

$

2.88

Diluted earnings per share

$

1.69

$

3.88

$

2.83

Schedule of anti-dilutive shares excluded from the computation of diluted earnings per share

Years Ended December 31,

    

2017

    

2018

    

2019

Share options and RSUs

372,743

 

276,618

 

41,950

XML 45 R8.htm IDEA: XBRL DOCUMENT v3.20.1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Operating activities:      
Net income $ 166,555 $ 242,431 $ 102,983
Adjustments to reconcile net income to net cash provided by operating activities:      
Depreciation and amortization 159,723 129,256 99,273
Loss on disposal of property, plant and equipment 1,227 2,565 13,976
Gain on disposal of solar power systems (1,666) (36,098) (27,803)
Gain on disposal of investment in affiliates (1,928) (47,102)  
Impairment loss of property, plant and equipment 21,866 30,968 11,626
Impairment loss of project assets 20,194 9,016 0
Impairment of long-lived assets 0 5,738 3,686
Loss on change in fair value of derivatives, net 22,218 19,230 272
Equity in loss of unconsolidated investees (28,948) (5,908) (9,411)
Allowance for doubtful accounts 1,250 2,812 7,265
Non-cash operating lease expenses 14,318    
Write-down of inventories 19,447 14,646 17,820
Share-based compensation 10,682 10,258 9,314
Unrealized gain (loss) from sales to affiliates 6,194 (13,573) 13,065
Changes in operating assets and liabilities:      
Accounts receivable trade 51,670 (179,607) 46,337
Accounts receivable, unbilled (15,268) 1,158 2,345
Amounts due from related parties (17,347) 9,237 (10,089)
Inventories (312,781) 55,408 (49,024)
Value added tax recoverable (849) (9,206) (38,190)
Advances to suppliers (27,066) 29,001 (15,990)
Project assets 28,527 (30,501) (128,982)
Prepaid expenses and other current assets 33,283 (2,208) (49,813)
Other non-current assets (24,037) 9,387 (23,795)
Accounts payable 209,175 47,756 (27,758)
Short-term notes payable 185,827 (173,148) 243,685
Amounts due to related parties (5,798) 10,467 33,908
Other payables 42,810 39,791 (5,889)
Advances from customers 96,115 (11,225) (44,985)
Operating lease liabilities (12,566)    
Other liabilities (10,851) (29,691) (18,774)
Accrued warranty costs 4,624 (3,563) (6,726)
Prepaid land use rights 2,622 6,557 (30,087)
Goodwill 1,005 5,243 1,369
Liability for uncertain tax positions (4,775) 10,863 833
Deferred taxes (12,455) 37,591 84,939
Net settlement of derivatives (27,012) 28,731 (1,460)
Loss contingency accruals 4,126    
Net cash provided by (used in) operating activities 600,111 216,280 203,920
Investing activities:      
Investments in affiliates (7,684) (11,036) (92,925)
Return of investment from affiliates 3,012 816 4,233
Proceeds from disposal of investment in affiliates 1,649 337,773  
Purchase of property, plant and equipment and intangible assets (291,182) (316,282) (276,978)
Purchase of solar power systems     (33,697)
Proceeds from disposal of solar power systems 103 17,800 128,768
Proceeds from insurance claim     43,930
Acquisition of subsidiaries, net of cash paid     (12,561)
Net cash provided by (used in) investing activities (294,102) 29,071 (239,230)
Financing activities:      
Proceeds from short-term borrowings 1,257,009 1,430,708 1,646,910
Repayment of short-term borrowings (1,649,721) (2,368,967) (2,068,069)
Proceeds from long-term borrowings 530,990 382,831 690,841
Acquisition of non-controlling interest (14,176) (6,591)  
Proceeds from non-controlling interests 11,488 10,470  
Proceeds from third party financing liabilities 3,000 119,095 12,243
Proceeds from sales-leaseback arrangement 9,044 35,944 61,142
Distributions to tax equity investors (1,120) (3,013) (9,582)
Repayment of finance lease obligation (42,658) (64,859) (30,128)
Repayment of short-term commercial paper     (138,953)
Payments for repurchase of convertible notes (127,500)    
Proceeds from exercise of stock options 875 769 879
Payments for repurchase of treasury stock (11,845)    
Net cash provided by (used in) financing activities (34,614) (463,613) 165,283
Effect of exchange rate changes (6,965) (38,725) 51,342
Net increase (decrease) in cash, cash equivalents and restricted cash 264,430 (256,987) 181,315
Cash, cash equivalents and restricted cash at the beginning of the year 940,990 1,190,134 1,007,700
Less: net decrease in cash, cash equivalents and restricted cash classified within assets held-for-sale   (7,843) (1,119)
Cash, cash equivalents and restricted cash at the end of the year 1,205,420 940,990 1,190,134
Supplemental disclosure of cash flow information:      
Interest paid (net of amounts capitalized) 85,362 103,236 113,513
Income taxes paid 40,454 32,135 45,483
Supplemental schedule of non-cash activities:      
Reclassification of solar power systems to project assets     4,782
Property, plant and equipment costs included in other payables $ 244,483 $ 228,970 $ 153,017
XML 46 R57.htm IDEA: XBRL DOCUMENT v3.20.1
SHARE-BASED COMPENSATION (Tables)
12 Months Ended
Dec. 31, 2019
SHARE-BASED COMPENSATION  
Schedule of the RSU activity

    

    

Weighted Average

Number of

Grant-Date

Shares

Fair Value

$

Unvested at January 1, 2019

 

1,781,271

14.18

Granted

 

706,637

18.05

Vested

 

(696,853)

15.40

Forfeited

 

(131,288)

15.01

Unvested at December 31, 2019

 

1,659,767

15.26

XML 47 R4.htm IDEA: XBRL DOCUMENT v3.20.1
CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Net revenues:      
-Non-related parties $ 3,101,113 $ 3,624,687 $ 3,221,928
-Related parties 99,470 119,825 168,465
Total net revenues 3,200,583 3,744,512 3,390,393
Cost of revenues:      
-Non-related parties 2,424,476 2,894,611 2,641,583
-Related parties 57,610 74,819 111,212
Total cost of revenues 2,482,086 2,969,430 2,752,795
Gross profit 718,497 775,082 637,598
Operating expenses:      
Selling expenses 180,326 165,402 156,032
General and administrative expenses 242,783 245,376 230,998
Research and development expenses 47,045 44,193 28,777
Other operating income, net (10,536) (44,546) (47,554)
Total operating expenses, net 459,618 410,425 368,253
Income from operations 258,879 364,657 269,345
Other income (expenses):      
Interest expense (81,326) (106,032) (117,971)
Interest income 12,039 11,207 10,477
Loss on change in fair value of derivatives, net (22,218) (19,230) (272)
Foreign exchange gain (loss) 10,370 6,529 (23,449)
Investment income (loss) 1,929 41,361 (3,607)
Other expenses, net (79,206) (66,165) (134,822)
Income before income taxes and equity in earnings of unconsolidated investees 179,673 298,492 134,523
Income tax expense (42,066) (61,969) (40,951)
Equity in earnings (loss) of unconsolidated investees 28,948 5,908 9,411
Net income 166,555 242,431 102,983
Less: net income (loss) attributable to non-controlling interests (5,030) 5,361 3,411
Net income attributable to Canadian Solar Inc. $ 171,585 $ 237,070 $ 99,572
Earnings per share - basic $ 2.88 $ 4.02 $ 1.71
Shares used in computation - basic 59,633,855 58,914,540 58,167,004
Earnings per share - diluted $ 2.83 $ 3.88 $ 1.69
Shares used in computation - diluted 60,777,696 62,291,670 61,548,158
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.20.1
Appendix 1 - Major Subsidiaries of CSI
12 Months Ended
Dec. 31, 2019
Appendix 1 - Major Subsidiaries of CSI  
APPENDIX 1 - Major Subsidiaries of CSI

Appendix 1

Major Subsidiaries of CSI

The following table sets forth information concerning CSI’s major subsidiaries:

Place and

Attributable

Date

Equity

Subsidiary

    

of Incorporation

    

Interest Held

    

Principal Activity

CSI Solartronics (Changshu) Co., Ltd. 

PRC

100

%  

Developing solar power project

November 23, 2001

CSI Solar Technologies Inc. 

PRC

100

%  

Sales and marketing of solar products

August 8, 2003

CSI New Energy Holding Co., Ltd.

PRC

100

%  

Investment holding

January 7, 2005

Canadian Solar Manufacturing (Luoyang) Inc. 

PRC

100

%  

Manufacture of solar modules,

February 24, 2006

ingots and wafers

Canadian Solar Manufacturing (Changshu) Inc. 

PRC

100

%  

Production of solar modules

August 1, 2006

CSI Cells Co., Ltd. 

PRC

100

%  

Manufacture of solar cells

August 23, 2006

Canadian Solar (USA) Inc. 

USA

100

%  

Sales and marketing of modules

June 8, 2007

Canadian Solar Japan K.K. 

Japan

100

%  

Sales and marketing of modules

June 21, 2009

Canadian Solar Solutions Inc. 

Canada

100

%  

Developing solar power project and manufacture of solar modules

June 22, 2009

CSI Solar Power Group Co., Ltd. (formerly named/known as "CSI Solar Power (China) Inc.") 

PRC

100

%  

Investment holding and trading

July 7, 2009

Canadian Solar EMEA GmbH

Germany

100

%  

Sales and marketing of modules

August 21, 2009

Canadian Solar (Australia) Pty Limited

Australia

100

%  

Developing solar power project

February 3, 2011

Canadian Solar International Limited

Hong Kong

100

%  

Sales and marketing of modules

March 25, 2011

Canadian Solar O and M (Ontario) Inc. 

Canada

100

%  

Solar farm operating and maintenance service

May 10, 2011

Suzhou Sanysolar Materials Technology Co., Ltd. 

PRC

99.73

%  

Production of solar module materials

August 17, 2011

Canadian Solar South East Asia Pte. Ltd. 

Singapore

100

%  

Sales and marketing of modules

September 19, 2011

Canadian Solar South Africa (Pty) Ltd

South Africa

100

%  

Sales and marketing of modules

June 22, 2012

Canadian Solar Brazil Commerce, Import and Export of Solar Panels Ltd.

Brazil

100

%  

Sales and marketing of solar modules, and provide solar energy solution to customer

November 14, 2012

Canadian Solar Construction (USA) LLC

USA

100

%  

Solar farm operating and maintenance service

May 20, 2014

Canadian Solar Projects K.K.

Japan

100

%  

Developing solar power project

May 20, 2014

CSI&GCL Solar Manufacturing (Yan Cheng) Inc.

PRC

100

%  

Research and developing, manufacture and sales of solar cells, and solar power projects development

May 29, 2014

Canadian Solar UK Ltd.

United Kingdom

 

100

%  

Sales and marketing of modules

May 29, 2014

Canadian Solar UK Projects Ltd.

United Kingdom

100

%  

Developing solar power project

August 29, 2014

Changshu Tegu New Material Technology Co., Ltd.

 

PRC

 

100

%  

EVA solar packaging film research and development, production, and sales

September 2, 2014

Changshu Tlian Co., Ltd.

 

PRC

100

%  

Junction box and connector research, development, production and sales

December 26, 2014

Recurrent Energy Group Inc.

USA

100

%  

Developing solar power project

January 22, 2015

Recurrent Energy, LLC

USA

100

%  

Developing solar power project

March 31, 2015

PT. Canadian Solar Indonesia

Indonesia

67

%  

Production of solar modules

February 26, 2015

Canadian Solar Manufacturing Vietnam Co., Ltd.

Vietnam

100

%  

Production of solar modules

June 25, 2015

Canadian Solar Energy Private Limited

India

100

%  

Sales and marketing of modules

May 06, 2015

Canadian Solar MSS (Australia) Pty Ltd (formerly named/known as “Canadian Solar Australia 1 Pty Ltd. ")

Australia

100

%  

Sales and marketing of modules

August 03, 2015

Canadian Solar Energy Holding Company Limited

Hong Kong

100

%  

Project investment, financing, trading of solar modules

September 22, 2015

Canadian Solar Energy Singapore Pte. Ltd.

Singapore

100

%  

Development & Ownership of solar PV projects

October 29, 2015

Canadian Solar Manufacturing (Thailand) Co.,Ltd.

Thailand

99.99992

%  

Cells and module production

November 20, 2015

Canadian Solar Sunenergy (Suzhou) Co., Ltd.

PRC

100

%  

Production of solar modules

May 12, 2016

Canadian Solar Sunenergy (Baotou) Co., Ltd.

PRC

100

%  

Production of solar modules, ingots and wafers

August 18, 2016

Canadian Solar Middle East DMCC

United Arab Emirates

100

%  

Sales and marketing of modules

March 28, 2017

CSI Investment Management (SuZhou) Co., Ltd.

PRC

100

%  

Investment management & assets management

May 05, 2017

Suzhou Gaochuangte New Energy Development Co., Ltd.

PRC

90

%  

Design, engineering construction and management of solar power project

June 12, 2017

CSI Cells (Yancheng) Co., Ltd.

PRC

*

Production of solar cells

May 18, 2017

CSI Modules (DaFeng) Co., Ltd.

PRC

**

Production of solar modules

May 16, 2017

Canadian Solar Construction (Australia) Pty Ltd

Australia

100

%  

Providing engineering, procurement and construction service

July 04, 2017

CSUK Energy Systems Construction and Generation JSC

Turkey

100

%  

Construction of power plants generating electricity by utilizing renewable energy sources

October 30, 2017

CSI Modules (JiaXing) Co., Ltd.

PRC

100

%  

Production of solar modules

November 3, 2017

CSI Wafer (LuoYang) Co., Ltd.

PRC

100

%  

Production of solar cells and wafers

November 27, 2017

Canadian Solar Manufacturing Taiwan Co., Ltd.

PRC

100

%  

Production of solar modules

December 05, 2017

Canadian Solar Argentina Investment Holding Ltd.

Argentina

100

%  

Developing solar power project

January 23, 2018

Changsu Xingu Photovoltaic Material Technology Co., Ltd.

PRC

100

%  

EVA solar packaging film research and development, production and sales

March 19, 2018

Canadian Solar New Energy Holding Company Limited

Hong Kong

100

%

Project investment, financing, trading of solar modules.

March 20, 2019

Canadian Solar Energy Holding Singapore Pte. Ltd.

Singapore

100

%

Development & Ownership of Solar PV Projects

April 22, 2019

Canadian Solar SSES (Canada) Inc.

Canada

100

%

System Solution and Energy Storage

Nov 27, 2019

Canadian Solar SSES (UK) Ltd

United Kingdom

100

%

IP holding

December 18, 2019

*      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.

**    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.

XML 49 R33.htm IDEA: XBRL DOCUMENT v3.20.1
EMPLOYEE BENEFIT PLANS
12 Months Ended
Dec. 31, 2019
EMPLOYEE BENEFIT PLANS  
EMPLOYEE BENEFIT PLANS

24. EMPLOYEE BENEFIT PLANS

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.

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.

XML 50 R106.htm IDEA: XBRL DOCUMENT v3.20.1
EARNINGS PER SHARE (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Computation of basic and diluted gain (loss) per share      
Net income attributable to Canadian Solar Inc. - basic (in dollars) $ 171,585 $ 237,070 $ 99,572
Dilutive effect of interest expense of convertible notes 975 4,683 4,649
Net income attributable to Canadian Solar Inc. - diluted $ 172,560 $ 241,753 $ 104,221
Denominator for basic calculation - weighted average number of common shares - basic 59,633,855 58,914,540 58,167,004
Diluted effects of share number from share options and RSUs 794,526 543,797 547,821
Dilutive effects of share number from convertible notes 349,315 2,833,333 2,833,333
Denominator for diluted calculation - weighted average number of common shares - diluted 60,777,696 62,291,670 61,548,158
Basic earnings per share (in dollars per share) $ 2.88 $ 4.02 $ 1.71
Diluted earnings per share (in dollars per share) $ 2.83 $ 3.88 $ 1.69
Share options and RSUs      
Computation of basic and diluted gain (loss) per share      
Anti-dilutive shares excluded from the computation of diluted earnings per share, total 41,950 276,618 372,743
XML 51 R102.htm IDEA: XBRL DOCUMENT v3.20.1
INCOME TAXES - Domestic federal statutory tax rates (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2019
USD ($)
item
Dec. 31, 2018
USD ($)
Dec. 31, 2017
USD ($)
Dec. 31, 2016
USD ($)
Income taxes:        
Federal and provincial income tax rate (as a percent) 27.00% 27.00% 27.00%  
Amount of interest and penalties accrued related to unrecognized tax benefits $ 4,795 $ 4,398    
Changes to the company's liabilities for uncertain tax positions        
Beginning balance 15,730 6,181 $ 5,684  
Addition for tax positions related to the current year 11 9,806 1,376  
Reductions for tax positions from prior years/Statute of limitations expirations (5,720)   (1,094)  
Foreign exchange effect 536   215  
Foreign exchange effect   (257)    
Ending balance $ 10,557 $ 15,730 $ 6,181 $ 5,684
Canada        
Income taxes:        
Federal and provincial income tax rate (as a percent) 26.50% 26.50% 26.50%  
Canada | Canadian Solar Solutions Inc.        
Income taxes:        
Federal and provincial income tax rate (as a percent) 25.00% 25.00% 25.00%  
United States | Canadian Solar (USA) Inc.        
Income taxes:        
Income tax rate (as a percent) 22.89% 24.82% 38.61%  
United States | Canadian Solar Energy Acquisition Co.        
Income taxes:        
Income tax rate (as a percent) 27.89% 25.32% 38.32%  
Japan | Canadian Solar Japan K.K.        
Income taxes:        
Income tax rate (as a percent) 31.78% 32.02% 32.02%  
Germany | Canadian Solar EMEA GmbH        
Income taxes:        
Income tax rate (as a percent) 33.00% 33.00% 33.00%  
Vietnam | Canadian Solar Manufacturing Vietnam Co., Ltd        
Income taxes:        
Income tax rate (as a percent)       10.00%
Reduced income tax rate from 2020 to 2028 (as a percent) 5.00%      
Thailand | Canadian Solar Manufacturing (Thailand) Co., Ltd.        
Income taxes:        
Income tax rate (as a percent)       20.00%
Number of Board of Investment certificates for tax exemption | item 2      
Hong Kong | HKSI        
Income taxes:        
Income tax rate (as a percent) 16.50% 16.50% 16.50%  
XML 52 report.css IDEA: XBRL DOCUMENT /* 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; } XML 53 R10.htm IDEA: XBRL DOCUMENT v3.20.1
ORGANIZATION AND PRINCIPAL ACTIVITIES
12 Months Ended
Dec. 31, 2019
ORGANIZATION AND PRINCIPAL ACTIVITIES  
ORGANIZATION AND PRINCIPAL ACTIVITIES

1. ORGANIZATION AND PRINCIPAL ACTIVITIES

Canadian Solar Inc. (“CSI”) 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.

CSI and its subsidiaries (collectively, the “Company”) 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&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.

XML 54 R14.htm IDEA: XBRL DOCUMENT v3.20.1
PROJECT ASSETS
12 Months Ended
Dec. 31, 2019
PROJECT ASSETS  
PROJECT ASSETS

5. PROJECT ASSETS

Project assets consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Project assets — Acquisition cost

51,635

55,158

Project assets — EPC and other cost

1,234,128

1,031,976

1,285,763

1,087,134

Current portion

933,563

604,083

Non-current portion

352,200

483,051

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.

XML 55 R121.htm IDEA: XBRL DOCUMENT v3.20.1
Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Condensed Financial Statements      
Net revenues $ 3,200,583 $ 3,744,512 $ 3,390,393
Cost of revenues 2,482,086 2,969,430 2,752,795
Gross profit 718,497 775,082 637,598
Operating expenses      
Selling expenses 180,326 165,402 156,032
General and administrative expenses 242,783 245,376 230,998
Research and development expenses 47,045 44,193 28,777
Other operating loss, net (10,536) (44,546) (47,554)
Total operating expenses, net 459,618 410,425 368,253
Income (loss) from operations 258,879 364,657 269,345
Other income (expenses):      
Interest expense (81,326) (106,032) (117,971)
Interest income 12,039 11,207 10,477
Loss on change in fair value of derivatives, net (22,218) (19,230) (272)
Foreign exchange gain (loss) 10,370 6,529 (23,449)
Investment loss 1,929 41,361 (3,607)
Other income (expenses), net: (79,206) (66,165) (134,822)
Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees 179,673 298,492 134,523
Income tax (expense) benefit (42,066) (61,969) (40,951)
Equity in loss of unconsolidated investees 28,948 5,908 9,411
Net income attributable to Canadian Solar Inc. 171,585 237,070 99,572
Reportable Legal Entities [Member] | Parent Company      
Condensed Financial Statements      
Net revenues 4,351 86,755 35,011
Cost of revenues 4,188 53,926 29,542
Gross profit 163 32,829 5,469
Operating expenses      
Selling expenses 1,727 2,518 2,221
General and administrative expenses 29,093 18,970 18,390
Research and development expenses 462 795 645
Other operating loss, net   77 1,173
Total operating expenses, net 31,282 22,360 22,429
Income (loss) from operations (31,119) 10,469 (16,960)
Other income (expenses):      
Interest expense (3,005) (9,170) (20,078)
Interest income 25,272 32,370 42,191
Loss on change in fair value of derivatives, net (5,193) (2,671) (7,134)
Foreign exchange gain (loss) (11,318) 22,255 (18,110)
Investment loss (116,879)   (11,944)
Other income (expenses), net: (111,123) 42,784 (15,075)
Income (loss) before income taxes and equity in earnings (loss) of subsidiaries and unconsolidated investees (142,242) 53,253 (32,035)
Income tax (expense) benefit 5,230 (12,133) 1,686
Equity in earnings of subsidiaries 308,597 195,950 130,048
Equity in loss of unconsolidated investees     (127)
Net income attributable to Canadian Solar Inc. $ 171,585 $ 237,070 $ 99,572
XML 56 R18.htm IDEA: XBRL DOCUMENT v3.20.1
FAIR VALUE MEASUREMENT
12 Months Ended
Dec. 31, 2019
FAIR VALUE MEASUREMENT  
FAIR VALUE MEASUREMENT

9. FAIR VALUE MEASUREMENT

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.

As of December 31, 2018 and 2019, the Company’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.

9. FAIR VALUE MEASUREMENT (Continued)

Foreign exchange option and forward contracts

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.

The Company’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 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.

Interest rate swap

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.

In 2018, the UK projects were sold and the interest rate swaps were assumed by the third party buyer.

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.

The estimated fair value of interest rate swaps was measured based on observable market data, which are considered Level 2 inputs.

9. FAIR VALUE MEASUREMENT (Continued)

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:

Fair Value of Derivative Assets

At December 31, 2018

At December 31, 2019

    

Balance Sheet Location

    

Fair Value

    

Balance Sheet Location

    

Fair Value

$

$

Foreign exchange forward contracts

 

Derivative assets — current

 

4,166

 

Derivative assets — current

 

5,097

Foreign exchange option contracts

Derivative assets — current

1

Derivative assets — current

450

Interest rate swap

 

Derivative assets — current

 

594

 

Derivative assets — current

 

Interest rate swap

Derivative assets — non-current

3,216

Derivative assets — non-current

Total

 

7,977

Total

5,547

Fair Value of Derivative Liabilities

At December 31, 2018

At December 31, 2019

    

Balance Sheet Location

    

Fair Value

    

Balance Sheet Location

    

Fair Value

$

$

Foreign exchange forward contracts

Derivative liabilities — current

13,480

Derivative liabilities — current

10,127

Foreign exchange option contracts

Derivative liabilities — current

218

Derivative liabilities — current

25

Interest rate swap

Derivative liabilities — current

Derivative liabilities — current

329

Interest rate swap

Derivative liabilities — non-current

Derivative liabilities — non-current

1,841

 

Total

 

13,698

 

Total

 

12,322

Amount of Gain (Loss)

Recognized in Statements

Location of

of Operations

Gain (Loss) Recognized

Years Ended December 31

    

in Statements of Operations

    

2017

    

2018

    

2019

$

$

$

Foreign exchange forward contracts

 

Gain (loss) on change in fair value of derivatives

(2,638)

 

(16,414)

 

(20,249)

Foreign exchange option contracts

Gain (loss) on change in fair value of derivatives

(2,023)

(1,022)

Warrants

Gain (loss) on change in fair value of derivatives

711

Interest rate swap

 

Gain (loss) on change in fair value of derivatives

1,655

 

(793)

 

(947)

Total

 

(272)

 

(19,230)

 

(22,218)

Other fair value measurements

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.

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.

9. FAIR VALUE MEASUREMENT (Continued)

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.

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.

The carrying value of the Company’s outstanding convertible notes was $127.4 million and nil as of December 31, 2018 and 2019, respectively, which approximates the fair value.

XML 57 R89.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Finance leases - Gross difference (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Finance leases, gross difference    
Total future minimum lease payments $ 41,130  
Less: imputed interest 2,056  
NPV for future minimum lease payments $ 39,074  
Total future minimum lease payments   $ 76,826
Less: imputed interest   5,024
NPV for future minimum lease payments   $ 71,802
XML 58 R79.htm IDEA: XBRL DOCUMENT v3.20.1
VARIABLE INTEREST ENTITIES (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
VARIABLE INTEREST ENTITIES    
TOTAL ASSETS $ 5,467,207 $ 4,892,658
Short-term borrowings 933,120 1,027,927
Long-term borrowings 1,019,739  
TOTAL LIABILITIES 4,042,149 3,619,813
Variable Interest Entity    
VARIABLE INTEREST ENTITIES    
Project assets 197,366 185,448
Other assets 26,102 21,836
TOTAL ASSETS 223,468 207,284
Short-term borrowings 139,708 9,160
Long-term borrowings   113,973
Other liabilities 66,569 59,476
TOTAL LIABILITIES $ 206,277 $ 182,609
XML 59 R75.htm IDEA: XBRL DOCUMENT v3.20.1
FAIR VALUE MEASUREMENT (Details) - Interest rate swap
12 Months Ended
Dec. 31, 2016
GBP (£)
Institution
Dec. 31, 2019
USD ($)
Dec. 31, 2018
USD ($)
Dec. 31, 2016
USD ($)
Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis        
Notional amount   $ 47,400,000    
Derivative liabilities   $ 2,170,000    
Designated as hedging instruments | Cash flow hedge        
Fair value measurements of the entity's assets or liabilities that are measured at fair value on a recurring basis        
Number of financial institutions | Institution 2      
Notional amount £ 78,400,000     $ 96,800,000
Total notional     $ 399,000,000.0  
XML 60 R85.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Additional information (Details)
Dec. 31, 2019
LEASE  
Weighted average term - finance leases 1 year 4 months 28 days
Weighted average term - operating lease 3 years 11 days
Weighted average discount rate - finance lease 5.82%
Weighted average discount rate - operating lease 4.36%
XML 61 R81.htm IDEA: XBRL DOCUMENT v3.20.1
INVESTMENTS IN AFFILIATES - Tax equity transactions (Details) - USD ($)
$ in Thousands
1 Months Ended 12 Months Ended
Dec. 31, 2018
Dec. 31, 2015
Dec. 31, 2019
Dec. 31, 2018
Tax equity transactions        
Gain on disposal of investment in affiliates     $ 1,928 $ 47,102
Class A membership interests        
Tax equity transactions        
Receipt of future cash flow distributions (as a percent)     51.00%  
Class B membership interests        
Tax equity transactions        
Receipt of future cash flow distributions (as a percent)     49.00%  
Value wrote down $ 5,000      
RE Roserock Holdings LLC ("Roserock")        
Tax equity transactions        
Ownership percentage 49.00%   49.00% 49.00%
RE Roserock Holdings LLC ("Roserock") | Class A membership interests        
Tax equity transactions        
Interest sold (as a percent)   100.00%    
Proceeds from sale of membership interest   $ 45,000    
RE Roserock Holdings LLC ("Roserock") | Class B membership interests        
Tax equity transactions        
Ownership percentage   100.00%    
XML 62 R71.htm IDEA: XBRL DOCUMENT v3.20.1
PROJECT ASSETS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
PROJECT ASSETS      
Project assets - Acquisition cost $ 55,158 $ 51,635  
Project assets - EPC and other cost 1,031,976 1,234,128  
Total project assets 1,087,134 1,285,763  
Current portion 604,083 933,563  
Non-current portion 483,051 352,200  
Impairment loss of project assets $ 20,194 $ 9,016 $ 0
XML 63 R1.htm IDEA: XBRL DOCUMENT v3.20.1
Document and Entity Information
12 Months Ended
Dec. 31, 2019
shares
Document Information [Line Items]  
Entity Central Index Key 0001375877
Document Type 20-F
Document Registration Statement false
Document Annual Report true
Document Period End Date Dec. 31, 2019
Entity File Number 001-33107
Entity Registrant Name CANADIAN SOLAR INC.
Entity Incorporation, State or Country Code Z4
Entity Address, Address Line One 545 Speedvale Avenue West
Entity Address, City or Town Guelph, Ontario
Entity Address, Country CA
Entity Address, Postal Zip Code N1K 1E6
Title of 12(b) Security Common shares
Security Exchange Name NASDAQ
Amendment Flag false
Current Fiscal Year End Date --12-31
Entity Well-known Seasoned Issuer No
Entity Voluntary Filers No
Entity Current Reporting Status Yes
Entity Interactive Data Current Yes
Entity Filer Category Large Accelerated Filer
Entity Emerging Growth Company false
Document Accounting Standard U.S. GAAP
Entity Shell Company false
No Trading Symbol Flag true
Entity Common Stock, Shares Outstanding 59,371,684
Document Fiscal Year Focus 2019
Document Fiscal Period Focus FY
Document Transition Report false
Document Shell Company Report false
Business Contact  
Document Information [Line Items]  
Entity Address, Address Line One 545 Speedvale Avenue West
Entity Address, City or Town Guelph, Ontario
Entity Address, Country CA
Entity Address, Postal Zip Code N1K 1E6
Contact Personnel Name Huifeng Chang
City Area Code 1-519
Local Phone Number 837-1881
XML 64 R5.htm IDEA: XBRL DOCUMENT v3.20.1
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME      
Net income $ 166,555 $ 242,431 $ 102,983
Other comprehensive income (loss) (net of tax of nil):      
Foreign currency translation adjustment 319 (50,577) 39,305
Gain (loss) on commodity hedge   953 (1,844)
Gain (loss) on interest rate swap (5,847) 5,141 (246)
De-recognition of commodity hedge and interest rate swap   (8,752)  
Comprehensive income 161,027 189,196 140,198
Less: comprehensive income (loss) attributable to non-controlling interests (11,100) 8,241 2,846
Comprehensive income attributable to Canadian Solar Inc. $ 172,127 $ 180,955 $ 137,352
XML 65 R52.htm IDEA: XBRL DOCUMENT v3.20.1
INCOME TAXES (Tables)
12 Months Ended
Dec. 31, 2019
INCOME TAXES  
Schedule of provision for income taxes

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Income before income taxes

Canada

 

(30,524)

 

10,570

 

(61,880)

United States

(33,205)

61,377

8,319

PRC including Hong Kong and Taiwan

173,266

178,050

204,632

Japan

28,164

27,555

29,335

Other

 

6,233

 

26,848

 

28,215

 

143,934

 

304,400

 

208,621

Current tax

Canada

 

346

 

(1,846)

 

(3,420)

United States

(54,482)

(14,786)

(4,803)

PRC including Hong Kong and Taiwan

(7,383)

27,285

44,622

Japan

31,266

5,325

13,229

Other

 

(8,008)

 

2,397

 

7,057

 

(38,261)

 

18,375

 

56,685

Deferred tax

Canada

 

(6,464)

 

12,117

 

(6,558)

United States

67,426

32,696

(2,412)

PRC including Hong Kong and Taiwan

23,452

2,653

(5,333)

Japan

(4,499)

(3,381)

(2,953)

Other

 

(703)

 

(491)

 

2,637

 

79,212

 

43,594

 

(14,619)

Total income tax expense

Canada

 

(6,118)

 

10,271

 

(9,978)

United States

12,944

17,910

(7,215)

PRC including Hong Kong and Taiwan

16,069

29,938

39,289

Japan

26,767

1,944

10,276

Other

 

(8,711)

 

1,906

 

9,694

 

40,951

 

61,969

 

42,066

Schedule of movement and balance of the Company's liability for uncertain tax positions (excluding interest and penalties)

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

5,684

 

6,181

 

15,730

Addition for tax positions related to the current year

 

1,376

 

9,806

 

11

Reductions for tax positions from prior years/Statute of limitations expirations

 

(1,094)

 

 

(5,720)

Foreign exchange effect

215

(257)

536

Ending balance

 

6,181

 

15,730

 

10,557

Schedule of components of the deferred tax assets and liabilities

    

At December 31,

    

At December 31,

2018

2019

$

$

Deferred tax assets:

Accrued warranty costs

 

9,424

 

8,326

Bad debt allowance

 

7,019

 

10,324

Inventory write-down

 

1,723

 

1,128

Future deductible expenses

26,973

20,731

Depreciation and impairment difference of property, plant and equipment and solar power systems

 

19,647

 

23,380

Accrued liabilities related to antidumping, countervailing and other duty costs and true-up charges

 

9,341

 

496

Deferred tax assets relating to sales of solar power systems

481

8,927

Net operating losses carry-forward

 

90,536

 

112,710

Unrealized foreign exchange loss and capital loss

9,471

7,064

Interest limitation

13,520

2,767

Others

 

13,947

 

26,415

Total deferred tax assets, gross

 

202,082

 

222,268

Valuation allowance

 

(76,522)

 

(70,627)

Total deferred tax assets, net of valuation allowance

 

125,560

 

151,641

Deferred tax liabilities:

Derivative assets

 

2,697

 

217

Depreciation difference of property, plant and equipment

 

1,212

 

18,789

Deferred profit of projects

4,108

Insurance recoverable

14,838

15,771

Unrealized foreign exchange gain

 

4,803

10,984

Others

 

12,513

 

8,380

Total deferred tax liabilities

 

40,171

 

54,141

Net deferred tax assets

85,389

97,500

Analysis as:

Deferred tax assets

121,087

153,963

Deferred tax liabilities

 

(35,698)

 

(56,463)

Net deferred tax assets

 

85,389

 

97,500

Schedule of movement of the valuation allowance

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

71,469

 

65,399

 

76,522

Additions (Reversals)

 

(5,361)

 

11,051

 

(6,156)

Foreign exchange effect

 

(709)

 

72

 

261

Ending balance

 

65,399

 

76,522

 

70,627

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

Years Ended December 31,

 

    

2017

    

2018

    

2019

 

Combined federal and provincial income tax rate

 

27

%  

27

%  

27

%

Effect of permanent difference

(18)

%  

(11)

%

(1)

%

Effect of different tax rate on earnings in other jurisdictions

(7)

%  

%

3

%

Effect of tax holiday

(2)

%  

(1)

%

(4)

%

Unrecognized tax provision

%  

4

%

(3)

%

Change in valuation allowance

(6)

%  

7

%

(3)

%

Effect of change in tax rate

39

%  

(3)

%  

(1)

%

Others

(5)

%  

(3)

%  

2

%

28

%  

20

%  

20

%

Schedule of aggregate amount and per share effect of the tax holiday

Years Ended December 31,

    

2017

    

2018

2019

(In Thousands of

U.S. Dollars, except

per share data)

The aggregate amount

 

2,850

 

3,089

 

7,956

Per share — basic

 

0.05

 

0.05

 

0.13

Per share — diluted

 

0.05

 

0.05

 

0.13

XML 66 R56.htm IDEA: XBRL DOCUMENT v3.20.1
MAJOR CUSTOMERS (Tables)
12 Months Ended
Dec. 31, 2019
MAJOR CUSTOMERS  
Schedule of details of customers accounting for 10% or more of total net revenues

    

Years Ended December 31,

2017

2018

2019

    

$

$

$

Company A

 

718,341

 

XML 67 R9.htm IDEA: XBRL DOCUMENT v3.20.1
CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2016
CONSOLIDATED STATEMENTS OF CASH FLOWS        
Cash and cash equivalents $ 668,770 $ 444,298    
Restricted cash - current 526,723 480,976    
Restricted cash - non-current 9,927 15,716    
Total cash and cash equivalents, and restricted cash shown in the statements of cash flows $ 1,205,420 $ 940,990 $ 1,190,134 $ 1,007,700
XML 68 R60.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details)
12 Months Ended
Dec. 31, 2019
Technical know-how  
Intangible assets  
Amortization period 10 years
Computer software | Minimum  
Intangible assets  
Amortization period 1 year
Computer software | Maximum  
Intangible assets  
Amortization period 10 years
Land use rights | Minimum  
Intangible assets  
Amortization period 20 years
Land use rights | Maximum  
Intangible assets  
Amortization period 50 years
XML 69 R90.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Total leases - Maturities (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
LEASE    
2020 $ 46,392  
2021 26,066  
2022 5,270  
2023 2,541  
2024 1,077  
Thereafter 1,504  
Total future minimum lease payments $ 82,851  
2019   $ 59,232
2020   35,273
2021   21,221
2022   3,041
2023   838
Thereafter   7,743
Total future minimum lease payments   $ 127,348
XML 70 R94.htm IDEA: XBRL DOCUMENT v3.20.1
BORROWINGS - Short term (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
BORROWINGS    
Short-term $ 819,031 $ 856,876
Long-term, current portion 114,089 171,051
Short-term borrowings $ 933,120 $ 1,027,927
XML 71 R64.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Contract Assets    
Accounts receivables, unbilled $ 15,256 $ 38
Accounts receivables, unbilled, fluctuation 15,218  
Contract Liabilities    
Advances from customers 134,806 39,024
Advances from customers, fluctuation 95,782  
Other current liabilities 20,917 51,381
Other current liabilities, fluctuation (30,464)  
Contract liability 155,723 $ 90,405
Contract liability, fluctuation 65,318  
Revenue recognized from beginning balance of contract liabilities 62,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-01-01    
Contract Liabilities    
Contract liabilities expected to be recognized $ 155,700  
Period for contract liabilities expected to be realized 1 year  
XML 72 R68.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Jan. 01, 2019
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES    
Right-of-use assets $ 37,733 $ 33,829
Lease liabilities $ 39,485  
XML 73 R98.htm IDEA: XBRL DOCUMENT v3.20.1
ACCRUED WARRANTY COSTS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
ACCRUED WARRANTY COSTS      
Beginning balance $ 50,605 $ 55,659 $ 61,139
Warranty provision 28,044 13,188 19,793
Warranty costs incurred (23,282) (16,732) (26,552)
Foreign exchange effect 511 (1,510) 1,279
Ending balance $ 55,878 $ 50,605 $ 55,659
XML 74 R47.htm IDEA: XBRL DOCUMENT v3.20.1
VARIABLE INTEREST ENTITIES (Tables)
12 Months Ended
Dec. 31, 2019
VARIABLE INTEREST ENTITIES  
Schedule of carrying amounts and classifications of consolidated VIE's assets and liabilities, excluding intercompany balances

    

At December 31,

    

At December 31,

2018

2019

$

$

Project assets

185,448

197,366

Other assets

21,836

26,102

Total assets

207,284

223,468

Short-term borrowings

9,160

139,708

Long-term borrowings

113,973

Other liabilities

59,476

66,569

Total liabilities

182,609

206,277

XML 75 R43.htm IDEA: XBRL DOCUMENT v3.20.1
PROPERTY, PLANT AND EQUIPMENT, NET (Tables)
12 Months Ended
Dec. 31, 2019
PROPERTY, PLANT AND EQUIPMENT, NET  
Schedule of property, plant and equipment, net

At December 31,

At December 31,

    

2018

    

2019

$

$

Buildings

 

441,975

 

453,712

Leasehold improvements

 

13,058

 

14,225

Machinery

 

785,874

 

1,074,460

Furniture, fixtures and equipment

 

64,135

 

64,117

Motor vehicles

 

6,100

 

6,351

Land

18,810

20,451

 

1,329,952

 

1,633,316

Accumulated depreciation

 

(489,927)

 

(598,297)

Impairment

(30,503)

 

(45,437)

Subtotal

 

809,522

 

989,582

Construction in process

 

75,464

 

56,453

Property, plant and equipment, net

 

884,986

 

1,046,035

XML 76 R113.htm IDEA: XBRL DOCUMENT v3.20.1
MAJOR CUSTOMERS (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2019
USD ($)
item
Dec. 31, 2018
USD ($)
item
Major Customers    
Number of customers with the largest receivable balances | item 3 3
Net revenue | Customer concentration risk | Company A    
Major Customers    
Total net revenues   $ 718,341
Accounts receivable | Accounts receivable balances | Customer one    
Major Customers    
Concentration risk (as a percent) 17.00% 12.00%
Accounts receivable $ 74,376 $ 59,224
Accounts receivable | Accounts receivable balances | Customer two    
Major Customers    
Concentration risk (as a percent) 5.00% 5.00%
Accounts receivable | Accounts receivable balances | Customer three    
Major Customers    
Concentration risk (as a percent) 4.00% 5.00%
XML 77 R117.htm IDEA: XBRL DOCUMENT v3.20.1
SUBSEQUENT EVENTS (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 5 Months Ended
Dec. 31, 2019
Mar. 31, 2020
Apr. 28, 2020
SUBSEQUENT EVENTS      
Number of shares repurchased 609,516    
Total cost of share repurchases $ 11,845    
Subsequent event      
SUBSEQUENT EVENTS      
Number of shares repurchased   381,330  
Total cost of share repurchases   $ 5,963  
Subsequent event | Share repurchase plan      
SUBSEQUENT EVENTS      
Number of shares repurchased     990,846
XML 78 csiq-20191231x20f_htm.xml IDEA: XBRL DOCUMENT 0001375877 csiq:AllowanceForOtherReceivablesMember 2019-12-31 0001375877 csiq:AllowanceForAdvancesToSuppliersMember 2019-12-31 0001375877 csiq:AllowanceForOtherReceivablesMember 2018-12-31 0001375877 csiq:AllowanceForAdvancesToSuppliersMember 2018-12-31 0001375877 csiq:AllowanceForOtherReceivablesMember 2017-12-31 0001375877 csiq:AllowanceForAdvancesToSuppliersMember 2017-12-31 0001375877 csiq:AllowanceForOtherReceivablesMember 2016-12-31 0001375877 csiq:AllowanceForAdvancesToSuppliersMember 2016-12-31 0001375877 us-gaap:TreasuryStockMember 2019-01-01 2019-12-31 0001375877 csiq:CsiCellsCo.Ltd.Member csiq:CsiSolarPowerChinaInc.Member 2019-01-01 2019-12-31 0001375877 csiq:CsiSolarPowerChinaInc.Member csiq:CsiModulesDafengCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarManufacturingChangshuInc.Member csiq:CsiModulesDafengCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:SuzhouSanysolarMaterialsTechnologyCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:SuzhouGaochuangteNewEnergyDevelopmentCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:RecurrentEnergyLlcMember 2019-01-01 2019-12-31 0001375877 csiq:RecurrentEnergyGroupInc.Member 2019-01-01 2019-12-31 0001375877 csiq:PtCanadianSolarIndonesiaMember 2019-01-01 2019-12-31 0001375877 csiq:CsukEnergySystemsConstructionAndGenerationJscMember 2019-01-01 2019-12-31 0001375877 csiq:CsiWaferLuoyangCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CSISolartronicsChangshuCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CSISolarTechnologiesIncMember 2019-01-01 2019-12-31 0001375877 csiq:CsiNewEnergyHoldingCo.LtdMember 2019-01-01 2019-12-31 0001375877 csiq:CsiModulesJiaxingCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CsiInvestmentManagementSuzhouCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CsiGclSolarManufacturingYanchengCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:CsiCellsYanchangCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CsiCellsCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:ChangsuTeguNewMaterialTechnologyCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:ChangshuXinguPhotovoltaicMaterialTechnologyCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:ChangshuTlianCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarUSAIncMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarUkProjectsLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarUkLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarSunenergySuzhouCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarSunenergyBaotouCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarSsesUkLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarSsesCanadaInc.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarSouthEastAsiaPteLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarSouthAfricaPtyLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarSolutionsIncMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarProjectKKMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarOAndMOntarioIncMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarNewEnergyHoldingCompanyLimitedMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarMiddleEastDmccMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarManufacturingVietnamCo.LtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarManufacturingThailandCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarManufacturingTaiwanCoLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarManufacturingLuoyangIncMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarManufacturingChangshuInc.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarManufacturingChangshuInc.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarJapanKKMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarInternationalProjectHoldingLimitedMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarEnergyPrivateLimitedMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarEnergyHoldingSingaporePte.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarEnergyHoldingSingapore1Pte.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarEnergyHoldingCompanyLimitedMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarEMEAGmbHMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarConstructionUsaLLCMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarConstructionAustraliaPtyLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarBrazilCommerceImportAndExportOfSolarPanelsLimitedMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarAustraliaPtyLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarAustralia1PtyLtdMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarArgentinaInvestmentHoldingLtdMember 2019-01-01 2019-12-31 0001375877 us-gaap:SubsequentEventMember 2020-01-01 2020-03-31 0001375877 2019-12-01 2019-12-31 0001375877 us-gaap:RepurchaseAgreementsMember us-gaap:SubsequentEventMember 2019-11-29 2020-04-28 0001375877 us-gaap:CommonStockMember 2019-01-01 2019-12-31 0001375877 us-gaap:CommonStockMember 2018-01-01 2018-12-31 0001375877 us-gaap:CommonStockMember 2017-01-01 2017-12-31 0001375877 us-gaap:RetainedEarningsMember 2019-12-31 0001375877 us-gaap:ParentMember 2019-12-31 0001375877 us-gaap:NoncontrollingInterestMember 2019-12-31 0001375877 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001375877 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001375877 us-gaap:RetainedEarningsMember 2018-12-31 0001375877 us-gaap:ParentMember 2018-12-31 0001375877 us-gaap:NoncontrollingInterestMember 2018-12-31 0001375877 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001375877 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-12-31 0001375877 us-gaap:RetainedEarningsMember 2017-12-31 0001375877 us-gaap:ParentMember 2017-12-31 0001375877 us-gaap:NoncontrollingInterestMember 2017-12-31 0001375877 us-gaap:AdditionalPaidInCapitalMember 2017-12-31 0001375877 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-12-31 0001375877 us-gaap:RetainedEarningsMember 2016-12-31 0001375877 us-gaap:ParentMember 2016-12-31 0001375877 us-gaap:NoncontrollingInterestMember 2016-12-31 0001375877 us-gaap:AdditionalPaidInCapitalMember 2016-12-31 0001375877 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2016-12-31 0001375877 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2019-12-31 0001375877 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2019-01-01 2019-12-31 0001375877 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2018-01-01 2018-12-31 0001375877 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedPaymentArrangementEmployeeMember 2017-01-01 2017-12-31 0001375877 2010-09-30 0001375877 us-gaap:RestrictedStockUnitsRSUMember srt:ChiefExecutiveOfficerMember 2019-01-01 2019-12-31 0001375877 us-gaap:RestrictedStockUnitsRSUMember srt:ChiefExecutiveOfficerMember 2018-01-01 2018-12-31 0001375877 us-gaap:RestrictedStockUnitsRSUMember srt:ChiefExecutiveOfficerMember 2017-01-01 2017-12-31 0001375877 srt:MinimumMember us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-12-31 0001375877 srt:MaximumMember us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-12-31 0001375877 us-gaap:ShippingAndHandlingMember 2019-01-01 2019-12-31 0001375877 us-gaap:ShippingAndHandlingMember 2018-01-01 2018-12-31 0001375877 us-gaap:ShippingAndHandlingMember 2017-01-01 2017-12-31 0001375877 csiq:CompanyAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2018-01-01 2018-12-31 0001375877 2020-01-01 2019-12-31 0001375877 us-gaap:SalesMember csiq:CanadianSolarInfrastructureFundIncMember 2019-01-01 2019-12-31 0001375877 csiq:EtSolutionsSouthAfricaOnePtyMember 2019-01-01 2019-12-31 0001375877 us-gaap:SalesMember csiq:CanadianSolarInfrastructureFundIncMember 2018-01-01 2018-12-31 0001375877 us-gaap:OtherOperatingIncomeExpenseMember csiq:CanadianSolarInfrastructureFundIncMember 2018-01-01 2018-12-31 0001375877 csiq:EtSolutionsSouthAfricaOnePtyMember 2018-01-01 2018-12-31 0001375877 us-gaap:SalesMember csiq:CanadianSolarInfrastructureFundIncMember 2017-01-01 2017-12-31 0001375877 us-gaap:OtherOperatingIncomeExpenseMember csiq:CanadianSolarInfrastructureFundIncMember 2017-01-01 2017-12-31 0001375877 csiq:SolarSystemKitsProductMember csiq:ModuleSegmentMember 2019-01-01 2019-12-31 0001375877 csiq:SolarPowerProjectsConstructionAndSaleMember csiq:EnergySegmentMember 2019-01-01 2019-12-31 0001375877 csiq:SolarModulesAndOtherSolarPowerProductsMember csiq:ModuleSegmentMember 2019-01-01 2019-12-31 0001375877 csiq:OtherProductMaterialsMember csiq:ModuleSegmentMember 2019-01-01 2019-12-31 0001375877 csiq:OtherProductEpcAndDevelopmentServicesMember csiq:EnergySegmentMember 2019-01-01 2019-12-31 0001375877 csiq:OAndMServicesProductMember csiq:ModuleSegmentMember 2019-01-01 2019-12-31 0001375877 csiq:ModuleSegmentMember us-gaap:TransferredOverTimeMember 2019-01-01 2019-12-31 0001375877 csiq:ModuleSegmentMember us-gaap:TransferredAtPointInTimeMember 2019-01-01 2019-12-31 0001375877 csiq:EPCServiceProductMember csiq:ModuleSegmentMember 2019-01-01 2019-12-31 0001375877 csiq:EnergySegmentMember us-gaap:TransferredOverTimeMember 2019-01-01 2019-12-31 0001375877 csiq:EnergySegmentMember us-gaap:TransferredAtPointInTimeMember 2019-01-01 2019-12-31 0001375877 csiq:ElectricityIncomeMember csiq:EnergySegmentMember 2019-01-01 2019-12-31 0001375877 us-gaap:ElectricityMember 2019-01-01 2019-12-31 0001375877 srt:EuropeMember 2019-01-01 2019-12-31 0001375877 srt:AsiaMember 2019-01-01 2019-12-31 0001375877 csiq:OtherCountriesEuropeMember 2019-01-01 2019-12-31 0001375877 csiq:OtherCountriesAsiaMember 2019-01-01 2019-12-31 0001375877 csiq:OtherCountriesAmericaMember 2019-01-01 2019-12-31 0001375877 csiq:AmericaMember 2019-01-01 2019-12-31 0001375877 country:ZA 2019-01-01 2019-12-31 0001375877 country:VN 2019-01-01 2019-12-31 0001375877 country:US 2019-01-01 2019-12-31 0001375877 country:TH 2019-01-01 2019-12-31 0001375877 country:NL 2019-01-01 2019-12-31 0001375877 country:MX 2019-01-01 2019-12-31 0001375877 country:KR 2019-01-01 2019-12-31 0001375877 country:JP 2019-01-01 2019-12-31 0001375877 country:IN 2019-01-01 2019-12-31 0001375877 country:GB 2019-01-01 2019-12-31 0001375877 country:ES 2019-01-01 2019-12-31 0001375877 country:DE 2019-01-01 2019-12-31 0001375877 country:CZ 2019-01-01 2019-12-31 0001375877 country:CN 2019-01-01 2019-12-31 0001375877 country:BR 2019-01-01 2019-12-31 0001375877 country:AU 2019-01-01 2019-12-31 0001375877 country:AE 2019-01-01 2019-12-31 0001375877 csiq:SolarSystemKitsProductMember csiq:ModuleSegmentMember 2018-01-01 2018-12-31 0001375877 csiq:SolarPowerProjectsConstructionAndSaleMember csiq:EnergySegmentMember 2018-01-01 2018-12-31 0001375877 csiq:SolarModulesAndOtherSolarPowerProductsMember csiq:ModuleSegmentMember 2018-01-01 2018-12-31 0001375877 csiq:OtherProductMaterialsMember csiq:ModuleSegmentMember 2018-01-01 2018-12-31 0001375877 csiq:OtherProductEpcAndDevelopmentServicesMember csiq:EnergySegmentMember 2018-01-01 2018-12-31 0001375877 csiq:OAndMServicesProductMember csiq:ModuleSegmentMember 2018-01-01 2018-12-31 0001375877 csiq:ModuleSegmentMember us-gaap:TransferredOverTimeMember 2018-01-01 2018-12-31 0001375877 csiq:ModuleSegmentMember us-gaap:TransferredAtPointInTimeMember 2018-01-01 2018-12-31 0001375877 csiq:EPCServiceProductMember csiq:ModuleSegmentMember 2018-01-01 2018-12-31 0001375877 csiq:EnergySegmentMember us-gaap:TransferredOverTimeMember 2018-01-01 2018-12-31 0001375877 csiq:EnergySegmentMember us-gaap:TransferredAtPointInTimeMember 2018-01-01 2018-12-31 0001375877 csiq:ElectricityIncomeMember csiq:EnergySegmentMember 2018-01-01 2018-12-31 0001375877 us-gaap:ElectricityMember 2018-01-01 2018-12-31 0001375877 srt:EuropeMember 2018-01-01 2018-12-31 0001375877 srt:AsiaMember 2018-01-01 2018-12-31 0001375877 csiq:OtherCountriesEuropeMember 2018-01-01 2018-12-31 0001375877 csiq:OtherCountriesAsiaMember 2018-01-01 2018-12-31 0001375877 csiq:OtherCountriesAmericaMember 2018-01-01 2018-12-31 0001375877 csiq:AmericaMember 2018-01-01 2018-12-31 0001375877 country:ZA 2018-01-01 2018-12-31 0001375877 country:VN 2018-01-01 2018-12-31 0001375877 country:US 2018-01-01 2018-12-31 0001375877 country:TH 2018-01-01 2018-12-31 0001375877 country:NL 2018-01-01 2018-12-31 0001375877 country:MX 2018-01-01 2018-12-31 0001375877 country:KR 2018-01-01 2018-12-31 0001375877 country:JP 2018-01-01 2018-12-31 0001375877 country:IN 2018-01-01 2018-12-31 0001375877 country:GB 2018-01-01 2018-12-31 0001375877 country:ES 2018-01-01 2018-12-31 0001375877 country:DE 2018-01-01 2018-12-31 0001375877 country:CZ 2018-01-01 2018-12-31 0001375877 country:CN 2018-01-01 2018-12-31 0001375877 country:BR 2018-01-01 2018-12-31 0001375877 country:AU 2018-01-01 2018-12-31 0001375877 country:AE 2018-01-01 2018-12-31 0001375877 csiq:SolarSystemKitsProductMember csiq:ModuleSegmentMember 2017-01-01 2017-12-31 0001375877 csiq:SolarPowerProjectsConstructionAndSaleMember csiq:EnergySegmentMember 2017-01-01 2017-12-31 0001375877 csiq:SolarModulesAndOtherSolarPowerProductsMember csiq:ModuleSegmentMember 2017-01-01 2017-12-31 0001375877 csiq:OtherProductMaterialsMember csiq:ModuleSegmentMember 2017-01-01 2017-12-31 0001375877 csiq:OtherProductEpcAndDevelopmentServicesMember csiq:EnergySegmentMember 2017-01-01 2017-12-31 0001375877 csiq:OAndMServicesProductMember csiq:ModuleSegmentMember 2017-01-01 2017-12-31 0001375877 csiq:ModuleSegmentMember us-gaap:TransferredOverTimeMember 2017-01-01 2017-12-31 0001375877 csiq:ModuleSegmentMember us-gaap:TransferredAtPointInTimeMember 2017-01-01 2017-12-31 0001375877 csiq:EnergySegmentMember us-gaap:TransferredOverTimeMember 2017-01-01 2017-12-31 0001375877 csiq:EnergySegmentMember us-gaap:TransferredAtPointInTimeMember 2017-01-01 2017-12-31 0001375877 csiq:ElectricityIncomeMember csiq:EnergySegmentMember 2017-01-01 2017-12-31 0001375877 us-gaap:ElectricityMember 2017-01-01 2017-12-31 0001375877 srt:EuropeMember 2017-01-01 2017-12-31 0001375877 srt:AsiaMember 2017-01-01 2017-12-31 0001375877 csiq:OtherCountriesEuropeMember 2017-01-01 2017-12-31 0001375877 csiq:OtherCountriesAsiaMember 2017-01-01 2017-12-31 0001375877 csiq:OtherCountriesAmericaMember 2017-01-01 2017-12-31 0001375877 csiq:AmericaMember 2017-01-01 2017-12-31 0001375877 country:ZA 2017-01-01 2017-12-31 0001375877 country:VN 2017-01-01 2017-12-31 0001375877 country:US 2017-01-01 2017-12-31 0001375877 country:TH 2017-01-01 2017-12-31 0001375877 country:NL 2017-01-01 2017-12-31 0001375877 country:MX 2017-01-01 2017-12-31 0001375877 country:KR 2017-01-01 2017-12-31 0001375877 country:JP 2017-01-01 2017-12-31 0001375877 country:IN 2017-01-01 2017-12-31 0001375877 country:GB 2017-01-01 2017-12-31 0001375877 country:ES 2017-01-01 2017-12-31 0001375877 country:DE 2017-01-01 2017-12-31 0001375877 country:CZ 2017-01-01 2017-12-31 0001375877 country:CN 2017-01-01 2017-12-31 0001375877 country:BR 2017-01-01 2017-12-31 0001375877 country:AU 2017-01-01 2017-12-31 0001375877 country:AE 2017-01-01 2017-12-31 0001375877 us-gaap:ConvertibleDebtMember 2019-02-01 2019-02-28 0001375877 csiq:SolarPowerSystemCommitmentsMember 2019-12-31 0001375877 csiq:PropertyAndEquipmentPurchaseCommitmentMember 2019-12-31 0001375877 srt:MinimumMember us-gaap:MachineryAndEquipmentMember 2019-01-01 2019-12-31 0001375877 srt:MinimumMember us-gaap:ElectricGenerationEquipmentMember 2019-01-01 2019-12-31 0001375877 srt:MaximumMember us-gaap:MachineryAndEquipmentMember 2019-01-01 2019-12-31 0001375877 srt:MaximumMember us-gaap:ElectricGenerationEquipmentMember 2019-01-01 2019-12-31 0001375877 us-gaap:VehiclesMember 2019-01-01 2019-12-31 0001375877 us-gaap:FurnitureAndFixturesMember 2019-01-01 2019-12-31 0001375877 us-gaap:BuildingMember 2019-01-01 2019-12-31 0001375877 us-gaap:VehiclesMember 2019-12-31 0001375877 us-gaap:MachineryAndEquipmentMember 2019-12-31 0001375877 us-gaap:LeaseholdImprovementsMember 2019-12-31 0001375877 us-gaap:LandMember 2019-12-31 0001375877 us-gaap:FurnitureAndFixturesMember 2019-12-31 0001375877 us-gaap:BuildingMember 2019-12-31 0001375877 us-gaap:VehiclesMember 2018-12-31 0001375877 us-gaap:MachineryAndEquipmentMember 2018-12-31 0001375877 us-gaap:LeaseholdImprovementsMember 2018-12-31 0001375877 us-gaap:LandMember 2018-12-31 0001375877 us-gaap:FurnitureAndFixturesMember 2018-12-31 0001375877 us-gaap:BuildingMember 2018-12-31 0001375877 us-gaap:RetainedEarningsMember 2019-01-01 2019-12-31 0001375877 us-gaap:RetainedEarningsMember 2018-01-01 2018-12-31 0001375877 us-gaap:RetainedEarningsMember 2017-01-01 2017-12-31 0001375877 us-gaap:InsuranceSettlementMember 2019-12-31 0001375877 us-gaap:InsuranceSettlementMember 2018-12-31 0001375877 us-gaap:GrantMember 2019-01-01 2019-12-31 0001375877 us-gaap:GrantMember 2018-01-01 2018-12-31 0001375877 us-gaap:GrantMember 2017-01-01 2017-12-31 0001375877 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-01-01 2019-12-31 0001375877 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2017-01-01 2017-12-31 0001375877 2019-01-01 0001375877 csiq:OtherCountriesAmericaMember 2019-12-31 0001375877 country:US 2019-12-31 0001375877 country:TH 2019-12-31 0001375877 country:JP 2019-12-31 0001375877 country:CN 2019-12-31 0001375877 country:CA 2019-12-31 0001375877 country:AU 2019-12-31 0001375877 csiq:OtherCountriesAmericaMember 2018-12-31 0001375877 country:US 2018-12-31 0001375877 country:TH 2018-12-31 0001375877 country:JP 2018-12-31 0001375877 country:CN 2018-12-31 0001375877 country:CA 2018-12-31 0001375877 country:AU 2018-12-31 0001375877 us-gaap:NoncontrollingInterestMember 2017-01-01 2017-12-31 0001375877 us-gaap:NoncontrollingInterestMember 2019-01-01 2019-12-31 0001375877 us-gaap:NoncontrollingInterestMember 2018-01-01 2018-12-31 0001375877 csiq:SolarPowerSystemCommitmentsMember 2019-01-01 2019-12-31 0001375877 csiq:PropertyAndEquipmentPurchaseCommitmentMember 2019-01-01 2019-12-31 0001375877 us-gaap:LineOfCreditMember 2019-12-31 0001375877 csiq:NonBindingLineOfCreditMember 2019-12-31 0001375877 csiq:BorrowingsFromNonBankingInstitutionsMember csiq:SubsidiaryMember 2019-07-15 0001375877 csiq:BankBorrowingsMember csiq:SecuredByInventoryAndAccountsReceivableMember 2019-01-31 0001375877 csiq:BorrowingsFromNonBankingInstitutionsMember csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember 2019-01-25 0001375877 csiq:BorrowingsFromNonBankingInstitutionsMember 2018-10-31 0001375877 csiq:BankBorrowingsMember csiq:SubsidiaryMember 2018-09-14 0001375877 csiq:BankBorrowingsMember csiq:SubsidiaryMember csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember 2018-04-05 0001375877 csiq:BankBorrowingsMember csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember 2018-03-30 0001375877 csiq:BankBorrowingsMember us-gaap:UnsecuredDebtMember 2018-03-26 0001375877 csiq:BankBorrowingsMember csiq:SubsidiaryMember csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember 2019-12-31 0001375877 csiq:ChineseCommercialBanksMember srt:ChiefExecutiveOfficerMember 2019-12-31 0001375877 csiq:BorrowingsFromNonBankingInstitutionsMember csiq:SubsidiaryMember 2019-12-31 0001375877 csiq:BorrowingsFromNonBankingInstitutionsMember csiq:DebtSecuredByPrepaidLandUseRightsAndGuaranteedByChineseSubsidiaryMember 2019-12-31 0001375877 csiq:BankBorrowingsMember us-gaap:UnsecuredDebtMember 2019-12-31 0001375877 csiq:BankBorrowingsMember csiq:SubsidiaryMember 2019-12-31 0001375877 csiq:BankBorrowingsMember csiq:SecuredByInventoryAndAccountsReceivableMember 2019-12-31 0001375877 csiq:BankBorrowingsMember csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember 2019-12-31 0001375877 csiq:BorrowingsFromNonBankingInstitutionsMember 2019-12-31 0001375877 csiq:BorrowingsFromNonBankingInstitutionsMember csiq:FinancingAgreementMember 2019-10-11 0001375877 csiq:FinancingAgreementMember 2019-06-28 0001375877 csiq:ChineseCommercialBanksMember srt:ChiefExecutiveOfficerMember 2018-12-31 0001375877 csiq:ChineseCommercialBanksMember srt:ChiefExecutiveOfficerMember 2017-12-31 0001375877 csiq:UncollectableRevenueMember 2019-12-31 0001375877 csiq:UncollectableRevenueMember 2018-12-31 0001375877 us-gaap:AccountsPayableAndAccruedLiabilitiesMember us-gaap:ConvertibleDebtMember 2018-12-31 0001375877 csiq:EnowIncMember 2018-09-01 2018-09-30 0001375877 srt:MinimumMember us-gaap:UseRightsMember 2019-01-01 2019-12-31 0001375877 srt:MinimumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2019-01-01 2019-12-31 0001375877 srt:MaximumMember us-gaap:UseRightsMember 2019-01-01 2019-12-31 0001375877 srt:MaximumMember us-gaap:ComputerSoftwareIntangibleAssetMember 2019-01-01 2019-12-31 0001375877 us-gaap:DevelopedTechnologyRightsMember 2019-01-01 2019-12-31 0001375877 us-gaap:DevelopedTechnologyRightsMember 2019-12-31 0001375877 us-gaap:ComputerSoftwareIntangibleAssetMember 2019-12-31 0001375877 us-gaap:DevelopedTechnologyRightsMember 2018-12-31 0001375877 us-gaap:ComputerSoftwareIntangibleAssetMember 2018-12-31 0001375877 csiq:OtherEquityMethodInvesteesMember 2019-12-31 0001375877 csiq:OtherEquityMethodInvesteesMember 2018-12-31 0001375877 srt:MinimumMember csiq:OtherEquityMethodInvesteesMember 2019-12-31 0001375877 srt:MaximumMember csiq:OtherEquityMethodInvesteesMember 2019-12-31 0001375877 csiq:SuzhouFinancialLeasingCoLtdMember 2019-12-31 0001375877 csiq:RoserockMember 2019-12-31 0001375877 csiq:ReRoserockHoldingsLlcMember 2019-12-31 0001375877 csiq:CanadianSolarInfrastructureFundIncMember 2019-12-31 0001375877 srt:MinimumMember csiq:OtherEquityMethodInvesteesMember 2018-12-31 0001375877 srt:MaximumMember csiq:OtherEquityMethodInvesteesMember 2018-12-31 0001375877 csiq:SuzhouFinancialLeasingCoLtdMember 2018-12-31 0001375877 csiq:ReRoserockHoldingsLlcMember 2018-12-31 0001375877 csiq:CanadianSolarInfrastructureFundIncMember 2018-12-31 0001375877 csiq:EnowIncMember 2018-09-30 0001375877 csiq:ReRoserockHoldingsLlcMember us-gaap:CapitalUnitClassBMember 2015-12-31 0001375877 us-gaap:CapitalUnitClassBMember 2018-12-01 2018-12-31 0001375877 us-gaap:InterestRateSwapMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2018-12-31 0001375877 us-gaap:InterestRateSwapMember 2019-12-31 0001375877 us-gaap:InterestRateSwapMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2016-12-31 0001375877 us-gaap:InterestRateSwapMember 2019-01-01 2019-12-31 0001375877 us-gaap:ForeignExchangeOptionMember 2019-01-01 2019-12-31 0001375877 us-gaap:ForeignExchangeForwardMember 2019-01-01 2019-12-31 0001375877 us-gaap:InterestRateSwapMember 2018-01-01 2018-12-31 0001375877 us-gaap:ForeignExchangeOptionMember 2018-01-01 2018-12-31 0001375877 us-gaap:ForeignExchangeForwardMember 2018-01-01 2018-12-31 0001375877 us-gaap:InterestRateSwapMember 2017-01-01 2017-12-31 0001375877 us-gaap:ForeignExchangeForwardMember 2017-01-01 2017-12-31 0001375877 csiq:WarrantsMember 2017-01-01 2017-12-31 0001375877 csiq:DerivativesLiabilitiesNoncurrentMember us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember 2019-12-31 0001375877 csiq:DerivativesLiabilitiesCurrentMember us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember 2019-12-31 0001375877 csiq:DerivativesLiabilitiesCurrentMember us-gaap:ForeignExchangeOptionMember us-gaap:NondesignatedMember 2019-12-31 0001375877 csiq:DerivativesLiabilitiesCurrentMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-31 0001375877 csiq:DerivativesLiabilitiesCurrentMember us-gaap:ForeignExchangeOptionMember us-gaap:NondesignatedMember 2018-12-31 0001375877 csiq:DerivativesLiabilitiesCurrentMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2018-12-31 0001375877 csiq:DerivativesAssetsCurrentMember us-gaap:ForeignExchangeOptionMember us-gaap:NondesignatedMember 2019-12-31 0001375877 csiq:DerivativesAssetsCurrentMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2019-12-31 0001375877 us-gaap:NondesignatedMember 2019-12-31 0001375877 csiq:DerivativesAssetsNoncurrentMember us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember 2018-12-31 0001375877 csiq:DerivativesAssetsCurrentMember us-gaap:InterestRateSwapMember us-gaap:NondesignatedMember 2018-12-31 0001375877 csiq:DerivativesAssetsCurrentMember us-gaap:ForeignExchangeOptionMember us-gaap:NondesignatedMember 2018-12-31 0001375877 csiq:DerivativesAssetsCurrentMember us-gaap:ForeignExchangeForwardMember us-gaap:NondesignatedMember 2018-12-31 0001375877 us-gaap:NondesignatedMember 2018-12-31 0001375877 us-gaap:ElectricGenerationEquipmentMember 2019-01-01 2019-12-31 0001375877 us-gaap:ElectricGenerationEquipmentMember 2018-01-01 2018-12-31 0001375877 us-gaap:ElectricGenerationEquipmentMember 2017-01-01 2017-12-31 0001375877 srt:MinimumMember 2019-12-31 0001375877 srt:MaximumMember 2019-12-31 0001375877 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2019-12-31 0001375877 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2018-12-31 0001375877 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2017-12-31 0001375877 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2016-12-31 0001375877 csiq:OtherJurisdictionsMember 2019-01-01 2019-12-31 0001375877 country:US 2019-01-01 2019-12-31 0001375877 country:JP 2019-01-01 2019-12-31 0001375877 country:CN 2019-01-01 2019-12-31 0001375877 country:CA 2019-01-01 2019-12-31 0001375877 csiq:OtherJurisdictionsMember 2018-01-01 2018-12-31 0001375877 country:US 2018-01-01 2018-12-31 0001375877 country:JP 2018-01-01 2018-12-31 0001375877 country:CN 2018-01-01 2018-12-31 0001375877 country:CA 2018-01-01 2018-12-31 0001375877 csiq:OtherJurisdictionsMember 2017-01-01 2017-12-31 0001375877 country:US 2017-01-01 2017-12-31 0001375877 country:JP 2017-01-01 2017-12-31 0001375877 country:CN 2017-01-01 2017-12-31 0001375877 country:CA 2017-01-01 2017-12-31 0001375877 us-gaap:AccountingStandardsUpdate201409Member us-gaap:RetainedEarningsMember 2018-01-01 2018-12-31 0001375877 us-gaap:AccountingStandardsUpdate201409Member us-gaap:ParentMember 2018-01-01 2018-12-31 0001375877 us-gaap:AccountingStandardsUpdate201409Member 2018-01-01 2018-12-31 0001375877 csiq:SuzhouGaochuangteNewEnergyCoLtdMember 2017-01-01 2017-12-31 0001375877 us-gaap:OperatingSegmentsMember csiq:ModuleSegmentMember 2019-01-01 2019-12-31 0001375877 us-gaap:OperatingSegmentsMember csiq:EnergySegmentMember 2019-01-01 2019-12-31 0001375877 us-gaap:IntersegmentEliminationMember 2019-01-01 2019-12-31 0001375877 us-gaap:OperatingSegmentsMember csiq:ModuleSegmentMember 2018-01-01 2018-12-31 0001375877 us-gaap:OperatingSegmentsMember csiq:EnergySegmentMember 2018-01-01 2018-12-31 0001375877 us-gaap:IntersegmentEliminationMember 2018-01-01 2018-12-31 0001375877 us-gaap:OperatingSegmentsMember csiq:ModuleSegmentMember 2017-01-01 2017-12-31 0001375877 us-gaap:OperatingSegmentsMember csiq:EnergySegmentMember 2017-01-01 2017-12-31 0001375877 us-gaap:IntersegmentEliminationMember 2017-01-01 2017-12-31 0001375877 us-gaap:ConvertibleDebtMember 2019-12-31 0001375877 us-gaap:ConvertibleDebtMember 2018-12-31 0001375877 csiq:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2019-01-01 2019-12-31 0001375877 csiq:CustomerThreeMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2019-01-01 2019-12-31 0001375877 csiq:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2019-01-01 2019-12-31 0001375877 csiq:CustomerTwoMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2018-01-01 2018-12-31 0001375877 csiq:CustomerThreeMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2018-01-01 2018-12-31 0001375877 csiq:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2018-01-01 2018-12-31 0001375877 us-gaap:TreasuryStockMember 2019-12-31 0001375877 us-gaap:CommonStockMember 2019-12-31 0001375877 us-gaap:CommonStockMember 2018-12-31 0001375877 us-gaap:CommonStockMember 2017-12-31 0001375877 us-gaap:CommonStockMember 2016-12-31 0001375877 srt:ParentCompanyMember srt:ReportableLegalEntitiesMember 2017-12-31 0001375877 2017-12-31 0001375877 srt:ParentCompanyMember srt:ReportableLegalEntitiesMember 2016-12-31 0001375877 2016-12-31 0001375877 csiq:StockOptionsAndRestrictedStockUnitsMember 2019-01-01 2019-12-31 0001375877 csiq:StockOptionsAndRestrictedStockUnitsMember 2018-01-01 2018-12-31 0001375877 csiq:StockOptionsAndRestrictedStockUnitsMember 2017-01-01 2017-12-31 0001375877 us-gaap:ConvertibleDebtMember 2018-01-01 2018-12-31 0001375877 us-gaap:ConvertibleDebtMember 2017-01-01 2017-12-31 0001375877 us-gaap:AllowanceForCreditLossMember 2019-12-31 0001375877 us-gaap:AllowanceForCreditLossMember 2018-12-31 0001375877 us-gaap:AllowanceForCreditLossMember 2017-12-31 0001375877 us-gaap:AllowanceForCreditLossMember 2016-12-31 0001375877 us-gaap:RestrictedStockUnitsRSUMember 2019-01-01 2019-12-31 0001375877 us-gaap:RestrictedStockUnitsRSUMember 2018-01-01 2018-12-31 0001375877 us-gaap:RestrictedStockUnitsRSUMember 2017-01-01 2017-12-31 0001375877 us-gaap:ParentMember 2019-01-01 2019-12-31 0001375877 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-12-31 0001375877 us-gaap:AdditionalPaidInCapitalMember 2018-01-01 2018-12-31 0001375877 us-gaap:ParentMember 2017-01-01 2017-12-31 0001375877 us-gaap:AdditionalPaidInCapitalMember 2017-01-01 2017-12-31 0001375877 csiq:EtSolutionsSouthAfricaOnePtyMember 2019-12-31 0001375877 csiq:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2019-12-31 0001375877 csiq:CustomerOneMember us-gaap:AccountsReceivableMember us-gaap:CreditConcentrationRiskMember 2018-12-31 0001375877 csiq:AssetManagementServiceMember csiq:CanadianSolarInfrastructureFundIncMember 2019-12-31 0001375877 csiq:SuzhouIsilverMaterialsMember 2019-12-31 0001375877 csiq:LuoyangJiwaNewMaterialTechnologyCo.LtdMember 2019-12-31 0001375877 dei:BusinessContactMember 2019-01-01 2019-12-31 0001375877 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2019-01-01 2019-12-31 0001375877 us-gaap:AllowanceForCreditLossMember 2019-01-01 2019-12-31 0001375877 csiq:AllowanceForOtherReceivablesMember 2019-01-01 2019-12-31 0001375877 csiq:AllowanceForAdvancesToSuppliersMember 2019-01-01 2019-12-31 0001375877 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2018-01-01 2018-12-31 0001375877 us-gaap:AllowanceForCreditLossMember 2018-01-01 2018-12-31 0001375877 csiq:AllowanceForOtherReceivablesMember 2018-01-01 2018-12-31 0001375877 csiq:AllowanceForAdvancesToSuppliersMember 2018-01-01 2018-12-31 0001375877 us-gaap:ValuationAllowanceOfDeferredTaxAssetsMember 2017-01-01 2017-12-31 0001375877 us-gaap:AllowanceForCreditLossMember 2017-01-01 2017-12-31 0001375877 csiq:AllowanceForOtherReceivablesMember 2017-01-01 2017-12-31 0001375877 csiq:AllowanceForAdvancesToSuppliersMember 2017-01-01 2017-12-31 0001375877 csiq:SolarPowerProjectMember 2019-01-01 2019-12-31 0001375877 us-gaap:ElectricGenerationEquipmentMember 2019-12-31 0001375877 us-gaap:AssetUnderConstructionMember 2019-12-31 0001375877 us-gaap:ElectricGenerationEquipmentMember 2018-12-31 0001375877 us-gaap:AssetUnderConstructionMember 2018-12-31 0001375877 csiq:BifacialModuleAndDoubleGlassModuleMember 2019-01-01 2019-12-31 0001375877 csiq:StandardSolarModuleMember 2009-05-31 2009-05-31 0001375877 csiq:OMServiceMember csiq:CanadianSolarInfrastructureFundIncMember 2019-01-01 2019-12-31 0001375877 csiq:AssetManagementServiceMember csiq:CanadianSolarInfrastructureFundIncMember 2019-01-01 2019-12-31 0001375877 csiq:OMServiceMember csiq:CanadianSolarInfrastructureFundIncMember 2018-01-01 2018-12-31 0001375877 csiq:AssetManagementServiceMember csiq:CanadianSolarInfrastructureFundIncMember 2018-01-01 2018-12-31 0001375877 csiq:OMServiceMember csiq:CanadianSolarInfrastructureFundIncMember 2017-01-01 2017-12-31 0001375877 csiq:AssetManagementServiceMember csiq:CanadianSolarInfrastructureFundIncMember 2017-01-01 2017-12-31 0001375877 country:VN csiq:CanadianSolarManufacturingVietnamCo.LtdMember 2019-01-01 2019-12-31 0001375877 csiq:SuzhouKzoneEquipmentTechnologyMember 2019-01-01 2019-12-31 0001375877 csiq:SuzhouIsilverMaterialsMember 2019-01-01 2019-12-31 0001375877 csiq:SuzhouKzoneEquipmentTechnologyMember 2018-01-01 2018-12-31 0001375877 csiq:SuzhouIsilverMaterialsMember 2018-01-01 2018-12-31 0001375877 csiq:SuzhouIsilverMaterialsMember 2017-01-01 2017-12-31 0001375877 us-gaap:VariableInterestEntityPrimaryBeneficiaryMember 2019-12-31 0001375877 us-gaap:VariableInterestEntityPrimaryBeneficiaryMember 2018-12-31 0001375877 csiq:StandardSolarModuleMember csiq:NinetyThreeInitialPowerCapacityMember 2019-01-01 2019-12-31 0001375877 csiq:StandardSolarModuleMember csiq:NinetySevenPercentInitialPowerCapacityMember 2019-01-01 2019-12-31 0001375877 csiq:EightyPercentInitialPowerCapacityMember 2019-01-01 2019-12-31 0001375877 csiq:USCountervailingAndAntiDumpingDutiesMember 2017-01-01 2019-12-31 0001375877 us-gaap:ParentMember 2018-01-01 2018-12-31 0001375877 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2018-01-01 2018-12-31 0001375877 csiq:ClassActionLawsuitsFiledInNewYorkMember 2010-01-01 2010-12-31 0001375877 country:TH csiq:CanadianSolarManufacturingThailandCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 csiq:SuzhouFinancialLeasingCoLtdMember 2015-09-08 2015-09-08 0001375877 csiq:FirstAdministrativeReviewOfSolarTwoMember 2019-12-31 0001375877 csiq:ChineseCommercialBanksMember srt:ChiefExecutiveOfficerMember 2019-01-01 2019-12-31 0001375877 csiq:ChineseCommercialBanksMember srt:ChiefExecutiveOfficerMember 2018-01-01 2018-12-31 0001375877 csiq:ChineseCommercialBanksMember srt:ChiefExecutiveOfficerMember 2017-01-01 2017-12-31 0001375877 srt:ParentCompanyMember srt:ReportableLegalEntitiesMember 2018-12-31 0001375877 srt:ParentCompanyMember srt:ReportableLegalEntitiesMember 2019-12-31 0001375877 us-gaap:InterestRateSwapMember us-gaap:CashFlowHedgingMember us-gaap:DesignatedAsHedgingInstrumentMember 2016-01-01 2016-12-31 0001375877 csiq:StandardSolarModuleMember csiq:MaterialAndWorkmanShipMember 2019-01-01 2019-12-31 0001375877 csiq:StandardSolarModuleMember 2019-01-01 2019-12-31 0001375877 csiq:StandardSolarModuleMember csiq:MaterialAndWorkmanShipMember 2011-08-01 2011-08-31 0001375877 csiq:StandardSolarModuleMember csiq:MaterialAndWorkmanShipMember 2009-06-01 2009-06-30 0001375877 country:US csiq:CanadianSolarUSAIncMember 2019-01-01 2019-12-31 0001375877 country:JP csiq:CanadianSolarJapanKKMember 2019-01-01 2019-12-31 0001375877 country:HK csiq:CanadianSolarInternationalLtdMember 2019-01-01 2019-12-31 0001375877 country:US csiq:CanadianSolarEnergyAcquisitionCo.Member 2019-01-01 2019-12-31 0001375877 country:DE csiq:CanadianSolarEMEAGmbHMember 2019-01-01 2019-12-31 0001375877 country:US csiq:CanadianSolarUSAIncMember 2018-01-01 2018-12-31 0001375877 country:JP csiq:CanadianSolarJapanKKMember 2018-01-01 2018-12-31 0001375877 country:HK csiq:CanadianSolarInternationalLtdMember 2018-01-01 2018-12-31 0001375877 country:US csiq:CanadianSolarEnergyAcquisitionCo.Member 2018-01-01 2018-12-31 0001375877 country:DE csiq:CanadianSolarEMEAGmbHMember 2018-01-01 2018-12-31 0001375877 country:US csiq:CanadianSolarUSAIncMember 2017-01-01 2017-12-31 0001375877 country:JP csiq:CanadianSolarJapanKKMember 2017-01-01 2017-12-31 0001375877 country:HK csiq:CanadianSolarInternationalLtdMember 2017-01-01 2017-12-31 0001375877 country:US csiq:CanadianSolarEnergyAcquisitionCo.Member 2017-01-01 2017-12-31 0001375877 country:DE csiq:CanadianSolarEMEAGmbHMember 2017-01-01 2017-12-31 0001375877 country:VN csiq:CanadianSolarManufacturingVietnamCo.LtdMember 2016-01-01 2016-12-31 0001375877 country:TH csiq:CanadianSolarManufacturingThailandCo.Ltd.Member 2016-01-01 2016-12-31 0001375877 csiq:ReRoserockHoldingsLlcMember us-gaap:CapitalUnitClassAMember 2015-12-01 2015-12-31 0001375877 csiq:CsiSolarPowerChinaInc.Member 2019-01-01 2019-12-31 0001375877 csiq:CsiCellsCo.Ltd.Member 2019-01-01 2019-12-31 0001375877 srt:ParentCompanyMember srt:ReportableLegalEntitiesMember 2019-01-01 2019-12-31 0001375877 srt:ParentCompanyMember srt:ReportableLegalEntitiesMember 2018-01-01 2018-12-31 0001375877 srt:ParentCompanyMember srt:ReportableLegalEntitiesMember 2017-01-01 2017-12-31 0001375877 csiq:SuzhouKzoneEquipmentTechnologyMember 2017-09-30 0001375877 us-gaap:RestrictedStockUnitsRSUMember 2019-12-31 0001375877 us-gaap:RestrictedStockUnitsRSUMember 2018-12-31 0001375877 us-gaap:RestrictedStockUnitsRSUMember 2017-12-31 0001375877 us-gaap:DomesticCountryMember csiq:CanadianSolarSolutionsIncMember 2019-01-01 2019-12-31 0001375877 us-gaap:DomesticCountryMember 2019-01-01 2019-12-31 0001375877 us-gaap:DomesticCountryMember csiq:CanadianSolarSolutionsIncMember 2018-01-01 2018-12-31 0001375877 us-gaap:DomesticCountryMember 2018-01-01 2018-12-31 0001375877 us-gaap:DomesticCountryMember csiq:CanadianSolarSolutionsIncMember 2017-01-01 2017-12-31 0001375877 us-gaap:DomesticCountryMember 2017-01-01 2017-12-31 0001375877 srt:MinimumMember 2019-01-01 2019-12-31 0001375877 srt:MaximumMember 2019-01-01 2019-12-31 0001375877 us-gaap:UnsecuredDebtMember 2019-12-31 0001375877 csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember 2019-12-31 0001375877 us-gaap:UnsecuredDebtMember 2018-12-31 0001375877 csiq:DebtSecuredByProjectAssetsAndSolarPowerSystemsMember 2018-12-31 0001375877 us-gaap:ConvertibleDebtMember 2019-01-01 2019-12-31 0001375877 us-gaap:ConvertibleDebtMember 2014-02-18 2014-02-18 0001375877 2018-01-01 2018-12-31 0001375877 2017-01-01 2017-12-31 0001375877 csiq:SuzhouFinancialLeasingCoLtdMember 2015-09-08 0001375877 csiq:PilipinasNewtonEnergyCorpMember 2019-12-31 0001375877 us-gaap:CapitalUnitClassBMember 2019-12-31 0001375877 us-gaap:CapitalUnitClassAMember 2019-12-31 0001375877 csiq:CanadianSolarInfrastructureFundIncMember 2019-01-01 2019-12-31 0001375877 csiq:CanadianSolarInfrastructureFundIncMember 2018-01-01 2018-12-31 0001375877 csiq:CanadianSolarInfrastructureFundIncMember 2017-01-01 2017-12-31 0001375877 2010-09-01 2010-09-30 0001375877 2019-01-01 2019-12-31 0001375877 2019-12-31 0001375877 2018-12-31 iso4217:GBP csiq:segment iso4217:ZAR iso4217:USD pure csiq:item iso4217:USD shares csiq:Institution iso4217:JPY shares iso4217:CNY csiq:D 0001375877 --12-31 2019 FY false true 59371684 59180624 P5Y P20Y P1Y P20Y P25Y P1Y4M28D P3Y11D 0 P5Y P1Y 0 59180624 59371684 20-F false true 2019-12-31 false false 001-33107 CANADIAN SOLAR INC. Z4 545 Speedvale Avenue West Guelph, Ontario CA N1K 1E6 Huifeng Chang 545 Speedvale Avenue West Guelph, Ontario CA N1K 1E6 1-519 837-1881 Common shares NASDAQ 59371684 No No Yes Yes Large Accelerated Filer false U.S. GAAP false 444298000 668770000 480976000 526723000 32733000 29545000 498231000 436815000 38000 15256000 16740000 31232000 262022000 554070000 107222000 108920000 5702000 7222000 37011000 47978000 4761000 5547000 933563000 604083000 289459000 253542000 3074321000 3252936000 15716000 9927000 884986000 1046035000 54898000 52957000 121087000 153963000 15224000 13059000 48908000 40897000 65718000 60836000 126095000 152828000 14903000 22791000 1005000 3216000 352200000 483051000 37733000 129605000 153253000 4892658000 5467207000 1027927000 933120000 265770000 286173000 379462000 585601000 369722000 544991000 16847000 10077000 408013000 446454000 127428000 39024000 134806000 13698000 10481000 18767000 158496000 141970000 121527000 2948357000 3091997000 50605000 55878000 393614000 619477000 568000 1841000 20128000 15353000 35698000 56463000 24608000 28513000 20718000 77835000 76575000 68400000 75334000 3619813000 4042149000 0 0 59180624 59371684 702931000 703806000 0 609516 11845000 10675000 17179000 622016000 793601000 -110149000 -109607000 1225473000 1393134000 47372000 31924000 1272845000 1425058000 4892658000 5467207000 3221928000 3624687000 3101113000 168465000 119825000 99470000 3390393000 3744512000 3200583000 2641583000 2894611000 2424476000 111212000 74819000 57610000 2752795000 2969430000 2482086000 637598000 775082000 718497000 156032000 165402000 180326000 230998000 245376000 242783000 28777000 44193000 47045000 47554000 44546000 10536000 368253000 410425000 459618000 269345000 364657000 258879000 117971000 106032000 81326000 10477000 11207000 12039000 -272000 -19230000 -22218000 -23449000 6529000 10370000 -3607000 41361000 1929000 -134822000 -66165000 -79206000 134523000 298492000 179673000 40951000 61969000 42066000 9411000 5908000 28948000 102983000 242431000 166555000 3411000 5361000 -5030000 99572000 237070000 171585000 1.71 4.02 2.88 58167004 58914540 59633855 1.69 3.88 2.83 61548158 62291670 60777696 102983000 242431000 166555000 39305000 -50577000 319000 -1844000 953000 -246000 5141000 -5847000 -8752000 140198000 189196000 161027000 2846000 8241000 -11100000 137352000 180955000 172127000 57830149 701283000 -8897000 284109000 -91814000 884681000 14709000 899390000 99572000 99572000 3411000 102983000 39870000 39870000 -565000 39305000 9994000 9994000 9314000 9314000 9314000 666536 879000 879000 879000 -2090000 -2090000 -2090000 58496685 702162000 417000 383681000 -54034000 1032226000 27549000 1059775000 237070000 237070000 5361000 242431000 -53457000 -53457000 2880000 -50577000 -1265000 -1265000 -1265000 7703000 7703000 6591000 6591000 10470000 10470000 10258000 10258000 10258000 683939 769000 769000 769000 -8752000 -8752000 -8752000 6094000 6094000 6094000 59180624 702931000 10675000 622016000 -110149000 1225473000 47372000 1272845000 171585000 171585000 -5030000 166555000 6389000 6389000 -6070000 319000 4178000 4178000 9998000 14176000 -609516 609516 11845000 11845000 11845000 10682000 10682000 10682000 800576 875000 875000 875000 5650000 5650000 -5847000 -5847000 -5847000 59371684 703806000 609516 -11845000 17179000 793601000 -109607000 1393134000 31924000 1425058000 609516 11845000 102983000 242431000 166555000 99273000 129256000 159723000 -13976000 -2565000 -1227000 27803000 36098000 1666000 47102000 1928000 11626000 30968000 21866000 9016000 20194000 3686000 5738000 -272000 -19230000 -22218000 9411000 5908000 28948000 7265000 2812000 1250000 14318000 17820000 14646000 19447000 9314000 10258000 10682000 -13065000 13573000 -6194000 -46337000 179607000 -51670000 -2345000 -1158000 15268000 10089000 -9237000 17347000 49024000 -55408000 312781000 38190000 9206000 849000 15990000 -29001000 27066000 128982000 30501000 -28527000 49813000 2208000 -33283000 23795000 -9387000 24037000 -27758000 47756000 209175000 243685000 -173148000 185827000 33908000 10467000 -5798000 -5889000 39791000 42810000 -44985000 -11225000 96115000 -12566000 -18774000 -29691000 -10851000 -6726000 -3563000 4624000 30087000 -6557000 -2622000 1369000 5243000 1005000 833000 10863000 -4775000 -84939000 -37591000 12455000 1460000 -28731000 27012000 4126000 203920000 216280000 600111000 92925000 11036000 7684000 4233000 816000 3012000 337773000 1649000 276978000 316282000 291182000 33697000 128768000 17800000 103000 43930000 12561000 -239230000 29071000 -294102000 1646910000 1430708000 1257009000 2068069000 2368967000 1649721000 690841000 382831000 530990000 6591000 14176000 10470000 11488000 12243000 119095000 3000000 61142000 35944000 9044000 9582000 3013000 1120000 30128000 64859000 42658000 138953000 127500000 879000 769000 875000 11845000 165283000 -463613000 -34614000 51342000 -38725000 -6965000 181315000 -256987000 264430000 1007700000 1190134000 940990000 -1119000 -7843000 1190134000 940990000 1205420000 113513000 103236000 85362000 45483000 32135000 40454000 4782000 153017000 228970000 244483000 444298000 668770000 480976000 526723000 15716000 9927000 940990000 1205420000 <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. (“CSI”) 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 “Company”) 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> <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)   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. generally accepted accounting principles (“U.S. GAAP”).</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)   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 (“VIEs”) 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’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)   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’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 (“ARO”), 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)   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 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’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 Company.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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)   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)    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 &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 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)   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 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)   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;">​</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)    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;">​</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 “project companies”. 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)    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;">​</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)   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’ carrying amounts on the Company’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)  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 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 lives:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">    </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;"> </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;">​</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;">​</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;"> </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;">​</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 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 changed.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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)   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 (‘‘FIT’’) 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)   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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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)   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 (“PRC”) 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;">​</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)    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) nature of the investment; (ii) cause and duration of the impairment; (iii) extent to which fair value is less than cost; (iv) financial conditions and near term prospects of the affiliates; and (v) 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)    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’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;">​</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)    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)   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 (“ARO”) 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 (“ASC 410-20”). 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)   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;">​</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’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’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)   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 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)  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)   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’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 million and $7.7 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’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’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’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’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’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;">​</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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;"> </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 Thousands of U.S. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 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;">    </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;"> </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;">​</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;">​</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 Thousands of U.S. 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;"> </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;"> </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;">  </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;"> </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;">  </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;"> </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;">  </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">  </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;"> </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;">​</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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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)   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;">​</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)    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;"> </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’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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—</p></td><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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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;">​</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) 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;">​</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 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’ and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company’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 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’s solar 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 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 assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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’s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC 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 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’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;">​</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) 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 (“U.S. dollars” or “$”), the currency in which a substantial amount of the Company’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’s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (“RMB”), Euros, Canadian dollars (“CAD”), Japanese yen and Brazilian reals (“BRL”), 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) 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) net income, (ii) foreign currency translation adjustments, (iii) 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) 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’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’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) 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;">​</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) 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>—Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company’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>—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—</i>Unobservable inputs reflecting the Company’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;">​</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) 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’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’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’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’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) 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) 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’s share-based compensation with employees, such as share options, restricted shares and restricted share units (“RSUs”), 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 period.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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) 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, “Leases (Topic 842)—Targeted Improvements”, 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 “package of three”, 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, “Financial Instruments—Credit Losses (Topic 326)”, 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 “expected loss” 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;">​</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, “Fair Value Measurement (Topic 820): Disclosure Framework–Changes to the Disclosure Requirements for Fair Value”. 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, “Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities”, 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 (“ASU 2019-12”), 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> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(a)   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. generally accepted accounting principles (“U.S. GAAP”).</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)   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 (“VIEs”) 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’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)   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’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 (“ARO”), 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)   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 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’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 Company.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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)   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)    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 &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 expense.</p> 164000 166000 <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)   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 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)   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;">​</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)    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;">​</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 “project companies”. 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)    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;padding-left:36pt;text-indent:-36pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(k)   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’ carrying amounts on the Company’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)  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 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 lives:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">    </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;"> </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;">​</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;">​</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;"> </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;">​</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 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 changed.</p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">    </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;"> </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;">​</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;">​</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;"> </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> P20Y P10Y P5Y P5Y <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)   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 (‘‘FIT’’) 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> P25Y <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)   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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> P10Y P10Y <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)   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 (“PRC”) 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;">​</span></p> P50Y <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)    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) nature of the investment; (ii) cause and duration of the impairment; (iii) extent to which fair value is less than cost; (iv) financial conditions and near term prospects of the affiliates; and (v) 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> 3686000 5738000 0 <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)    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’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> 11626000 30968000 21866000 <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)    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)   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 (“ARO”) 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 (“ASC 410-20”). 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> 43000 26000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><span style="font-style:italic;font-weight:bold;">(t)   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;">​</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’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’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)   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 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)  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)   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’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 million and $7.7 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’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’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’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’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’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;">​</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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;"> </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 Thousands of U.S. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 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;">    </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;"> </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;">​</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;">​</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 Thousands of U.S. 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;"> </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;"> </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;">  </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;"> </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;">  </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;"> </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;">  </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">  </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;"> </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;">​</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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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> 9000000.0 7700000 10900000 4700000 3900000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;"> </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 Thousands of U.S. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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> 2705985000 2095743000 2238310000 6938000 73175000 242828000 633195000 1542906000 668476000 44275000 32688000 50969000 3390393000 3744512000 3200583000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 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;">    </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;"> </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;">​</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;">​</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 Thousands of U.S. 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;"> </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;"> </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;">  </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;"> </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;">  </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;"> </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;">  </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">  </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;"> </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;">​</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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</span></p></td></tr></table> 38000 15256000 15218000 39024000 134806000 95782000 51381000 20917000 -30464000 90405000 155723000 65318000 62000000.0 155700000 P1Y <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)   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;">​</span></p> 79853000 69855000 88079000 <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)    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> 28777000 44193000 47045000 <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;"> </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’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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—</p></td><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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—</p></td><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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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> 27803000 36098000 1666000 1960000 2565000 1227000 6473000 11013000 10097000 15238000 47554000 44546000 10536000 <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) 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;">​</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 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’ and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company’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 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’s solar 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 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 assets.</p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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’s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC 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 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’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> P2Y P10Y P25Y 0.10 0.20 P6Y P10Y P12Y P25Y 0.975 0.007 0.807 P30Y P10Y 0.01 P1Y 1286000 1486000 P30Y 75617000 79888000 1446000 800000 19793000 13188000 28044000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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) 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 (“U.S. dollars” or “$”), the currency in which a substantial amount of the Company’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’s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (“RMB”), Euros, Canadian dollars (“CAD”), Japanese yen and Brazilian reals (“BRL”), 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) 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) net income, (ii) foreign currency translation adjustments, (iii) 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) 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’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’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) 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;">​</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) 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>—Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company’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>—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—</i>Unobservable inputs reflecting the Company’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;">​</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) 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’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’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’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’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) 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) 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’s share-based compensation with employees, such as share options, restricted shares and restricted share units (“RSUs”), 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 period.</p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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) 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, “Leases (Topic 842)—Targeted Improvements”, 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 “package of three”, 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, “Financial Instruments—Credit Losses (Topic 326)”, 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 “expected loss” 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;">​</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, “Fair Value Measurement (Topic 820): Disclosure Framework–Changes to the Disclosure Requirements for Fair Value”. 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, “Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities”, 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 (“ASU 2019-12”), 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> 33829000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">3. 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 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 follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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 follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;">—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;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.03%;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:2.2%;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.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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 26119000 32941000 32733000 5345000 869000 -1386000 174000 297000 309000 1651000 -780000 -1493000 32941000 32733000 29545000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;">—</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;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.03%;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:2.2%;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.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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 19527000 18762000 20926000 -833000 2287000 738000 1452000 68000 -123000 69000 18762000 20926000 20281000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 9251000 10349000 9704000 549000 -175000 1919000 549000 -470000 -192000 10349000 9704000 11431000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">4. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;">​</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> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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> 47759000 75722000 46817000 74105000 167446000 404243000 262022000 554070000 17820000 14646000 19447000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">5. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> 51635000 55158000 1234128000 1031976000 1285763000 1087134000 933563000 604083000 352200000 483051000 0 9016000 20194000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">6. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 441975000 453712000 13058000 14225000 785874000 1074460000 64135000 64117000 6100000 6351000 18810000 20451000 1329952000 1633316000 489927000 598297000 30503000 45437000 809522000 989582000 75464000 56453000 884986000 1046035000 88931000 120834000 148034000 <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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> 66641000 70449000 4484000 4830000 16227000 22322000 54898000 52957000 5683000 3756000 6379000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">8. 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’s intangible assets:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">    </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;">​</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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">    </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;">​</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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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 million, $3.6 million, $3.1 million, $2.5 million and $9.2 million for the years ended December 31, 2020, 2021, 2022, 2023, 2024 and thereafter, respectively.</p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">    </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;">​</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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">    </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;">​</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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</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> 1428000 1425000 3000 38205000 15417000 22788000 39633000 16842000 22791000 2369000 1458000 911000 25882000 11890000 13992000 28251000 13348000 14903000 4659000 4666000 5310000 4400000 3600000 3100000 2500000 9200000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9. 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’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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9. 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’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 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Value of Derivative 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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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 Sheet 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;">    </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 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;">    </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 Sheet 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;">    </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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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 — 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;"> </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;"> </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 — 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;"> </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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> </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 — 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;"> </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;"> </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 — 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;"> </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;"> —</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> —</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;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Value of Derivative 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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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 Sheet 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;">    </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 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;">    </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 Sheet 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;">    </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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;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;">​</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 — 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;">​</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;">​</span></p></td><td style="background-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;"> </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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 of Gain (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;">​</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;">​</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;">​</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;">​</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 in 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;">​</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;">​</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 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;">​</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 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;">​</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;">​</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 (Loss) 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;">​</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 Ended December 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;">​</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;">    </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 Statements of 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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;"> </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;"> </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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;"> —</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;"> </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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">​</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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">9. 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’s outstanding convertible notes was $127.4 million and nil as of December 31, 2018 and 2019, respectively, which approximates the fair value.</p> 2 78400000 96800000 399000000.0 47400000 2170000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Value of Derivative 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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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 Sheet 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;">    </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 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;">    </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 Sheet 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;">    </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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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 — 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;"> </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;"> </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 — 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;"> </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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> </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 — 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;"> </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;"> </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 — 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;"> </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;"> —</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> —</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;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Value of Derivative 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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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 Sheet 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;">    </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 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;">    </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 Sheet 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;">    </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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;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;">​</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 — 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;">​</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;">​</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 — 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;">​</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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;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;">​</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 — 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;">​</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;">​</span></p></td><td style="background-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;"> </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;"> </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;"> </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;"> </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> 4166000 5097000 1000 450000 594000 3216000 7977000 5547000 13480000 10127000 218000 25000 329000 1841000 13698000 12322000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 of Gain (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;">​</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;">​</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;">​</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;">​</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 in 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;">​</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;">​</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 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;">​</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 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;">​</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;">​</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 (Loss) 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;">​</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 Ended December 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;">​</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;">    </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 Statements of 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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;"> </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;"> </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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;"> —</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;"> </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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</span></p> -2638000 -16414000 -20249000 -2023000 -1022000 711000 1655000 -793000 -947000 -272000 -19230000 -22218000 11626000 30968000 21866000 393614000 619477000 127400000 0 <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’ major assets and liabilities with immaterial items combined, excluding intercompany balances which are eliminated upon consolidation, included in the Company’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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;">​</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> <p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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> 185448000 197366000 21836000 26102000 207284000 223468000 9160000 139708000 113973000 59476000 66569000 182609000 206277000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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;">​</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;">​</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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 (“Roserock”)</p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</span></p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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’ 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’ operating cash flows. Additionally, the Company amortizes the basis difference between the cost of investment and its proportionate share of the investees’ 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">11. 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’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> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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;">​</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;">​</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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 (“Roserock”)</p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;">​</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;">​</span></p></td></tr></table> 62767000 0.49 83034000 0.49 23990000 0.1466 19162000 0.1466 14361000 0.06 16050000 0.06 24977000 0.21 0.49 34582000 0.15 0.49 126095000 152828000 1 1 45000000 0.51 0.49 5000000.0 13860000 0.06 1 5 0.1466 0.1466 700000 0.10 9411000 5908000 28948000 <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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 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;">​</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;"> </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 31, 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;">​</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;"> </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;">​</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;">  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 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;">​</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;"> </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 31, 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;">​</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;"> </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;">​</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;">  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 Lease 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;">    </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 Lease 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;">    </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 Lease 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 Lease 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;">    </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 Lease 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;">    </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 Lease 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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;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: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;"> </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;"> </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;"> —</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;"> </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;"> </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;"> </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;"> </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;"> </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;">  </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;"> </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;"> </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;"> </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;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;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: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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 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;">​</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;"> </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 31, 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;">​</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;"> </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;">​</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;">  </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;">​</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;">​</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;">​</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;">​</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;">​</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> 18900000 3213000 17619000 8920000 45916000 20900000 19800000 24700000 19100000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 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;">​</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;"> </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 31, 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;">​</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;"> </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;">​</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;">  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</span></p> 3213000 15866000 33614000 7300000 18222000 0.0582 0.0436 <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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 Lease 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;">    </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 Lease 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;">    </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 Lease 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;">​</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;"> —</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> 18953000 27439000 46392000 12980000 13087000 26066000 4666000 604000 5270000 2541000 2541000 1077000 1077000 1504000 1504000 41721000 41130000 82851000 2236000 2056000 4292000 39485000 39074000 78559000 18767000 25998000 44765000 20718000 13076000 33794000 39485000 39074000 78559000 <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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 Lease 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;">    </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 Lease 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;">    </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 Lease 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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;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: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;"> </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;"> </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;"> —</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;"> </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;"> </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;"> </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;"> </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;"> </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;">  </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;"> </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;"> </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;"> </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;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;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: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;"> </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> 18287000 40945000 59232000 11790000 23483000 35273000 9379000 11842000 21221000 2485000 556000 3041000 838000 838000 7743000 7743000 50522000 76826000 127348000 5024000 5024000 71802000 71802000 <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;"> 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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 — 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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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 – 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 $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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13. 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">13. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 December 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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;">%  </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 – 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;"> </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;">%  </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;"> </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;">%  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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 — 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;"> </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;"> </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;"> </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 — 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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:5pt;font-weight:bold;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 December 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;">​</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 December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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 — 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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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> 856876000 819031000 171051000 114089000 1027927000 933120000 265770000 286173000 393614000 619477000 1687311000 1838770000 2331226000 579545000 513566000 708787000 283409000 513622000 192103000 55955000 28763000 138950000 226938000 373751000 579695000 8476000 8476000 129010000 40136000 49290000 11881000 50000000 50000000 43003000 34188000 5989000 1503000 110000000 91095000 123708000 123708000 60000000 60000000 93975000 93975000 0.0095 0.0828 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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> 400262000 245927000 276675000 40679000 15158000 41038000 1019739000 400262000 619477000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 December 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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;">%  </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 – 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;"> </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;">%  </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;"> </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;">%  </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> 0.0458 0.0486 0.0461 0.0365 0.0313 0.0543 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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 — 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;"> </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;"> </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;"> </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 — 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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 13274000 15462000 10794000 1010000 1182000 2620000 117971000 106032000 81326000 132255000 122676000 94740000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">14. 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’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’ 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> 369722000 544991000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">15. ACCRUED WARRANTY COSTS</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The Company’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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> 61139000 55659000 50605000 19793000 13188000 28044000 26552000 16732000 23282000 1279000 -1510000 511000 55659000 50605000 55878000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">16. 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’s foreign investment enterprise, the Company’s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (“PRC GAAP”) 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 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’ 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 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’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’s PRC subsidiaries are considered as restricted net assets amounting to $497.2 million as of December 31, 2019.</p> 0.10 497200000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">17. 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’s option, on or after February 21, 2017, if the last reported sale price of the Company’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> 130000000 P30D 20000000 0.0425 22.2222 1000000 45.00 1.30 20 30 1 127428000 0 72000000 0 0.0496 907000 953000 71800 5419000 903000 2008000 127500000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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 States, Hong 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18. 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 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 States</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Canadian Solar (USA) 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 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 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18. 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) Co., Ltd., CSI Solar Technologies Inc., CSI Cells Co., Ltd., Canadian Solar Manufacturing (Luoyang) Inc., CSI Solar Power Group Co., Ltd. (formerly “CSI Solar Power (China) Inc.”) and Canadian Solar Manufacturing (Changshu) Inc., and Suzhou Sanysolar Materials Technology Co., Ltd. were governed by the PRC Enterprise Income Tax Law (“EIT Law”).</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 “CSI Solar Power (China) Inc.”) 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;"> </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;">​</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;">    </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;">    </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;">    </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;"> </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;"> </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;">%  </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;">%  </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;">​</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;">%  </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;">​</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;">%  </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;"> —</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;">​</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;">%  </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;">​</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;"> —</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.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;">​</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;">%  </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;">​</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;">%  </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;">%  </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;">​</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;">%  </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;">%  </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;">​</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;">​</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;">%  </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;">%  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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 Thousands 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;">​</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;">​</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. Dollars, 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;">​</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;">​</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 share 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;"> </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;"> </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;"> </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 — 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;"> </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;"> </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;"> </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 — 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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18. 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 follows:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p></td><td style="vertical-align:bottom;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;">​</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;">​</span></p></td><td style="vertical-align:bottom;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;">​</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;">​</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;">​</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;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> —</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;">​</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;">​</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;"> </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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</span></p></td><td style="vertical-align:bottom;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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18. 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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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’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 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;">●</td><td 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;">●</td><td 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;">●</td><td 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">18. 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 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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;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.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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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’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’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> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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> -30524000 10570000 -61880000 -33205000 61377000 8319000 173266000 178050000 204632000 28164000 27555000 29335000 6233000 26848000 28215000 143934000 304400000 208621000 346000 -1846000 -3420000 -54482000 -14786000 -4803000 -7383000 27285000 44622000 31266000 5325000 13229000 -8008000 2397000 7057000 -38261000 18375000 56685000 -6464000 12117000 -6558000 67426000 32696000 -2412000 23452000 2653000 -5333000 -4499000 -3381000 -2953000 -703000 -491000 2637000 79212000 43594000 -14619000 -6118000 10271000 -9978000 12944000 17910000 -7215000 16069000 29938000 39289000 26767000 1944000 10276000 -8711000 1906000 9694000 40951000 61969000 42066000 0.265 0.265 0.265 0.25 0.25 0.25 0.3861 0.2482 0.2289 0.3832 0.2532 0.2789 0.3202 0.3202 0.3178 0.33 0.33 0.33 0.10 0.05 0.20 2 0.165 0.165 0.165 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;"> </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;">​</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;">    </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;">    </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;">    </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;"> </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;"> </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;">%  </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;">%  </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;">​</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;">%  </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;">​</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;">%  </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;"> —</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;">​</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;">%  </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;">​</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;"> —</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.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;">​</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;">%  </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;">​</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;">%  </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;">%  </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;">​</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;">%  </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;">%  </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;">​</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;">​</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;">%  </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;">%  </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> 0.27 0.27 0.27 -0.18 -0.11 -0.01 -0.07 0.03 0.02 0.01 0.04 0.04 -0.03 -0.06 0.07 -0.03 0.39 -0.03 -0.01 -0.05 -0.03 0.02 0.28 0.20 0.20 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">​</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;">​</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;">​</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 Thousands 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;">​</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;">​</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. Dollars, 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;">​</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;">​</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 share 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;"> </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;"> </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;"> </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 — 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;"> </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;"> </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;"> </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 — 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;"> </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;"> </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;"> </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> 2850000 3089000 7956000 0.05 0.05 0.13 0.05 0.05 0.13 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 December 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;">    </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 December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p></td><td style="vertical-align:bottom;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;">​</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;">​</span></p></td><td style="vertical-align:bottom;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;">​</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;">​</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;">​</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;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> —</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;">​</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;">​</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;"> </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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</span></p></td><td style="vertical-align:bottom;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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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> 9424000 8326000 7019000 10324000 1723000 1128000 26973000 20731000 19647000 23380000 9341000 496000 481000 8927000 90536000 112710000 9471000 7064000 13520000 2767000 13947000 26415000 202082000 222268000 76522000 70627000 125560000 151641000 2697000 217000 1212000 18789000 4108000 14838000 15771000 4803000 10984000 12513000 8380000 40171000 54141000 85389000 97500000 121087000 153963000 35698000 56463000 85389000 97500000 0.10 625900000 31300000 62600000 0.05 0.10 0.05 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 71469000 65399000 76522000 -5361000 11051000 -6156000 -709000 72000 261000 65399000 76522000 70627000 670541000 186360000 4398000 4795000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.2%;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.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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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> 5684000 6181000 15730000 1376000 9806000 11000 1094000 5720000 215000 257000 536000 6181000 15730000 10557000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">19. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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 Thousands of U.S. Dollars, except share 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;">​</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;">​</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 share</b><b style="font-family:'Calibri';font-weight:bold;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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. — 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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. — 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 — weighted average number of common shares — 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;">​</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;"> 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;">​</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;"> 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;">​</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;"> 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;">​</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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 — weighted average number of common shares — 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;">​</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;"> 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;">​</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;"> 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;">​</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;"> 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;"> </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;"> </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;">​</span></p> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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 Thousands of U.S. Dollars, except share 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;">​</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;">​</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 share</b><b style="font-family:'Calibri';font-weight:bold;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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. — 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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. — 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 — weighted average number of common shares — 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;">​</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;"> 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;">​</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;"> 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;">​</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;"> 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;">​</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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 — weighted average number of common shares — 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;">​</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;"> 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;">​</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;"> 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;">​</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;"> 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> 99572000 237070000 171585000 4649000 4683000 975000 104221000 241753000 172560000 58167004 58914540 59633855 547821 543797 794526 2833333 2833333 349315 61548158 62291670 60777696 1.71 4.02 2.88 1.69 3.88 2.83 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;"> </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;"> </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> 372743 276618 41950 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20. 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’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’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. 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’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’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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">20. 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’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’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’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> 31232000 13930000 0.49 16000 0.40 17284000 0.49 2000 0.1466 0 10077000 7884000 0.15 2138000 0.32 55000 0.25 P1Y P1Y P1Y 1346000000 206000000 1270000000 185000000 1420000000 204000000 135225000 155956000 82937000 77289 83805 26691 3 0.1466 5889000000 53874000 5 0.1466 12276404000 109597000 89238000 836000 13 0.1466 18426754000 163155000 3148648000 27879000 303772000 2699000 247341000 2210000 281094000 2573000 32119000 285000 122529000 1105000 223598000 2052000 0.49 0.49 45407000 6859000 586832000 40970000 11352000 1648000 0.80 0.1463 0.1463 0.1463 331958000 49113000 512154000 74490000 350590000 50359000 0.32 0.32 41635000 6056000 61174000 8787000 44271000 6430000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">21. COMMITMENTS AND CONTINGENCIES</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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)    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;">​</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;">​</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;">​</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;">​</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 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;">    </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;"> </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;">​</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;">​</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;">​</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)    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;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;">​</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;">​</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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21. 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)    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 York, or the New 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 York cases were consolidated into a single action in December 2010. On January 5, 2011, the California case was dismissed by the plaintiff, who became a member of the lead plaintiff group in the New York action. On March 11, 2011, a Consolidated Complaint was filed with respect to the New York action. The Consolidated Complaint alleges generally that the Company’s financial disclosures during 2009 and early 2010 were false or misleading; asserts claims under Sections 10(b) and 20(a) of the Exchange Act and Rule 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 2011, which was taken under submission by the Court in July 2011. On March 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 19, 2012. On March 29, 2013, the Court dismissed with prejudice a class action lawsuit filed against the Company and certain named defendants alleging that the Company’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’s motion to dismiss all claims against all defendants with prejudice. On December 20, 2013, the United States Court of Appeals for the Second Circuit affirmed the district court’s order dismissing such class action 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 10, 2010. The lawsuit alleges generally that the Company’s financial disclosures during 2009 and 2010 were false or misleading and brings claims under the shareholders’ relief provisions of the CBCA, Part XX III.1 of the Ontario Securities Act as well as claims based on negligent misrepresentation. In December 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’s motion on August 29, 2011. On March 30, 2012, the Ontario Court of Appeal denied the Company’s appeal with regard to its jurisdictional motion. On November 29, 2012, the Supreme Court of Canada denied the Company’s application for leave to appeal the order of the Ontario Court of Appeal. The plaintiff’s motions for class certification and leave to assert the statutory cause of action under the Ontario Securities Act were served in January 2013 and initially scheduled for argument in the Ontario Superior Court of Justice in June 2013.However, the plaintiff’s motions were adjourned in view of the plaintiff’s decision to seek an order compelling the Company to file additional evidence on the motions. On July 29, 2013 the Court dismissed the plaintiff’s motion to compel evidence. On September 24, 2013 the plaintiff’s application for leave to appeal from the July 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21. 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’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’s first sunset review. The Company did, however, participate in the USITC’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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21. 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;">“Chinese CSPV products subject to Solar 2 orders” 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. “Taiwanese CSPV products subject to Solar 2 orders” 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’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’ 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21. 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’s withdrawal determination at the CIT and persuaded the Court to enjoin USTR’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’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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">21. 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 “cooperative exporter” 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’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 “Item 8. Financial Information—A. Consolidated Statements and Other Financial Information—Legal and Administrative Proceedings” in the Company’s Form 20-F for detailed information on antidumping and countervailing duties.</p> 12000000 <p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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 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;">    </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;"> </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;">​</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;">​</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> 9000000 3000000 12000000 800000 <p style="font-family:'Times New Roman';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;">​</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;">​</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> 600000 200000 800000 2 6 52300000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22. 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’s chief operating decision maker (“CODM”) for making decisions, allocating resources and assessing performance. The Company’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 (“MSS”) 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’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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22. 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 net revenues generated from different geographic locations. The information presented below is based on the location of customers’ headquarters:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;">​</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;">​</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;">​</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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">22. 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 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 assets:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;"> </b><b style="font-weight:bold;">December 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;">    </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 December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;">The following table summarizes the Company’s revenues generated from each product or service:</p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p> 2 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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> 2582635000 719445000 -101497000 3200583000 1934062000 635716000 -87692000 2482086000 648573000 83729000 -13805000 718497000 279715000 -7031000 -13805000 258879000 2413889000 1575594000 -244971000 3744512000 1923131000 1302779000 -256480000 2969430000 490758000 272815000 11509000 775082000 141609000 211539000 11509000 364657000 2850859000 677470000 -137936000 3390393000 2390686000 473453000 -111344000 2752795000 460173000 204017000 -26592000 637598000 136419000 159518000 -26592000 269345000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">—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;">​</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;">​</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;">​</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;">—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;">​</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;">​</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;">​</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;">—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;">​</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;">​</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;">​</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;">—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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 48069000 232409000 313167000 94066000 95514000 109119000 21916000 53739000 93911000 13471000 58811000 78228000 51357000 83475000 68770000 48295000 101479000 33158000 10822000 17411000 17717000 68144000 55730000 66389000 356140000 698568000 780459000 628815000 999144000 852231000 388554000 339964000 395303000 5274000 50004000 94446000 85519000 85545000 60061000 1108162000 1474657000 1402041000 476946000 483041000 372687000 874559000 620520000 317077000 25244000 46697000 72552000 336468000 145873000 70893000 91991000 104467000 43311000 462000 4216000 39268000 4167000 23511000 12753000 116254000 142962000 89542000 1926091000 1571287000 1018083000 3390393000 3744512000 3200583000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;"> </b><b style="font-weight:bold;">December 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;">    </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 December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 824618000 835991000 168280000 331931000 233155000 259197000 61960000 63143000 50052000 60177000 9739000 14718000 24899000 100513000 1372703000 1665670000 <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">—</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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> 2551509000 1930701000 2055249000 84598000 93253000 116449000 62408000 223423000 6938000 10767000 19405000 69878000 71789000 66612000 632256000 1542906000 668476000 29236000 8735000 5866000 15978000 23953000 45103000 3390393000 3744512000 3200583000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 Ended December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;">​</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;">​</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;"> —</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;"> </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;"> </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;"> —</p></td></tr></table><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">23. 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> <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 Ended December 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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;">​</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;">​</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;"> —</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;"> </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;"> </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;"> —</p></td></tr></table> 718341000 3 3 0.17 0.05 0.04 0.12 0.12 0.05 0.05 59224000 74376000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">24. 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> 0.16 9412000 12544000 11738000 0.06 0.085 0.08 0.005 0.007 0.009 0.025 10447000 11211000 11409000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25. 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 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’s operations is largely dependent. 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 options, restricted shares and RSUs under the Plan to the sum of (i) 2,330,000 plus (ii) the sum of (a) 1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b) 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 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’s ordinary shares and expire ten years from the date of 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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">25. 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’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’s ordinary shares at the date of grant resulted in total compensation cost of approximately $13.3 million, $10.2 million and $12.2 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;">    </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;"> </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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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 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;"> </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;">​</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;">​</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> 2330000 0.01 0.025 0 P10Y 103723 8.47 605000 256000 1422000 120779 10.97 P1Y 1344000 1033001 759702 706637 P4Y 13300000 10200000 12200000 9314000 9314000 10258000 10258000 10682000 20507000 P2Y3M7D <p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="font-size:5pt;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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;">​</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;">    </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;"> </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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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;"> </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;">​</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 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;"> </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;">​</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> 1781271 14.18 706637 18.05 696853 15.40 131288 15.01 1659767 15.26 12091000 10242000 10733000 <p style="font-family:'Times New Roman';font-size:10pt;margin:0pt 0pt 6pt 0pt;"><b style="font-weight:bold;">26. 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’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 “Coronavirus Aid, Relief and Economic Security (CARES) Act”. The impact of the CARES Act could be material to the Company’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> 381330 5963000 990846 <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 — Financial Statement Schedule 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 Inc.</b></p><p style="font-family:'Times New Roman';font-size:10pt;text-indent:18pt;margin:0pt 0pt 6pt 0pt;">Schedule I has been provided pursuant to the requirements of Rule 12-04(a) and 4-08(e)(3) of Regulation 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 Inc.’s consolidated and unconsolidated subsidiaries not available for distribution to Canadian Solar Inc. as of December 31, 2019 of $497.2 million, exceeded the 25% 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 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;">​</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 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;">​</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;">    </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;">    </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;">​</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;">​</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 Thousands of U.S. Dollars, 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;">​</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;">​</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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">​</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;"> —</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;">​</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 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;"> </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;"> </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;"> —</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;"> —</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> —</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> —</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;"> </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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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 — <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 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;"> </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;"> </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;">​</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;"> —</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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 Thousands of U.S. 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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> —</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;"> —</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> —</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;"> </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;"> —</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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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 Thousands of U.S.</b><b style="font-family:'Calibri';font-weight:bold;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</span></p><p style="font-family:'Times New Roman';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 Ended December 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;">​</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;">    </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;">    </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;">    </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;">​</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;">​</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 Thousands of U.S. 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;"> —</p></td><td style="background-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;">​</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;">​</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;">​</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;"> —</p></td><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;">​</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;"> —</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> —</p></td><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;"> </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;">—</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">—</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">—</p></td><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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;"> —</p></td><td style="background-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;">​</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;"> —</p></td><td style="background-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;">​</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;">​</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;">​</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;"> —</p></td><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;">​</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;"> —</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;"> </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;"> </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;"> —</p></td><td style="background-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;"> </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;">​</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;">​</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;">​</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;">​</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;"> —</p></td><td style="background-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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> —</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;"> </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;"> —</p></td><td style="background-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;"> </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;"> —</p></td><td style="background-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;"> </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;"> </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;"> —</p></td><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;"> </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;"> —</p></td><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;"> </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;">​</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;">—</p></td><td style="background-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;">​</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;"> —</p></td><td style="background-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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;"> </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;"> </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;"> </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;"> </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;">​</span></p> 497200000 0.25 9097000 1362000 950000 3462000 3379000 11476000 279039000 341557000 15222000 9846000 314834000 353715000 1154004000 1383935000 2483000 28208000 23657000 68068000 69070000 1565114000 1832860000 127428000 3903000 3000 154765000 340502000 3879000 4713000 8255000 8531000 298230000 353749000 50000000 28779000 22936000 12633000 13041000 339642000 439726000 59180624 59371684 702931000 703806000 -11845000 10675000 17179000 622015000 793601000 -110149000 -109607000 1225472000 1393134000 1565114000 1832860000 35011000 86755000 4351000 29542000 53926000 4188000 5469000 32829000 163000 2221000 2518000 1727000 18390000 18970000 29093000 645000 795000 462000 -1173000 -77000 22429000 22360000 31282000 -16960000 10469000 -31119000 20078000 9170000 3005000 42191000 32370000 25272000 -7134000 -2671000 -5193000 -18110000 22255000 -11318000 -11944000 -116879000 -15075000 42784000 -111123000 -32035000 53253000 -142242000 -1686000 12133000 -5230000 130048000 195950000 308597000 -127000 99572000 237070000 171585000 99572000 237070000 171585000 37780000 -56115000 542000 137352000 180955000 172127000 99572000 237070000 171585000 33000 21000 154000 9559000 116879000 3686000 -7134000 -2671000 -5193000 2666000 -212000 -83000 130048000 195950000 308597000 -127000 9314000 10259000 10682000 6739000 5089000 -11563000 -57539000 184755000 43630000 60000 -60000 5715000 2749000 -5449000 -1016000 149000 1158000 3900000 -3900000 55399000 15598000 183675000 22436000 -25958000 1193000 833000 6008000 408000 6106000 -9230000 1292000 6358000 -21450000 11125000 114288000 -108595000 136996000 64185000 1051000 36146000 2483000 61749000 26000 -1000 74458000 94000000 40601000 375635000 12809000 -76920000 280584000 -66420000 49000000 151000000 50000000 127500000 11845000 879000 769000 875000 -48121000 -150231000 -88470000 6362000 -29618000 11110000 -4391000 -7860000 -6784000 21348000 16957000 9097000 16957000 9097000 2313000 18375000 10154000 4644000 <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’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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">    </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 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;">    </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 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;">    </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 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) 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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) 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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) 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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) 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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. </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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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) 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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) 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">%  </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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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. </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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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) 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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"><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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;"> </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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;"> </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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">%  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 “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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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: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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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: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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">%  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">%  </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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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;">​</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 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;">​</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;">​</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;">​</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;">​</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';">      </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';">    </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> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.9973 1 1 1 1 1 1 1 1 1 1 1 1 0.67 1 1 1 1 1 0.9999992 1 1 1 1 0.90 1 1 1 1 1 1 1 1 1 1 1 0.52 0.3733 0.0017 0.48 0.0312 0.20 0.00067 0.9688 XML 79 R22.htm IDEA: XBRL DOCUMENT v3.20.1
BORROWINGS
12 Months Ended
Dec. 31, 2019
BORROWINGS  
BORROWINGS

13. BORROWINGS

At December 31,

At December 31,

    

2018

    

2019

Analysis as:

Short-term borrowings

 

856,876

819,031

Long-term borrowings, current portion

171,051

114,089

Subtotal for short-term borrowings

1,027,927

933,120

Long-term borrowings on project assets — current (1)

265,770

286,173

Long-term borrowings

 

393,614

 

619,477

Total

 

1,687,311

 

1,838,770

(1)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.

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.

As of December 31, 2019, short-term borrowings of $708,787, long-term borrowings on project assets – 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 $579,695.

Long term borrowings newly obtained during the year ended December 31, 2019 were as follows:

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.

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.

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.

13. BORROWINGS (Continued)

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.

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.

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.

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.

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.

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.

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.

The newly obtained long-term borrowings disclosed above bear effective floating interest rates from 0.95% to 8.28% per annum.

13. BORROWINGS (Continued)

Future principal repayments on the long-term borrowings are as follows:

2020

    

400,262

2021

 

245,927

2022

 

276,675

2023

40,679

2024

 

15,158

Thereafter

41,038

Total

 

1,019,739

Less: future principal repayment related to long-term borrowings, current portion

 

(400,262)

Total long-term portion

$

619,477

Interest expenses

Average effective interest rates on borrowings are as follows:

    

At December 31,

    

At December 31,

 

2018

2019

 

Short-term borrowings

 

4.58

%  

4.86

%

Long-term borrowings on project assets – current

 

4.61

%  

3.65

%

Long-term borrowings

 

3.13

%  

5.43

%

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:

Years Ended December 31

    

2017

    

2018

    

2019

$

$

$

Interest capitalized — project assets

 

13,274

 

15,462

 

10,794

Interest capitalized — property, plant and equipment

 

1,010

 

1,182

 

2,620

Interest expense

 

117,971

 

106,032

 

81,326

Total interest incurred

 

132,255

 

122,676

 

94,740

XML 80 R26.htm IDEA: XBRL DOCUMENT v3.20.1
CONVERTIBLE NOTES
12 Months Ended
Dec. 31, 2019
CONVERTIBLE NOTES  
CONVERTIBLE NOTES

17. CONVERTIBLE NOTES

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:

Maturity date. The 2014 Notes mature on February 15, 2019.

Interest. 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.

Conversion. 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.

Redemption. The Company may redeem for cash all or any portion of the notes (i) at the Company’s option, on or after February 21, 2017, if the last reported sale price of the Company’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.

As of December 31, 2018, and 2019, the carrying value of the convertible notes was $127,428 and nil, respectively. The balance at December 31, 2018 and 2019 was net of unamortized issuance costs of $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.

In February 2019, the company repaid the entire $127.5 million outstanding balance of senior convertible notes.

XML 81 R12.htm IDEA: XBRL DOCUMENT v3.20.1
ALLOWANCE FOR DOUBTFUL ACCOUNTS
12 Months Ended
Dec. 31, 2019
ALLOWANCE FOR DOUBTFUL ACCOUNTS  
ALLOWANCE FOR DOUBTFUL ACCOUNTS

3. ALLOWANCE FOR DOUBTFUL ACCOUNTS

Allowance for doubtful accounts are comprised of allowances for accounts receivable trade, advances to suppliers and other receivables.

An analysis of allowances for accounts receivable, trade for the years ended December 31, 2017, 2018 and 2019 is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

26,119

 

32,941

 

32,733

Allowances made (reversed) during the year, net

 

5,345

 

869

 

(1,386)

Accounts written-off against allowances

 

(174)

 

(297)

 

(309)

Foreign exchange effect

 

1,651

 

(780)

 

(1,493)

Closing balance

 

32,941

 

32,733

 

29,545

An analysis of allowances for advances to suppliers for the years ended December 31, 2017, 2018 and 2019 is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

19,527

 

18,762

 

20,926

Allowances made (reversed) during the year, net

(833)

2,287

738

Accounts written-off against allowances

 

 

 

(1,452)

Foreign exchange effect

 

68

 

(123)

 

69

Closing balance

 

18,762

 

20,926

 

20,281

An analysis of allowances for other receivables for the years ended December 31, 2017, 2018 and 2019 is as follows:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

9,251

 

10,349

 

9,704

Allowances made (reversed) during the year, net

 

549

 

(175)

 

1,919

Foreign exchange effect

 

549

 

(470)

 

(192)

Closing balance

 

10,349

 

9,704

 

11,431

XML 82 R16.htm IDEA: XBRL DOCUMENT v3.20.1
SOLAR POWER SYSTEMS, NET
12 Months Ended
Dec. 31, 2019
SOLAR POWER SYSTEMS, NET  
SOLAR POWER SYSTEMS, NET

7. SOLAR POWER SYSTEMS , NET

Solar power systems, net consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Solar power systems in operation

66,641

70,449

Solar power systems under construction

4,484

4,830

Accumulated depreciation

(16,227)

(22,322)

Solar power systems, net

54,898

52,957

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.

XML 83 R123.htm IDEA: XBRL DOCUMENT v3.20.1
Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Operating activities:      
Net income $ 166,555 $ 242,431 $ 102,983
Adjustments to reconcile net income to net cash provided by (used in) operating activities:      
Depreciation and amortization 159,723 129,256 99,273
Impairment of long-lived assets 0 5,738 3,686
Loss on change in fair value of derivatives 22,218 19,230 272
Allowance for doubtful accounts 1,250 2,812 7,265
Equity in loss of unconsolidated investees (28,948) (5,908) (9,411)
Share-based compensation 10,682 10,258 9,314
Changes in operating assets and liabilities:      
Accounts receivable trade 51,670 (179,607) 46,337
Amounts due from related parties (17,347) 9,237 (10,089)
Advances to suppliers (27,066) 29,001 (15,990)
Prepaid expenses and other current assets 33,283 (2,208) (49,813)
Other non-current assets (24,037) 9,387 (23,795)
Accounts payable 209,175 47,756 (27,758)
Amounts due to related parties (5,798) 10,467 33,908
Other liabilities (10,851) (29,691) (18,774)
Liability for uncertain tax positions (4,775) 10,863 833
Deferred taxes (12,455) 37,591 84,939
Net settlement of derivatives (27,012) 28,731 (1,460)
Net cash provided by (used in) operating activities 600,111 216,280 203,920
Investing activities:      
Net cash provided by (used in) investing activities (294,102) 29,071 (239,230)
Financing activities:      
Repayment of short-term borrowings (1,649,721) (2,368,967) (2,068,069)
Repayment of convertible notes (127,500)    
Proceeds from exercise of stock options 875 769 879
Net cash provided by (used in) financing activities (34,614) (463,613) 165,283
Effect of exchange rate changes (6,965) (38,725) 51,342
Net increase (decrease) in cash, cash equivalents and restricted cash 264,430 (256,987) 181,315
Cash, cash equivalents and restricted cash at the beginning of the year 940,990 1,190,134 1,007,700
Cash, cash equivalents and restricted cash at the end of the year 1,205,420 940,990 1,190,134
Supplemental disclosure of cash flow information:      
Interest paid (net of amounts capitalized) 85,362 103,236 113,513
Income taxes paid 40,454 32,135 45,483
Parent Company | Reportable Legal Entities [Member]      
Operating activities:      
Net income 171,585 237,070 99,572
Adjustments to reconcile net income to net cash provided by (used in) operating activities:      
Depreciation and amortization 154 21 33
Loss on disposal of subsidiaries 116,879   9,559
Impairment of long-lived assets     3,686
Loss on change in fair value of derivatives 5,193 2,671 7,134
Allowance for doubtful accounts (83) (212) 2,666
Equity in earnings of subsidiaries (308,597) (195,950) (130,048)
Equity in loss of unconsolidated investees     127
Share-based compensation 10,682 10,259 9,314
Changes in operating assets and liabilities:      
Accounts receivable trade 11,563 (5,089) (6,739)
Amounts due from related parties (43,630) (184,755) 57,539
Advances to suppliers   60 (60)
Prepaid expenses and other current assets 5,449 (2,749) (5,715)
Other non-current assets (1,158) (149) 1,016
Accounts payable (3,900) 3,900  
Amounts due to related parties 183,675 15,598 55,399
Other liabilities 1,193 (25,958) 22,436
Liability for uncertain tax positions 408 6,008 833
Deferred taxes (1,292) 9,230 (6,106)
Net settlement of derivatives (11,125) 21,450 (6,358)
Net cash provided by (used in) operating activities 136,996 (108,595) 114,288
Investing activities:      
Investment in subsidiaries (36,146) (1,051) (64,185)
Investments in affiliates (2,483)    
Proceeds from disposal of subsidiaries     61,749
Purchase of property, plant and equipment 1   (26)
Funding of loans to subsidiaries (40,601) (94,000) (74,458)
Repayment of loans from subsidiaries 12,809 375,635  
Net cash provided by (used in) investing activities (66,420) 280,584 (76,920)
Financing activities:      
Repayment of short-term borrowings   (151,000) (49,000)
Proceeds from long-term borrowings 50,000    
Repayment of convertible notes (127,500)    
Payments for repurchase of treasury stock (11,845)    
Proceeds from exercise of stock options 875 769 879
Net cash provided by (used in) financing activities (88,470) (150,231) (48,121)
Effect of exchange rate changes 11,110 (29,618) 6,362
Net increase (decrease) in cash, cash equivalents and restricted cash (6,784) (7,860) (4,391)
Cash, cash equivalents and restricted cash at the beginning of the year 9,097 16,957 21,348
Cash, cash equivalents and restricted cash at the end of the year 2,313 9,097 16,957
Supplemental disclosure of cash flow information:      
Interest paid (net of amounts capitalized) $ 4,644 $ 10,154 $ 18,375
XML 84 R108.htm IDEA: XBRL DOCUMENT v3.20.1
COMMITMENTS AND CONTINGENCIES - Commitments (Details)
$ in Thousands
Dec. 31, 2019
USD ($)
Property, plant and equipment  
Purchase Commitment, Excluding Long-term Commitment [Line Items]  
Commitments $ 12,000
2020 9,000
2021 3,000
Total 12,000
Solar power system  
Purchase Commitment, Excluding Long-term Commitment [Line Items]  
Commitments 800
2020 600
2021 200
Total $ 800
XML 85 R35.htm IDEA: XBRL DOCUMENT v3.20.1
SUBSEQUENT EVENTS
12 Months Ended
Dec. 31, 2019
SUBSEQUENT EVENTS  
SUBSEQUENT EVENTS

26. SUBSEQUENT EVENTS

In the first quarter of 2020, the Company repurchased additional 381,330 shares with total costs of $5,963. The Company repurchased 990,846 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.

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’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.

On March 27, 2020, the U.S. President Donald Trump signed into law the “Coronavirus Aid, Relief and Economic Security (CARES) Act”. The impact of the CARES Act could be material to the Company’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.

XML 86 R31.htm IDEA: XBRL DOCUMENT v3.20.1
SEGMENT INFORMATION
12 Months Ended
Dec. 31, 2019
SEGMENT INFORMATION  
SEGMENT INFORMATION

22. SEGMENT INFORMATION

The Company uses the management approach to determine operating segments. The management approach considers the internal organization and reporting used by the Company’s chief operating decision maker (“CODM”) for making decisions, allocating resources and assessing performance. The Company’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.

The Company has been operating in two principal businesses since 2016: module and system solutions (“MSS”) 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&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’s CODM reviews net revenue and gross profit and does not review balance sheet information by segment.

22. SEGMENT INFORMATION (Continued)

The following table summarizes the Company's revenues, gross profit and income from operations generated from each segment:

Years Ended December 31, 2019

    

MSS

    

Energy

    

Elimination

    

Total

$

$

$

$

Net revenues

 

2,582,635

 

719,445

(101,497)

3,200,583

Cost of revenues

 

1,934,062

 

635,716

(87,692)

2,482,086

Gross profit

 

648,573

 

83,729

(13,805)

718,497

Income from operations

279,715

(7,031)

(13,805)

258,879

Years Ended December 31, 2018

    

MSS

    

Energy

    

Elimination

    

Total

$

$

$

$

Net revenues

 

2,413,889

 

1,575,594

(244,971)

3,744,512

Cost of revenues

 

1,923,131

 

1,302,779

(256,480)

2,969,430

Gross profit

 

490,758

 

272,815

11,509

775,082

Income from operations

141,609

211,539

11,509

364,657

Years Ended December 31, 2017

    

MSS

    

Energy

    

Elimination

    

Total

$

$

$

$

Net revenues

 

2,850,859

 

677,470

(137,936)

3,390,393

Cost of revenues

 

2,390,686

 

473,453

(111,344)

2,752,795

Gross profit

 

460,173

 

204,017

(26,592)

637,598

Income from operations

136,419

159,518

(26,592)

269,345

Income from operations is estimated based on the Company's management accounts as some services are shared by two segments.

22. SEGMENT INFORMATION (Continued)

The following table summarizes the Company’s net revenues generated from different geographic locations. The information presented below is based on the location of customers’ headquarters:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Europe and other regions:

—Australia

48,069

232,409

313,167

—Germany

 

94,066

 

95,514

 

109,119

—South Africa

21,916

53,739

93,911

—Spain

 

13,471

 

58,811

 

78,228

—Netherlands

 

51,357

 

83,475

 

68,770

—United Kingdom

48,295

101,479

33,158

—Czech

 

10,822

17,411

17,717

—Others

 

68,144

 

55,730

 

66,389

 

356,140

 

698,568

 

780,459

The Americas:

—United States

 

628,815

 

999,144

 

852,231

—Brazil

388,554

339,964

395,303

—Mexico

 

5,274

 

50,004

 

94,446

—Others

 

85,519

 

85,545

 

60,061

 

1,108,162

 

1,474,657

 

1,402,041

Asia:

—Japan

 

476,946

 

483,041

 

372,687

—PRC

 

874,559

 

620,520

 

317,077

—Korea

25,244

46,697

72,552

—India

 

336,468

 

145,873

 

70,893

—United Arab Emirates

91,991

104,467

43,311

—Vietnam

462

4,216

39,268

—Thailand

4,167

23,511

12,753

—Others

 

116,254

 

142,962

 

89,542

 

1,926,091

 

1,571,287

 

1,018,083

Total net revenues

 

3,390,393

 

3,744,512

 

3,200,583

22. SEGMENT INFORMATION (Continued)

The following table summarizes the Company’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 assets:

    

At December 31,

    

At December 31,

2018

2019

$

$

PRC

 

824,618

 

835,991

Thailand

168,280

331,931

Japan

233,155

259,197

Australia

61,960

63,143

United States

50,052

60,177

Canada

 

9,739

 

14,718

Others

 

24,899

 

100,513

Total long-lived assets

 

1,372,703

 

1,665,670

The following table summarizes the Company’s revenues generated from each product or service:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

MSS:

Solar modules and other solar power products

 

2,551,509

 

1,930,701

 

2,055,249

Solar system kits

 

84,598

 

93,253

 

116,449

EPC services

62,408

223,423

O&M services

6,938

10,767

19,405

Others ( materials)

69,878

71,789

66,612

Energy:

Solar power projects

 

632,256

 

1,542,906

 

668,476

Electricity

29,236

8,735

5,866

Others (EPC and development services)

 

15,978

 

23,953

 

45,103

Total net revenues

 

3,390,393

 

3,744,512

 

3,200,583

XML 87 R39.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables)
12 Months Ended
Dec. 31, 2019
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES  
Schedule of expected useful lives of property and equipment

Buildings

    

20 years

Leasehold improvements

 

Over the shorter of the lease term or their estimated useful lives

Machinery

5-10 years

Furniture, fixtures and equipment

5 years

Motor vehicles

 

5 years

Schedule of useful life intangible assets

Technical know-how

10 years

Computer software

1-10 years

Schedule of disaggregation of revenue

Years Ended December 31,

    

2017

    

2018

    

2019

 

(In Thousands of U.S. Dollars)

MSS:

Revenue recognized at a point in time

 

2,705,985

 

2,095,743

 

2,238,310

Revenue recognized over time

 

6,938

 

73,175

 

242,828

Energy:

Revenue recognized at a point in time

633,195

1,542,906

668,476

Revenue recognized over time

44,275

32,688

50,969

 

3,390,393

 

3,744,512

 

3,200,583

Schedule of contract assets and contract liabilities

    

At December 31,
2018

    

At December31,
2019

    

Fluctuation

 

(In Thousands of U.S. Dollars)

 

Contract Assets

 

  

 

  

 

  

Accounts receivables, unbilled

 

38

 

15,256

 

15,218

Contract Liabilities

 

  

 

 

Advances from customers

 

39,024

 

134,806

 

95,782

Other current liabilities

 

51,381

 

20,917

 

(30,464)

 

90,405

 

155,723

 

65,318

Summary of the Company's other operating income, net

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Net gain on disposal of solar power system

(27,803)

(36,098)

(1,666)

Net loss on disposal of property, plant and equipment

1,960

2,565

1,227

Government grants

(6,473)

(11,013)

(10,097)

Business interruption insurance compensation

(15,238)

(47,554)

(44,546)

(10,536)

XML 88 R104.htm IDEA: XBRL DOCUMENT v3.20.1
INCOME TAXES - Reconciliation (Details) - USD ($)
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
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      
Combined federal and provincial income tax rate (as a percent) 27.00% 27.00% 27.00%
Effect of permanent difference (as a percent) (1.00%) (11.00%) (18.00%)
Effect of different tax rate on earnings in other jurisdictions (as a percent) 3.00%   (7.00%)
Effect of tax holiday (as a percent) (4.00%) (1.00%) (2.00%)
Unrecognized tax provision (as a percent) (3.00%) 4.00%  
Change in valuation allowance (as a percent) (3.00%) 7.00% (6.00%)
Effect of change in tax rate (1.00%) (3.00%) 39.00%
Others (as a percent) 2.00% (3.00%) (5.00%)
Actual income tax rate (as a percent) 20.00% 20.00% 28.00%
Additional disclosure      
Withholding income tax rate on dividends distributed by foreign invested enterprises (as a percent) 10.00%    
Undistributed earnings of subsidiaries and affiliates considered to be permanently reinvested $ 625,900,000    
Provision for withholding income tax on dividend $ 0    
Preferential withholding tax rate (as a percent) 5.00%    
Aggregate amount and per share effect of the tax holiday      
The aggregate amount (in dollars) $ 7,956,000 $ 3,089,000 $ 2,850,000
Per share effect - basic (in dollars per share) $ 0.13 $ 0.05 $ 0.05
Per share effect - diluted (in dollars per share) $ 0.13 $ 0.05 $ 0.05
Minimum      
Additional disclosure      
Unrecognized deferred tax liabilities $ 31,300,000    
Withholding tax rate (as a percent) 5.00%    
Maximum      
Additional disclosure      
Unrecognized deferred tax liabilities $ 62,600,000    
Withholding tax rate (as a percent) 10.00%    
XML 89 R100.htm IDEA: XBRL DOCUMENT v3.20.1
CONVERTIBLE NOTES (Details)
1 Months Ended 12 Months Ended
Feb. 18, 2014
USD ($)
Feb. 28, 2019
USD ($)
Dec. 31, 2019
USD ($)
item
D
$ / shares
Dec. 31, 2018
USD ($)
Dec. 31, 2017
USD ($)
CONVERTIBLE NOTES          
Convertible notes     $ 0 $ 127,400,000  
Carrying value of convertible notes       127,428,000  
Repayment of outstanding balance     $ 127,500,000    
2014 Notes          
CONVERTIBLE NOTES          
Proceeds from initial issuance of convertible notes $ 130,000,000        
Period of option for additional issuance 30 days        
Proceeds from additional issuance of convertible notes $ 20,000,000        
Interest rate (as a percent)     4.25%    
Conversion rate     22.2222    
Conversion rate initial principal amount     $ 1,000,000    
Conversion price (in dollars per share) | $ / shares     $ 45.00    
Sales price of common stock as percentage of conversion price for redemption at Company's option     130.00%    
Number of trading days that threshold percentage exceeds stock price for trigger of redemption at Company's option | item     20    
Period of consecutive trading days that the threshold of trading days must fall within for trigger of redemption at Company's option | D     30    
Redemption prices as percentage of outstanding principal amount plus accrued and unpaid interest following occurrence of certain tax related events     100.00%    
Carrying value of convertible notes     $ 0 127,428,000  
Unamortized issuance costs     $ 0 72,000,000  
Effective interest rate (as a percent)     4.96%    
Amortization of financing costs     $ 71,800 953,000 $ 907,000
Interest expense     $ 903,000 5,419,000  
Repayment of outstanding balance   $ 127,500,000      
2014 Notes | Other payables          
CONVERTIBLE NOTES          
Accrued interest       $ 2,008,000  
XML 90 R3.htm IDEA: XBRL DOCUMENT v3.20.1
CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
CONSOLIDATED BALANCE SHEETS    
Accounts receivable trade, allowance $ 29,545 $ 32,733
Advances to suppliers - current, allowance 7,222 5,702
Advances to suppliers - non-current, allowance $ 13,059 $ 15,224
Common share, par value (in dollars per share) $ 0 $ 0
Common shares, shares issued (in shares) 59,371,684 59,180,624
Common shares, shares outstanding (in shares) 59,371,684 59,180,624
Treasury stock, shares issued (in shares) 609,516 0
XML 91 R7.htm IDEA: XBRL DOCUMENT v3.20.1
CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical)
$ in Thousands
1 Months Ended
Dec. 31, 2019
USD ($)
shares
CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY  
Number of shares repurchased | shares 609,516
Total cost of share repurchases | $ $ 11,845
XML 92 R58.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Principal accounting policies:    
Prepaid expenses and other current assets $ 253,542 $ 289,459
Allowance for doubtful receivables    
Principal accounting policies:    
Prepaid expenses and other current assets $ 166 $ 164
XML 93 R50.htm IDEA: XBRL DOCUMENT v3.20.1
BORROWINGS (Tables)
12 Months Ended
Dec. 31, 2019
BORROWINGS  
Schedule of bank borrowings

At December 31,

At December 31,

    

2018

    

2019

Analysis as:

Short-term borrowings

 

856,876

819,031

Long-term borrowings, current portion

171,051

114,089

Subtotal for short-term borrowings

1,027,927

933,120

Long-term borrowings on project assets — current (1)

265,770

286,173

Long-term borrowings

 

393,614

 

619,477

Total

 

1,687,311

 

1,838,770

Schedule of future principal repayments on the long-term borrowings

2020

    

400,262

2021

 

245,927

2022

 

276,675

2023

40,679

2024

 

15,158

Thereafter

41,038

Total

 

1,019,739

Less: future principal repayment related to long-term borrowings, current portion

 

(400,262)

Total long-term portion

$

619,477

Schedule of average effective interest rates on borrowings

    

At December 31,

    

At December 31,

 

2018

2019

 

Short-term borrowings

 

4.58

%  

4.86

%

Long-term borrowings on project assets – current

 

4.61

%  

3.65

%

Long-term borrowings

 

3.13

%  

5.43

%

Schedule of interest incurred

Years Ended December 31

    

2017

    

2018

    

2019

$

$

$

Interest capitalized — project assets

 

13,274

 

15,462

 

10,794

Interest capitalized — property, plant and equipment

 

1,010

 

1,182

 

2,620

Interest expense

 

117,971

 

106,032

 

81,326

Total interest incurred

 

132,255

 

122,676

 

94,740

XML 94 R54.htm IDEA: XBRL DOCUMENT v3.20.1
COMMITMENTS AND CONTINGENCIES (Tables)
12 Months Ended
Dec. 31, 2019
Property, plant and equipment  
Schedule of payment for commitments

Year Ending December 31:

    

$

2020

 

9,000

2021

3,000

Total

12,000

Solar power system  
Schedule of payment for commitments

Year Ending December 31:

    

$

2020

600

2021

200

Total

800

XML 95 R77.htm IDEA: XBRL DOCUMENT v3.20.1
FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Effect of derivative instruments on consolidated statements of operations      
Gain (loss) on change in fair value of derivatives $ (22,218) $ (19,230) $ (272)
Foreign exchange forward contracts      
Effect of derivative instruments on consolidated statements of operations      
Gain (loss) on change in fair value of derivatives (20,249) (16,414) (2,638)
Foreign exchange option contracts      
Effect of derivative instruments on consolidated statements of operations      
Gain (loss) on change in fair value of derivatives (1,022) (2,023)  
Warrants      
Effect of derivative instruments on consolidated statements of operations      
Gain (loss) on change in fair value of derivatives     711
Interest rate swap      
Effect of derivative instruments on consolidated statements of operations      
Gain (loss) on change in fair value of derivatives $ (947) $ (793) $ 1,655
XML 96 R87.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Operating leases - Gross difference (Details)
$ in Thousands
Dec. 31, 2019
USD ($)
Operating leases, gross difference  
Total future minimum lease payments $ 41,721
Less: imputed interest 2,236
NPV for future minimum lease payments $ 39,485
XML 97 R83.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Lease expense (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Finance lease cost:      
Amortization of right-of-use assets $ 18,900    
Interest on lease liabilities 3,213    
Operating lease cost 17,619    
Short term lease cost 8,920    
Total lease cost $ 45,916    
Operating lease expenses   $ 20,900 $ 19,800
Finance lease expenses   $ 24,700 $ 19,100
XML 98 R73.htm IDEA: XBRL DOCUMENT v3.20.1
SOLAR POWER SYSTEMS, NET (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Property, plant and equipment      
Accumulated depreciation $ (22,322) $ (16,227)  
Solar power systems, net 52,957 54,898  
Depreciation expense 148,034 120,834 $ 88,931
Solar power systems      
Property, plant and equipment      
Solar power systems, net 70,449 66,641  
Depreciation expense 6,379 3,756 $ 5,683
Solar power sysetems under construction      
Property, plant and equipment      
Solar power systems, net $ 4,830 $ 4,484  
XML 99 R45.htm IDEA: XBRL DOCUMENT v3.20.1
INTANGIBLE ASSETS, NET (Tables)
12 Months Ended
Dec. 31, 2019
INTANGIBLE ASSETS, NET  
Schedule of intangible assets

    

Gross

    

    

Carrying

Accumulated

At December 31, 2019

Amount

Amortization

Net

$

$

$

Technical know-how

1,428

(1,425)

3

Computer software

 

38,205

(15,417)

22,788

Total intangible assets, net

 

39,633

(16,842)

22,791

    

Gross

    

    

Carrying

Accumulated

At December 31, 2018

Amount

Amortization

Net

$

$

$

Technical know-how

 

2,369

(1,458)

911

Computer software

 

25,882

(11,890)

13,992

Total intangible assets, net

 

28,251

(13,348)

14,903

XML 100 R41.htm IDEA: XBRL DOCUMENT v3.20.1
INVENTORIES (Tables)
12 Months Ended
Dec. 31, 2019
INVENTORIES  
Schedule of inventories

At December 31,

At December 31,

    

2018

    

2019

$

$

Raw materials

 

47,759

 

75,722

Work-in-process

 

46,817

 

74,105

Finished goods

 

167,446

 

404,243

 

262,022

 

554,070

XML 101 R49.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE (Tables)
12 Months Ended
Dec. 31, 2019
LEASE  
Schedule of leases

    

Year ended

 

December 31, 2019

 

$

Finance lease cost:

  

Amortization of right-of-use assets

18,900

Interest on lease liabilities

3,213

Operating fixed lease cost

17,619

Short-term lease cost

8,920

Total lease cost

45,916

Schedule of other supplemental information:

    

Year ended

 

December 31, 2019

 

$

Cash paid for amounts included in the measurement of lease liabilities

  

Operating cash flows from finance lease

(3,213)

Operating cash flows from operating lease

(15,866)

Financing cash flows from finance lease

(33,614)

Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction

7,300

Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction

18,222

    

At December 31,

 

 

2019

Weighted average of remaining operating lease term - finance leases (in years)

 

1.41

Weighted average of remaining operating lease term - operating leases (in years)

 

3.03

Weighted average of operating lease discount rate - finance lease

 

5.82

%

Weighted average of operating lease discount rate - operating lease

 

4.36

%

Schedule of lease maturities

    

Operating Lease Payment

    

Finance Lease Payment

    

Total Lease Payment

Year Ending December 31:

$

$

$

2020

18,953

27,439

46,392

2021

12,980

13,087

26,066

2022

4,666

604

5,270

2023

2,541

2,541

2024

1,077

1,077

Thereafter

1,504

1,504

Total future minimum lease payments

41,721

41,130

82,851

Less: imputed interest

2,236

2,056

4,292

NPV for future minimum lease payments

39,485

39,074

78,559

Analysis as:

  

  

  

Short-term

18,767

25,998

44,765

Long-term

20,718

13,076

33,794

Total lease liabilities

39,485

39,074

78,559

Schedule of lease liabilities under(Topic 840)

The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:

    

Operating Lease Payment

    

Finance Lease Payment

    

Total Lease Payment

Year Ending December 31:

$

$

$

2019

 

18,287

 

40,945

 

59,232

2020

 

11,790

 

23,483

 

35,273

2021

 

9,379

 

11,842

 

21,221

2022

 

2,485

 

556

 

3,041

2023

 

838

 

 

838

Thereafter

 

7,743

 

 

7,743

Total future minimum lease payments

 

50,522

 

76,826

 

127,348

Less: imputed interest

 

  

 

5,024

 

5,024

NPV for future minimum lease payments

 

  

 

71,802

 

71,802

XML 102 R62.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Revenue recognition:      
Inventories $ 554,070 $ 262,022  
Net revenues 3,200,583 3,744,512 $ 3,390,393
Electricity      
Revenue recognition:      
Net revenues 3,900 4,700 $ 10,900
Uncollectable Revenue      
Revenue recognition:      
Inventories $ 7,700 $ 9,000  
XML 103 R92.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE - Total leases - Summary (Details)
$ in Thousands
Dec. 31, 2019
USD ($)
Leases  
Short-term $ 44,765
Long-term 33,794
Total lease liabilities 78,559
Operating lease liabilities, current 18,767
Operating lease liabilities, noncurrent 20,718
Total operating lease liabilities 39,485
Finance lease liabilities, current 25,998
Finance lease liabilities, noncurrent 13,076
Total Finance lease liabilities $ 39,074
XML 104 R96.htm IDEA: XBRL DOCUMENT v3.20.1
BORROWINGS - Long term narrative and interest expense (Details)
¥ in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2019
USD ($)
Dec. 31, 2018
USD ($)
Dec. 31, 2017
USD ($)
Oct. 11, 2019
USD ($)
Jul. 15, 2019
USD ($)
Jun. 28, 2019
JPY (¥)
Jun. 28, 2019
USD ($)
Jan. 31, 2019
JPY (¥)
Jan. 25, 2019
USD ($)
Oct. 31, 2018
USD ($)
Sep. 14, 2018
USD ($)
Apr. 05, 2018
USD ($)
Mar. 30, 2018
USD ($)
Mar. 26, 2018
USD ($)
BORROWINGS                            
Floating interest rate (as a percent) 5.43% 3.13%                        
Interest expense                            
Interest capitalized - project assets $ 10,794 $ 15,462 $ 13,274                      
Interest capitalized - property, plant, and equipment 2,620 1,182 1,010                      
Interest expense 81,326 106,032 117,971                      
Total interest incurred 94,740 $ 122,676 $ 132,255                      
Credit facility                            
BORROWINGS                            
Maximum borrowing capacity $ 2,331,226                          
Unsecured                            
BORROWINGS                            
Floating interest rate (as a percent) 4.86% 4.58%                        
Secured by project assets and solar power systems                            
BORROWINGS                            
Floating interest rate (as a percent) 3.65% 4.61%                        
Finance agreement                            
BORROWINGS                            
Maximum borrowing capacity | ¥           ¥ 5,989                
Outstanding balance             $ 1,503              
Bank borrowings | Subsidiary                            
BORROWINGS                            
Maximum borrowing capacity                     $ 123,708      
Outstanding balance $ 123,708                          
Bank borrowings | Secured by Inventory and accounts receivable                            
BORROWINGS                            
Maximum borrowing capacity | ¥               ¥ 8,476            
Outstanding balance 8,476                          
Bank borrowings | Unsecured                            
BORROWINGS                            
Maximum borrowing capacity                           $ 49,290
Outstanding balance 11,881                          
Bank borrowings | Secured by project assets and solar power systems                            
BORROWINGS                            
Maximum borrowing capacity                         $ 50,000  
Outstanding balance 50,000                          
Bank borrowings | Secured by project assets and solar power systems | Subsidiary                            
BORROWINGS                            
Maximum borrowing capacity                       $ 43,003    
Outstanding balance 34,188                          
Borrowings from non-banking institutions                            
BORROWINGS                            
Maximum borrowing capacity                   $ 93,975        
Outstanding balance 93,975                          
Borrowings from non-banking institutions | Subsidiary                            
BORROWINGS                            
Maximum borrowing capacity         $ 110,000                  
Outstanding balance 91,095                          
Borrowings from non-banking institutions | Secured by prepaid land use rights and guaranteed by Chinese Subsidiary                            
BORROWINGS                            
Maximum borrowing capacity                 $ 129,010          
Outstanding balance $ 40,136                          
Borrowings from non-banking institutions | Finance agreement                            
BORROWINGS                            
Maximum borrowing capacity       $ 60,000                    
Outstanding balance       $ 60,000                    
XML 105 R66.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Revenue recognition:      
Gain on disposal of solar power systems $ (1,666) $ (36,098) $ (27,803)
Net loss on disposal of property, plant and equipment 1,227 2,565 1,960
Business interruption insurance compensation     (15,238)
Other operating income, net (10,536) (44,546) (47,554)
Government grants      
Revenue recognition:      
Other operating income, net $ (10,097) $ (11,013) $ (6,473)
JSON 106 MetaLinks.json IDEA: XBRL DOCUMENT { "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&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&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&M.", "label": "O And M Services Product [Member]", "terseLabel": "O&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 & M service.", "label": "O M Service [Member]", "terseLabel": "O & 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" } XML 107 R111.htm IDEA: XBRL DOCUMENT v3.20.1
SEGMENT INFORMATION - Different geographic locations (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Revenues generated by geographic location of customers' headquarter      
Net revenues $ 3,200,583 $ 3,744,512 $ 3,390,393
Total long-lived assets 1,665,670 1,372,703  
Europe      
Revenues generated by geographic location of customers' headquarter      
Net revenues 780,459 698,568 356,140
Australia      
Revenues generated by geographic location of customers' headquarter      
Net revenues 313,167 232,409 48,069
Total long-lived assets 63,143 61,960  
Germany      
Revenues generated by geographic location of customers' headquarter      
Net revenues 109,119 95,514 94,066
South Africa      
Revenues generated by geographic location of customers' headquarter      
Net revenues 93,911 53,739 21,916
Spain      
Revenues generated by geographic location of customers' headquarter      
Net revenues 78,228 58,811 13,471
Netherlands      
Revenues generated by geographic location of customers' headquarter      
Net revenues 68,770 83,475 51,357
United Kingdom      
Revenues generated by geographic location of customers' headquarter      
Net revenues 33,158 101,479 48,295
Czech      
Revenues generated by geographic location of customers' headquarter      
Net revenues 17,717 17,411 10,822
Others      
Revenues generated by geographic location of customers' headquarter      
Net revenues 66,389 55,730 68,144
The Americas      
Revenues generated by geographic location of customers' headquarter      
Net revenues 1,402,041 1,474,657 1,108,162
United States      
Revenues generated by geographic location of customers' headquarter      
Net revenues 852,231 999,144 628,815
Total long-lived assets 60,177 50,052  
BRAZIL      
Revenues generated by geographic location of customers' headquarter      
Net revenues 395,303 339,964 388,554
Canada      
Revenues generated by geographic location of customers' headquarter      
Total long-lived assets 14,718 9,739  
Mexico      
Revenues generated by geographic location of customers' headquarter      
Net revenues 94,446 50,004 5,274
Others      
Revenues generated by geographic location of customers' headquarter      
Net revenues 60,061 85,545 85,519
Total long-lived assets 100,513 24,899  
Asia      
Revenues generated by geographic location of customers' headquarter      
Net revenues 1,018,083 1,571,287 1,926,091
Japan      
Revenues generated by geographic location of customers' headquarter      
Net revenues 372,687 483,041 476,946
Total long-lived assets 259,197 233,155  
PRC      
Revenues generated by geographic location of customers' headquarter      
Net revenues 317,077 620,520 874,559
Total long-lived assets 835,991 824,618  
Korea      
Revenues generated by geographic location of customers' headquarter      
Net revenues 72,552 46,697 25,244
India      
Revenues generated by geographic location of customers' headquarter      
Net revenues 70,893 145,873 336,468
U.A.E      
Revenues generated by geographic location of customers' headquarter      
Net revenues 43,311 104,467 91,991
Vietnam      
Revenues generated by geographic location of customers' headquarter      
Net revenues 39,268 4,216 462
Thailand      
Revenues generated by geographic location of customers' headquarter      
Net revenues 12,753 23,511 4,167
Total long-lived assets 331,931 168,280  
Others      
Revenues generated by geographic location of customers' headquarter      
Net revenues $ 89,542 $ 142,962 $ 116,254
XML 108 R115.htm IDEA: XBRL DOCUMENT v3.20.1
SHARE-BASED COMPENSATION - Options to Employees (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 12 Months Ended
Sep. 30, 2010
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Dec. 31, 2019
SHARE-BASED COMPENSATION          
Maximum aggregate number of shares to be issued 2,330,000        
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 1.00%        
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 2.50%        
Number of shares to be granted after expiration   0      
Expiry term of share options   10 years      
Options | Employees          
SHARE-BASED COMPENSATION          
Option exercised   103,723      
Weighted average exercise price of shares exercised (in dollars per share)   $ 8.47      
Total intrinsic value of options exercised (in dollars)   $ 1,422 $ 256 $ 605  
Options outstanding   120,779     120,779
Weighted average exercise price of options outstanding (in dollars per share)   $ 10.97     $ 10.97
Weighted average remaining contract terms of options outstanding (in years)   1 year      
Intrinsic value of outstanding options (in dollars)         $ 1,344
Number of Options          
Exercised (in shares)   (103,723)      
Options outstanding at the end of the period (in shares)   120,779      
Weighted Average Exercise Price          
Exercised (in dollars per share)   $ 8.47      
Options outstanding at the end of the period (in dollars per share)   $ 10.97      
Weighted Average Remaining Contract Terms          
Options outstanding at the end of the period   1 year      
Aggregate Intrinsic Value          
Options outstanding at the end of the period         $ 1,344
Total intrinsic value of options exercised   $ 1,422 $ 256 $ 605  
XML 109 R28.htm IDEA: XBRL DOCUMENT v3.20.1
EARNINGS PER SHARE
12 Months Ended
Dec. 31, 2019
EARNINGS PER SHARE  
EARNINGS PER SHARE

19. EARNINGS PER SHARE

The following table sets forth the computation of basic and diluted earnings per share for the years indicated:

Years Ended December 31,

    

2017

    

2018

    

2019

(In Thousands of U.S. Dollars, except share and

per share data)

Numerator:

Net income attributable to Canadian Solar Inc. — basic

$

99,572

$

237,070

$

171,585

Dilutive effect of interest expense of convertible notes

4,649

4,683

975

Net income attributable to Canadian Solar Inc. — diluted

$

104,221

$

241,753

$

172,560

Denominator:

Denominator for basic calculation — weighted average number of common shares — basic

 

58,167,004

 

58,914,540

 

59,633,855

Diluted effects of share number from share options and RSUs

 

547,821

 

543,797

 

794,526

Dilutive effects of share number from convertible notes

2,833,333

2,833,333

349,315

Denominator for diluted calculation — weighted average number of common shares — diluted

 

61,548,158

 

62,291,670

 

60,777,696

Basic earnings per share

$

1.71

$

4.02

$

2.88

Diluted earnings per share

$

1.69

$

3.88

$

2.83

The following table sets forth anti-dilutive shares excluded from the computation of diluted earnings per share for the years indicated.

Years Ended December 31,

    

2017

    

2018

    

2019

Share options and RSUs

372,743

 

276,618

 

41,950

XML 110 R20.htm IDEA: XBRL DOCUMENT v3.20.1
INVESTMENTS IN AFFILIATES
12 Months Ended
Dec. 31, 2019
INVESTMENTS IN AFFILIATES  
INVESTMENTS IN AFFILIATES

11. INVESTMENTS IN AFFILIATES

Investments in affiliates consist of the following:

At December 31,

2018

2019

    

Carrying

    

Ownership

    

Carrying

    

Ownership

Value

Percentage

Value

Percentage

$

(%)

$

(%)

RE Roserock Holdings LLC (“Roserock”)

62,767

49

83,034

49

Canadian Solar Infrastructure Fund, Inc.

23,990

14.66

19,162

14.66

Suzhou Financial Leasing Co., Ltd.

14,361

6

16,050

6

Others

 

24,977

 

21-49

 

34,582

 

15-49

Total

 

126,095

 

152,828

Tax equity transactions

In 2015, the Company, through its wholly owned subsidiary, Recurrent, entered into the following tax equity transactions:

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.

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’ federal tax benefits.

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.

Under this method, the Company recognizes its equity in earnings attributable to class B membership interests according to its proportionate share of investees’ operating cash flows. Additionally, the Company amortizes the basis difference between the cost of investment and its proportionate share of the investees’ net assets over the estimated lives of the related assets.

11. INVESTMENTS IN AFFILIATES (Continued)

In December 2018, the Company wrote down the class B membership interests in Roserock project to its anticipated resell value by $5.0 million.

Other investments

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.

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.

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’s financial position.

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.

XML 111 R24.htm IDEA: XBRL DOCUMENT v3.20.1
ACCRUED WARRANTY COSTS
12 Months Ended
Dec. 31, 2019
ACCRUED WARRANTY COSTS  
ACCRUED WARRANTY COSTS

15. ACCRUED WARRANTY COSTS

The Company’s warranty activity is summarized below:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning balance

 

61,139

 

55,659

 

50,605

Warranty provision

 

19,793

 

13,188

 

28,044

Warranty costs incurred

 

(26,552)

 

(16,732)

 

(23,282)

Foreign exchange effect

1,279

(1,510)

511

Ending balance

 

55,659

 

50,605

 

55,878

XML 112 R119.htm IDEA: XBRL DOCUMENT v3.20.1
Financial Statement Schedule I - BALANCE SHEETS (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
Current assets:    
Cash and cash equivalents $ 668,770 $ 444,298
Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively 436,815 498,231
Amounts due from subsidiaries 31,232 16,740
Prepaid expenses and other current assets 253,542 289,459
Total current assets 3,252,936 3,074,321
Deferred tax assets, net 153,963 121,087
Other non-current assets 153,253 129,605
TOTAL ASSETS 5,467,207 4,892,658
Current liabilities:    
Convertible notes   127,428
Accounts payable 585,601 379,462
Amounts due to related parties 10,077 16,847
Derivative liabilities 10,481 13,698
Other current liabilities 121,527 141,970
Total current liabilities 3,091,997 2,948,357
Long-term borrowings 619,477 393,614
Deferred tax liabilities 56,463 35,698
Liability for uncertain tax positions 15,353 20,128
TOTAL LIABILITIES 4,042,149 3,619,813
Equity:    
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 703,806 702,931
Additional paid-in capital 17,179 10,675
Retained earnings 793,601 622,016
Accumulated other comprehensive loss (109,607) (110,149)
Total Canadian Solar Inc. shareholders' equity 1,393,134 1,225,473
TOTAL LIABILITIES AND EQUITY 5,467,207 4,892,658
Parent Company | Reportable Legal Entities [Member]    
Current assets:    
Cash and cash equivalents 1,362 9,097
Restricted cash 950  
Accounts receivable trade, net of allowance for doubtful accounts of $3,462 and $3,379 as of December 31, 2018 and 2019, respectively   11,476
Amounts due from subsidiaries 341,557 279,039
Prepaid expenses and other current assets 9,846 15,222
Total current assets 353,715 314,834
Investments in subsidiaries 1,383,935 1,154,004
Investments in Affiliates 2,483  
Deferred tax assets, net 23,657 28,208
Other non-current assets 69,070 68,068
TOTAL ASSETS 1,832,860 1,565,114
Current liabilities:    
Convertible notes   127,428
Accounts payable 3 3,903
Amounts due to related parties 340,502 154,765
Derivative liabilities 4,713 3,879
Other current liabilities 8,531 8,255
Total current liabilities 353,749 298,230
Long-term borrowings 50,000  
Deferred tax liabilities 22,936 28,779
Liability for uncertain tax positions 13,041 12,633
TOTAL LIABILITIES 439,726 339,642
Equity:    
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 703,806 702,931
Treasury stock (11,845)  
Additional paid-in capital 17,179 10,675
Retained earnings 793,601 622,015
Accumulated other comprehensive loss (109,607) (110,149)
Total Canadian Solar Inc. shareholders' equity 1,393,134 1,225,472
TOTAL LIABILITIES AND EQUITY $ 1,832,860 $ 1,565,114
XML 113 R48.htm IDEA: XBRL DOCUMENT v3.20.1
INVESTMENTS IN AFFILIATES (Tables)
12 Months Ended
Dec. 31, 2019
INVESTMENTS IN AFFILIATES  
Schedule of investments in affiliates

At December 31,

2018

2019

    

Carrying

    

Ownership

    

Carrying

    

Ownership

Value

Percentage

Value

Percentage

$

(%)

$

(%)

RE Roserock Holdings LLC (“Roserock”)

62,767

49

83,034

49

Canadian Solar Infrastructure Fund, Inc.

23,990

14.66

19,162

14.66

Suzhou Financial Leasing Co., Ltd.

14,361

6

16,050

6

Others

 

24,977

 

21-49

 

34,582

 

15-49

Total

 

126,095

 

152,828

XML 114 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.1 html 533 703 1 false 210 0 false 12 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.canadiansolar.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.canadiansolar.com/role/StatementConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONSOLIDATED STATEMENTS OF OPERATIONS Sheet http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfOperations CONSOLIDATED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfComprehensiveIncome CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 00400 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY Sheet http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquity CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY Statements 6 false false R7.htm 00405 - Statement - CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical) Sheet http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfChangesInEquityParenthetical CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical) Statements 7 false false R8.htm 00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 8 false false R9.htm 00505 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) Sheet http://www.canadiansolar.com/role/StatementConsolidatedStatementsOfCashFlowsParenthetical CONSOLIDATED STATEMENTS OF CASH FLOWS (Parenthetical) Statements 9 false false R10.htm 10101 - Disclosure - ORGANIZATION AND PRINCIPAL ACTIVITIES Sheet http://www.canadiansolar.com/role/DisclosureOrganizationAndPrincipalActivities ORGANIZATION AND PRINCIPAL ACTIVITIES Notes 10 false false R11.htm 10201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies SUMMARY OF PRINCIPAL ACCOUNTING POLICIES Notes 11 false false R12.htm 10301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS Sheet http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts ALLOWANCE FOR DOUBTFUL ACCOUNTS Notes 12 false false R13.htm 10401 - Disclosure - INVENTORIES Sheet http://www.canadiansolar.com/role/DisclosureInventories INVENTORIES Notes 13 false false R14.htm 10501 - Disclosure - PROJECT ASSETS Sheet http://www.canadiansolar.com/role/DisclosureProjectAssets PROJECT ASSETS Notes 14 false false R15.htm 10601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET Sheet http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet PROPERTY, PLANT AND EQUIPMENT, NET Notes 15 false false R16.htm 10701 - Disclosure - SOLAR POWER SYSTEMS, NET Sheet http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet SOLAR POWER SYSTEMS, NET Notes 16 false false R17.htm 10801 - Disclosure - INTANGIBLE ASSETS, NET Sheet http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet INTANGIBLE ASSETS, NET Notes 17 false false R18.htm 10901 - Disclosure - FAIR VALUE MEASUREMENT Sheet http://www.canadiansolar.com/role/DisclosureFairValueMeasurement FAIR VALUE MEASUREMENT Notes 18 false false R19.htm 11001 - Disclosure - VARIABLE INTEREST ENTITIES Sheet http://www.canadiansolar.com/role/DisclosureVariableInterestEntities VARIABLE INTEREST ENTITIES Notes 19 false false R20.htm 11101 - Disclosure - INVESTMENTS IN AFFILIATES Sheet http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates INVESTMENTS IN AFFILIATES Notes 20 false false R21.htm 11201 - Disclosure - LEASE Sheet http://www.canadiansolar.com/role/DisclosureLease LEASE Notes 21 false false R22.htm 11301 - Disclosure - BORROWINGS Sheet http://www.canadiansolar.com/role/DisclosureBorrowings BORROWINGS Notes 22 false false R23.htm 11401 - Disclosure - SHORT-TERM NOTES PAYABLE Notes http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable SHORT-TERM NOTES PAYABLE Notes 23 false false R24.htm 11501 - Disclosure - ACCRUED WARRANTY COSTS Sheet http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts ACCRUED WARRANTY COSTS Notes 24 false false R25.htm 11601 - Disclosure - RESTRICTED NET ASSETS Sheet http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets RESTRICTED NET ASSETS Notes 25 false false R26.htm 11701 - Disclosure - CONVERTIBLE NOTES Notes http://www.canadiansolar.com/role/DisclosureConvertibleNotes CONVERTIBLE NOTES Notes 26 false false R27.htm 11801 - Disclosure - INCOME TAXES Sheet http://www.canadiansolar.com/role/DisclosureIncomeTaxes INCOME TAXES Notes 27 false false R28.htm 11901 - Disclosure - EARNINGS PER SHARE Sheet http://www.canadiansolar.com/role/DisclosureEarningsPerShare EARNINGS PER SHARE Notes 28 false false R29.htm 12001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS Sheet http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions RELATED PARTY BALANCES AND TRANSACTIONS Notes 29 false false R30.htm 12101 - Disclosure - COMMITMENTS AND CONTINGENCIES Sheet http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies COMMITMENTS AND CONTINGENCIES Notes 30 false false R31.htm 12201 - Disclosure - SEGMENT INFORMATION Sheet http://www.canadiansolar.com/role/DisclosureSegmentInformation SEGMENT INFORMATION Notes 31 false false R32.htm 12301 - Disclosure - MAJOR CUSTOMERS Sheet http://www.canadiansolar.com/role/DisclosureMajorCustomers MAJOR CUSTOMERS Notes 32 false false R33.htm 12401 - Disclosure - EMPLOYEE BENEFIT PLANS Sheet http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans EMPLOYEE BENEFIT PLANS Notes 33 false false R34.htm 12501 - Disclosure - SHARE-BASED COMPENSATION Sheet http://www.canadiansolar.com/role/DisclosureShareBasedCompensation SHARE-BASED COMPENSATION Notes 34 false false R35.htm 12601 - Disclosure - SUBSEQUENT EVENTS Sheet http://www.canadiansolar.com/role/DisclosureSubsequentEvents SUBSEQUENT EVENTS Notes 35 false false R36.htm 12701 - Disclosure - Additional Information - Financial Statement Schedule I Sheet http://www.canadiansolar.com/role/DisclosureAdditionalInformationFinancialStatementScheduleI Additional Information - Financial Statement Schedule I Notes 36 false false R37.htm 12801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI Sheet http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi Appendix 1 - Major Subsidiaries of CSI Notes 37 false false R38.htm 20202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPolicies SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies) Policies 38 false false R39.htm 30203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesTables SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Tables) Tables http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPolicies 39 false false R40.htm 30303 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables) Sheet http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables) Tables http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccounts 40 false false R41.htm 30403 - Disclosure - INVENTORIES (Tables) Sheet http://www.canadiansolar.com/role/DisclosureInventoriesTables INVENTORIES (Tables) Tables http://www.canadiansolar.com/role/DisclosureInventories 41 false false R42.htm 30503 - Disclosure - PROJECT ASSETS (Tables) Sheet http://www.canadiansolar.com/role/DisclosureProjectAssetsTables PROJECT ASSETS (Tables) Tables http://www.canadiansolar.com/role/DisclosureProjectAssets 42 false false R43.htm 30603 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Tables) Sheet http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables PROPERTY, PLANT AND EQUIPMENT, NET (Tables) Tables http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNet 43 false false R44.htm 30703 - Disclosure - SOLAR POWER SYSTEMS, NET (Tables) Sheet http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables SOLAR POWER SYSTEMS, NET (Tables) Tables http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNet 44 false false R45.htm 30803 - Disclosure - INTANGIBLE ASSETS, NET (Tables) Sheet http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables INTANGIBLE ASSETS, NET (Tables) Tables http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNet 45 false false R46.htm 30903 - Disclosure - FAIR VALUE MEASUREMENT (Tables) Sheet http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables FAIR VALUE MEASUREMENT (Tables) Tables http://www.canadiansolar.com/role/DisclosureFairValueMeasurement 46 false false R47.htm 31003 - Disclosure - VARIABLE INTEREST ENTITIES (Tables) Sheet http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables VARIABLE INTEREST ENTITIES (Tables) Tables http://www.canadiansolar.com/role/DisclosureVariableInterestEntities 47 false false R48.htm 31103 - Disclosure - INVESTMENTS IN AFFILIATES (Tables) Sheet http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables INVESTMENTS IN AFFILIATES (Tables) Tables http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliates 48 false false R49.htm 31203 - Disclosure - LEASE (Tables) Sheet http://www.canadiansolar.com/role/DisclosureLeaseTables LEASE (Tables) Tables http://www.canadiansolar.com/role/DisclosureLease 49 false false R50.htm 31303 - Disclosure - BORROWINGS (Tables) Sheet http://www.canadiansolar.com/role/DisclosureBorrowingsTables BORROWINGS (Tables) Tables http://www.canadiansolar.com/role/DisclosureBorrowings 50 false false R51.htm 31503 - Disclosure - ACCRUED WARRANTY COSTS (Tables) Sheet http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables ACCRUED WARRANTY COSTS (Tables) Tables http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCosts 51 false false R52.htm 31803 - Disclosure - INCOME TAXES (Tables) Sheet http://www.canadiansolar.com/role/DisclosureIncomeTaxesTables INCOME TAXES (Tables) Tables http://www.canadiansolar.com/role/DisclosureIncomeTaxes 52 false false R53.htm 31903 - Disclosure - EARNINGS PER SHARE (Tables) Sheet http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables EARNINGS PER SHARE (Tables) Tables http://www.canadiansolar.com/role/DisclosureEarningsPerShare 53 false false R54.htm 32103 - Disclosure - COMMITMENTS AND CONTINGENCIES (Tables) Sheet http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesTables COMMITMENTS AND CONTINGENCIES (Tables) Tables http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingencies 54 false false R55.htm 32203 - Disclosure - SEGMENT INFORMATION (Tables) Sheet http://www.canadiansolar.com/role/DisclosureSegmentInformationTables SEGMENT INFORMATION (Tables) Tables http://www.canadiansolar.com/role/DisclosureSegmentInformation 55 false false R56.htm 32303 - Disclosure - MAJOR CUSTOMERS (Tables) Sheet http://www.canadiansolar.com/role/DisclosureMajorCustomersTables MAJOR CUSTOMERS (Tables) Tables http://www.canadiansolar.com/role/DisclosureMajorCustomers 56 false false R57.htm 32503 - Disclosure - SHARE-BASED COMPENSATION (Tables) Sheet http://www.canadiansolar.com/role/DisclosureShareBasedCompensationTables SHARE-BASED COMPENSATION (Tables) Tables http://www.canadiansolar.com/role/DisclosureShareBasedCompensation 57 false false R58.htm 40201 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesAllowanceForDoubtfulReceivablesDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Allowance for doubtful receivables (Details) Details 58 false false R59.htm 40202 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesPropertyPlantAndEquipmentDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Property, plant and equipment (Details) Details 59 false false R60.htm 40203 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesIntangibleAssetsAndPrepaidLandUseRightsDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Intangible assets and Prepaid land use rights (Details) Details 60 false false R61.htm 40204 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesInvestmentsInAffiliatesImpairmentOfLongLivedAssetsAssetRetirementObligationDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Investments in affiliates, Impairment of long-lived assets, Asset retirement obligation (Details) Details 61 false false R62.htm 40205 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition (Details) Details 62 false false R63.htm 40206 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionDisaggregationOfRevenueDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details) Details 63 false false R64.htm 40207 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRevenueRecognitionContractAssetsAndLiabilitiesDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Contract assets and liabilities (Details) Details 64 false false R65.htm 40208 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesShippingAndHandlingCostsResearchAndDevelopmentDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Shipping and handling costs, Research and development (Details) Details 65 false false R66.htm 40209 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesOtherOperatingIncomeNetDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Other operating income, net (Details) Details 66 false false R67.htm 40210 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesWarrantyCostDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) Details 67 false false R68.htm 40211 - Disclosure - SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details) Sheet http://www.canadiansolar.com/role/DisclosureSummaryOfPrincipalAccountingPoliciesRecentlyIssuedAccountingPronouncementsDetails SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Recently issued accounting pronouncements (Details) Details 68 false false R69.htm 40301 - Disclosure - ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details) Sheet http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsDetails ALLOWANCE FOR DOUBTFUL ACCOUNTS (Details) Details http://www.canadiansolar.com/role/DisclosureAllowanceForDoubtfulAccountsTables 69 false false R70.htm 40401 - Disclosure - INVENTORIES (Details) Sheet http://www.canadiansolar.com/role/DisclosureInventoriesDetails INVENTORIES (Details) Details http://www.canadiansolar.com/role/DisclosureInventoriesTables 70 false false R71.htm 40501 - Disclosure - PROJECT ASSETS (Details) Sheet http://www.canadiansolar.com/role/DisclosureProjectAssetsDetails PROJECT ASSETS (Details) Details http://www.canadiansolar.com/role/DisclosureProjectAssetsTables 71 false false R72.htm 40601 - Disclosure - PROPERTY, PLANT AND EQUIPMENT, NET (Details) Sheet http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetDetails PROPERTY, PLANT AND EQUIPMENT, NET (Details) Details http://www.canadiansolar.com/role/DisclosurePropertyPlantAndEquipmentNetTables 72 false false R73.htm 40701 - Disclosure - SOLAR POWER SYSTEMS, NET (Details) Sheet http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetDetails SOLAR POWER SYSTEMS, NET (Details) Details http://www.canadiansolar.com/role/DisclosureSolarPowerSystemsNetTables 73 false false R74.htm 40801 - Disclosure - INTANGIBLE ASSETS, NET (Details) Sheet http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetDetails INTANGIBLE ASSETS, NET (Details) Details http://www.canadiansolar.com/role/DisclosureIntangibleAssetsNetTables 74 false false R75.htm 40901 - Disclosure - FAIR VALUE MEASUREMENT (Details) Sheet http://www.canadiansolar.com/role/DisclosureFairValueMeasurementDetails FAIR VALUE MEASUREMENT (Details) Details http://www.canadiansolar.com/role/DisclosureFairValueMeasurementTables 75 false false R76.htm 40902 - Disclosure - FAIR VALUE MEASUREMENT - Interest rate swap (Details) Sheet http://www.canadiansolar.com/role/DisclosureFairValueMeasurementInterestRateSwapDetails FAIR VALUE MEASUREMENT - Interest rate swap (Details) Details 76 false false R77.htm 40903 - Disclosure - FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details) Sheet http://www.canadiansolar.com/role/DisclosureFairValueMeasurementGainLossRecognizedInStatementsOfOperationDetails FAIR VALUE MEASUREMENT - Gain (Loss) Recognized in Statements of Operation (Details) Details 77 false false R78.htm 40904 - Disclosure - FAIR VALUE MEASUREMENT - Carrying value (Details) Sheet http://www.canadiansolar.com/role/DisclosureFairValueMeasurementCarryingValueDetails FAIR VALUE MEASUREMENT - Carrying value (Details) Details 78 false false R79.htm 41001 - Disclosure - VARIABLE INTEREST ENTITIES (Details) Sheet http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesDetails VARIABLE INTEREST ENTITIES (Details) Details http://www.canadiansolar.com/role/DisclosureVariableInterestEntitiesTables 79 false false R80.htm 41101 - Disclosure - INVESTMENTS IN AFFILIATES (Details) Sheet http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesDetails INVESTMENTS IN AFFILIATES (Details) Details http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTables 80 false false R81.htm 41102 - Disclosure - INVESTMENTS IN AFFILIATES - Tax equity transactions (Details) Sheet http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesTaxEquityTransactionsDetails INVESTMENTS IN AFFILIATES - Tax equity transactions (Details) Details 81 false false R82.htm 41103 - Disclosure - INVESTMENTS IN AFFILIATES - Other investments (Details) Sheet http://www.canadiansolar.com/role/DisclosureInvestmentsInAffiliatesOtherInvestmentsDetails INVESTMENTS IN AFFILIATES - Other investments (Details) Details 82 false false R83.htm 41201 - Disclosure - LEASE - Lease expense (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseLeaseExpenseDetails LEASE - Lease expense (Details) Details 83 false false R84.htm 41202 - Disclosure - LEASE - Cash flow (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseCashFlowDetails LEASE - Cash flow (Details) Details 84 false false R85.htm 41203 - Disclosure - LEASE - Additional information (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseAdditionalInformationDetails LEASE - Additional information (Details) Details 85 false false R86.htm 41204 - Disclosure - LEASE - Operating leases - Maturities (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesMaturitiesDetails LEASE - Operating leases - Maturities (Details) Details 86 false false R87.htm 41205 - Disclosure - LEASE - Operating leases - Gross difference (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseOperatingLeasesGrossDifferenceDetails LEASE - Operating leases - Gross difference (Details) Details 87 false false R88.htm 41206 - Disclosure - LEASE - Finance leases - Maturities (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesMaturitiesDetails LEASE - Finance leases - Maturities (Details) Details 88 false false R89.htm 41207 - Disclosure - LEASE - Finance leases - Gross difference (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseFinanceLeasesGrossDifferenceDetails LEASE - Finance leases - Gross difference (Details) Details 89 false false R90.htm 41208 - Disclosure - LEASE - Total leases - Maturities (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesMaturitiesDetails LEASE - Total leases - Maturities (Details) Details 90 false false R91.htm 41209 - Disclosure - LEASE - Total leases - Gross difference (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesGrossDifferenceDetails LEASE - Total leases - Gross difference (Details) Details 91 false false R92.htm 41210 - Disclosure - LEASE - Total leases - Summary (Details) Sheet http://www.canadiansolar.com/role/DisclosureLeaseTotalLeasesSummaryDetails LEASE - Total leases - Summary (Details) Details 92 false false R93.htm 41301 - Disclosure - BORROWINGS (Details) Sheet http://www.canadiansolar.com/role/DisclosureBorrowingsDetails BORROWINGS (Details) Details http://www.canadiansolar.com/role/DisclosureBorrowingsTables 93 false false R94.htm 41302 - Disclosure - BORROWINGS - Short term (Details) Sheet http://www.canadiansolar.com/role/DisclosureBorrowingsShortTermDetails BORROWINGS - Short term (Details) Details 94 false false R95.htm 41303 - Disclosure - BORROWINGS - Long term (Details) Sheet http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermDetails BORROWINGS - Long term (Details) Details 95 false false R96.htm 41304 - Disclosure - BORROWINGS - Long term narrative and interest expense (Details) Sheet http://www.canadiansolar.com/role/DisclosureBorrowingsLongTermNarrativeAndInterestExpenseDetails BORROWINGS - Long term narrative and interest expense (Details) Details 96 false false R97.htm 41401 - Disclosure - SHORT-TERM NOTES PAYABLE (Details) Notes http://www.canadiansolar.com/role/DisclosureShortTermNotesPayableDetails SHORT-TERM NOTES PAYABLE (Details) Details http://www.canadiansolar.com/role/DisclosureShortTermNotesPayable 97 false false R98.htm 41501 - Disclosure - ACCRUED WARRANTY COSTS (Details) Sheet http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsDetails ACCRUED WARRANTY COSTS (Details) Details http://www.canadiansolar.com/role/DisclosureAccruedWarrantyCostsTables 98 false false R99.htm 41601 - Disclosure - RESTRICTED NET ASSETS (Details) Sheet http://www.canadiansolar.com/role/DisclosureRestrictedNetAssetsDetails RESTRICTED NET ASSETS (Details) Details http://www.canadiansolar.com/role/DisclosureRestrictedNetAssets 99 false false R100.htm 41701 - Disclosure - CONVERTIBLE NOTES (Details) Notes http://www.canadiansolar.com/role/DisclosureConvertibleNotesDetails CONVERTIBLE NOTES (Details) Details http://www.canadiansolar.com/role/DisclosureConvertibleNotes 100 false false R101.htm 41801 - Disclosure - INCOME TAXES - Provision for income taxes (Details) Sheet http://www.canadiansolar.com/role/DisclosureIncomeTaxesProvisionForIncomeTaxesDetails INCOME TAXES - Provision for income taxes (Details) Details 101 false false R102.htm 41802 - Disclosure - INCOME TAXES - Domestic federal statutory tax rates (Details) Sheet http://www.canadiansolar.com/role/DisclosureIncomeTaxesDomesticFederalStatutoryTaxRatesDetails INCOME TAXES - Domestic federal statutory tax rates (Details) Details 102 false false R103.htm 41803 - Disclosure - INCOME TAXES - Deferred tax assets and liabilities (Details) Sheet http://www.canadiansolar.com/role/DisclosureIncomeTaxesDeferredTaxAssetsAndLiabilitiesDetails INCOME TAXES - Deferred tax assets and liabilities (Details) Details 103 false false R104.htm 41804 - Disclosure - INCOME TAXES - Reconciliation (Details) Sheet http://www.canadiansolar.com/role/DisclosureIncomeTaxesReconciliationDetails INCOME TAXES - Reconciliation (Details) Details 104 false false R105.htm 41805 - Disclosure - INCOME TAXES - Movement of the valuation allowance (Details) Sheet http://www.canadiansolar.com/role/DisclosureIncomeTaxesMovementOfValuationAllowanceDetails INCOME TAXES - Movement of the valuation allowance (Details) Details 105 false false R106.htm 41901 - Disclosure - EARNINGS PER SHARE (Details) Sheet http://www.canadiansolar.com/role/DisclosureEarningsPerShareDetails EARNINGS PER SHARE (Details) Details http://www.canadiansolar.com/role/DisclosureEarningsPerShareTables 106 false false R107.htm 42001 - Disclosure - RELATED PARTY BALANCES AND TRANSACTIONS (Details) Sheet http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactionsDetails RELATED PARTY BALANCES AND TRANSACTIONS (Details) Details http://www.canadiansolar.com/role/DisclosureRelatedPartyBalancesAndTransactions 107 false false R108.htm 42101 - Disclosure - COMMITMENTS AND CONTINGENCIES - Commitments (Details) Sheet http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesCommitmentsDetails COMMITMENTS AND CONTINGENCIES - Commitments (Details) Details 108 false false R109.htm 42102 - Disclosure - COMMITMENTS AND CONTINGENCIES - Contingencies (Details) Sheet http://www.canadiansolar.com/role/DisclosureCommitmentsAndContingenciesContingenciesDetails COMMITMENTS AND CONTINGENCIES - Contingencies (Details) Details 109 false false R110.htm 42201 - Disclosure - SEGMENT INFORMATION (Details) Sheet http://www.canadiansolar.com/role/DisclosureSegmentInformationDetails SEGMENT INFORMATION (Details) Details http://www.canadiansolar.com/role/DisclosureSegmentInformationTables 110 false false R111.htm 42202 - Disclosure - SEGMENT INFORMATION - Different geographic locations (Details) Sheet http://www.canadiansolar.com/role/DisclosureSegmentInformationDifferentGeographicLocationsDetails SEGMENT INFORMATION - Different geographic locations (Details) Details 111 false false R112.htm 42203 - Disclosure - SEGMENT INFORMATION - Each product or service (Details) Sheet http://www.canadiansolar.com/role/DisclosureSegmentInformationEachProductOrServiceDetails SEGMENT INFORMATION - Each product or service (Details) Details 112 false false R113.htm 42301 - Disclosure - MAJOR CUSTOMERS (Details) Sheet http://www.canadiansolar.com/role/DisclosureMajorCustomersDetails MAJOR CUSTOMERS (Details) Details http://www.canadiansolar.com/role/DisclosureMajorCustomersTables 113 false false R114.htm 42401 - Disclosure - EMPLOYEE BENEFIT PLANS (Details) Sheet http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlansDetails EMPLOYEE BENEFIT PLANS (Details) Details http://www.canadiansolar.com/role/DisclosureEmployeeBenefitPlans 114 false false R115.htm 42501 - Disclosure - SHARE-BASED COMPENSATION - Options to Employees (Details) Sheet http://www.canadiansolar.com/role/DisclosureShareBasedCompensationOptionsToEmployeesDetails SHARE-BASED COMPENSATION - Options to Employees (Details) Details 115 false false R116.htm 42502 - Disclosure - SHARE-BASED COMPENSATION - RSUs to Employees (Details) Sheet http://www.canadiansolar.com/role/DisclosureShareBasedCompensationRsusToEmployeesDetails SHARE-BASED COMPENSATION - RSUs to Employees (Details) Details 116 false false R117.htm 42601 - Disclosure - SUBSEQUENT EVENTS (Details) Sheet http://www.canadiansolar.com/role/DisclosureSubsequentEventsDetails SUBSEQUENT EVENTS (Details) Details http://www.canadiansolar.com/role/DisclosureSubsequentEvents 117 false false R118.htm 42701 - Disclosure - Financial Statement Schedule I (Details) Sheet http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIDetails Financial Statement Schedule I (Details) Details 118 false false R119.htm 42702 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS (Details) Sheet http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsDetails Financial Statement Schedule I - BALANCE SHEETS (Details) Details 119 false false R120.htm 42703 - Disclosure - Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details) Sheet http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIBalanceSheetsAdditionalInformationDetails Financial Statement Schedule I - BALANCE SHEETS Additional Information (Details) Details 120 false false R121.htm 42704 - Disclosure - Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details) Sheet http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfOperationsDetails Financial Statement Schedule I - STATEMENTS OF OPERATIONS (Details) Details 121 false false R122.htm 42705 - Disclosure - Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details) Sheet http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfComprehensiveIncomeLossDetails Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details) Details 122 false false R123.htm 42706 - Disclosure - Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details) Sheet http://www.canadiansolar.com/role/DisclosureFinancialStatementScheduleIStatementsOfCashFlowsDetails Financial Statement Schedule I - STATEMENTS OF CASH FLOWS (Details) Details 123 false false R124.htm 42801 - Disclosure - Appendix 1 - Major Subsidiaries of CSI (Details) Sheet http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsiDetails Appendix 1 - Major Subsidiaries of CSI (Details) Details http://www.canadiansolar.com/role/DisclosureAppendix1MajorSubsidiariesOfCsi 124 false false All Reports Book All Reports csiq-20191231x20f.htm csiq-20191231.xsd csiq-20191231_cal.xml csiq-20191231_def.xml csiq-20191231_lab.xml csiq-20191231_pre.xml csiq-20191231xex12d1.htm csiq-20191231xex12d2.htm csiq-20191231xex13d1.htm csiq-20191231xex13d2.htm csiq-20191231xex15d1.htm csiq-20191231xex2d2.htm csiq-20191231xex8d1.htm http://fasb.org/srt/2019-01-31 http://xbrl.sec.gov/dei/2019-01-31 http://fasb.org/us-gaap/2019-01-31 http://xbrl.sec.gov/country/2017-01-31 true true EXCEL 115 Financial_Report.xlsx IDEA: XBRL DOCUMENT 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+,*P).B0\5?UX^8 TBTH_0(:+L A#&^NQT:E8(C M-R."?S]PN -02P,$% @ ($J<4"?HAPZ" L0 ! !D;V-0&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&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@$[EFCVB/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=_&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T M$W-I=MNTF83M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY M\^XN8NB&B)3R> +]O6N[!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 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>"(<7K;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_BNEVOZKR2. 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/:'2MSAD M6R4)RU3393>*$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W MF)&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 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.'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,9FV-J/D3@H\W/[O#;#"Q([A[8N_ M 5!+ P04 " @2IQ0?YW8>(\# "4$@ & 'AL+W=OVVC .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++;A6GPXA,9;9N2%'TAU?S8*IJ MR-2/X_>4-+YZ#H&WY^_9/_G)]Y-Y+CKS8*M?Y!N/9>./E_$7K: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 MN"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+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%#&PO=V]R:W-H965T&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>2KV4&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;)G"V#:]K(K$L'TG%T MI1%3N9%S+:VSKAUL*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\Q9R19H%T ME;RI,>H]YIRWG"NZ$G@+L)!#='H> IU/16)C%>$;.P26=$77 F])%T2*02_0 M^5A2:UWC,1.]96+1MLK/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][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-W_=/]B:E>U[+ @ M%:._FX.LUW[F>P=RQ&;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!LFX>4.&$2!TQFP22+ M-($%\DAQ Y$Z(5('A%7K)EWN>X[2,,DBB\4E#+,@N;V85!>?N9Z. MC$FBW((G952K!VL>4'*4NINJ/A^O[7$@63^]2&!^%LM_4$L#!!0 ( "%* MG%"&:H#7&PO=V]R:W-H965T&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!2FKA&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*%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"!,@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;/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&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=%%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@,< MXGQ5=A3#""*/8\PRP(5+D-VQS4#4';&.(9YGG&: J*.*PX@Q4G &*?359D*;@WJY\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],"?8Y][-A^;-/+CW+W8_]:%-7HYWJUV5^-7ZMJ>S&=[A]?BW6^_U)N MBTWXRW.Y6^=5>+M[F>ZWNR)_:H+6JZD2PDW7^7(SOKYL/ONZN[XLWZK5U4UY*,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 Y=>7 MN_)CM#N,Z6U>3QUYX<.0>ZP_;$98\[,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:,R00C4FN%:43P=;[@=P"<&'B49>ATHPR M6G8T$-M,#M&91 [2QB:T@<.X!>!42G>Q&2Q-V).===Q K#4)O.8M?8+<65)1 MR-!2B1 :F,)1=7D@A-T^FAXG2PWR02'%M(N)DFSE*Q9+U8?*S M"E- 86R'H+C"PF[/DFZ<#\.R7BS.&_M0(1_2G4(+15YQ=*N@N.88E/5 <<8= M)SAD0KI94%P.+@T;T*ZJL!L4<@-9.F:*NV&2)I:>&89A62\6YXTUHPS(FT[6 M%HJ'CZ%+?]:+Q0EA:2D@+;;K4EP?3E 5SP=161\5)XU%I("(O*<#S:$ME]>2 M3GVN#BDU8# MS[)-GT8"=?1F>SX,RWJQ.&^L8XUT3%??%HKOA]@8X)YE4-8#Q1EC%VOD8KKI MTUQAJ0C'LZZ'BM6DD9JH+340CK-L1>JAXG2PDC0X>+&MD^9'JHE-#3T-#\.R M7BS.&WM0]5-!=2. D&;]/IRCFTU-P!+OB2WEC>HVJ]=G0EG,%JA0_N MH1T+Z@VG#4DOP18 #(YB^QE4GE%6=!WN##:UX:96@GX[8[@VK==)4#K)ZA:0 M:''-AI1X2']Z\KUH_77^'_GN9;G9CQ[*JBK7S1>ASV59%:%4\264]UKD3\_T_A^C]02P,$% @ (4J<4..=/CK4 M 0 0 0 !@ !X;"]W;W)KU1 \*:.V3."-)%&6$TU[@ M,O>QBRIS.1K6"[@HI$?.J?I[!B:G L?X/?#2MYUQ 5+F VWA!YB?PT59CZPL M=<]!Z%X*I* I\%-\.J<.[P&_>ICTQD:NDZN4K\[Y6A^^-EV!CQC5T-"1F1RB3* M$O\"_L/GV?I.5=L+C:[2V'?D;[N1TH M)GJPU71VG%>'06.<>;"VFA_U[!@Y M+/-*UI]&^0]02P,$% @ (4J<4-L"H#1]"0 $#4 !@ !X;"]W;W)K M,R:KBK9$$:$D8[ *[0&,6 MN_/L3I0+QI>L[>[,_ONE;'?&KCKLER1VCJ@219ZO6)1NW[>[/_8OXWB8_;E> M;?9W\Y?#X>W38K%_>!G7R_TOV[=Q4__SM-VMEX?Z\V+_MQN7C\:#U:D'. MQ<5Z^;J9W]\>O_NRN[_=?CNL7C?CE]UL_VV]7N[^UXVK[?O=W,]_?/';Z_/+ M8?IB<7_[MGP>_S4>_OWV95<_+3Y:>7Q=CYO]ZW8SVXU/=_//_M.0W73 4?&? MU_%]?_'W;+J4K]OM'].'OS_>S=T4T;@:'PY3$\OZZ_O8CZO5U%*-X[_G1NV//VE2CGTS+ _+^]O=]GVV.]W>M^4T MBOPGJ;W_,'UY[.SC_VKW[.NWW^_)T^WB^]306=.=-'2A\1^*16W]XQ2$3M&1 M.3SR]1EZ()%KR6 EGAF'P?!*^=@ 7UUIHP&!#73-HS5')C:@#C#J RQ;<0(0-1'/9Y-7U="=-N PTE$3Z-@,9 M%0I17;:5E4*I<=4)!IU T.HT70+14%(A6U&-5UW^ %KBDB(..,. ,PA8Q=)E M82]S M()ZBSB[D4@\SY2X];[A@=[&SW<3M?1,=M9<7IH3\ ME6N$##W]LR<0LMSMXL4Y;H)#!="<-&0)LN#X&/2,Q'(;GPJ MT:DA.0"A1.96Y)@Q9!D3]5 C2X8;'TASN@QXU)0Y8T2>.1 !G8U[31Z\"M, 0QI$'M27'4 MF-R$44,6-4DCDBP=;K(4'390%7+:29&,LR\-*R4,&T*P,>/;PJ:FZ1\#MF, M<:";W-[K_'P 0I*ZT&GU.<8F6VSJ)*9C@,V0=(V@!S+O).JQ F3,E^N*Z[ ; MY3G+S:)-A2WII"X%=)H"9%Q2T9X"9#-O9 =<-!5\(')(NI55!BC#FVF-.KKXXM MF"CJTD(/5#$$8P"HYE@ST$:^SQAR#"!G' "LJIPS,\FJ0G52'35:H<7&]!<, M.+& \SJ<3@"2)G2IJ(&LS@ S0H LMW9"!---P)I0;SYT@K!%8OFOC0VJ4#!D+5CB25(K(L%K\T6Z,A'RKK0B72.2ZNV))A( K:JN.'7@E$C M%C4Z<>\$D"'%K/T:R7PU?YUO(EV9=K4:@6/0"*@'LO$1RP8&P]JJLMD "*A MIHM@R@C8L]+=TPDH\D6S\ 8JYI1:>WZ" 2*@RJ>7/YV@A4WQWI0GD9"GT:\K MS[#%%$MJ), !HR2 W2NS$Q( 2KA"JT':@/T_(/_7R5\ RQN=^_1(E++3!H%D MU6MCJX>P^P?@_F).9>U:N'##B@*VZV#MFD2#(:"Z6\V.&QLE 1MV (8M&FD! M[? 4N=P@/=\/X,3%Z4+> -OCJRVLZ]BQ8P?@V-)Z.@$[=@"+ ]'+U8 >' C) M.>TC2"CLDBG+(&&4NHQH=0"V[0!L6[1M!U2[JAZ8](9ICY354G,Q2VZH=#&[ M5OX:L(<'X.%ZYZ@+UIT#N\NJX3E\X.*9LLFH@"X6EZ4U<;#;!^#VNH+>!;1; M(UX7_7JDBY=)[/6#,MC!(W!P7>3I(GIB0+(NO2"9D]08GA'[? 0^K]G;19"_ M.^W@/5!Y7YPNT0Q(1TU3B-CH(S!ZO2W<16OTQ6GKZ(&*0]&R 0^N1+DH. M14>.]I)J-MM("2(F4+15+ JFDU 9BW,)K5'9>! .H"IH5$6T;* 47&OF8K!$ M !:]\NXBR/1-50&(DMY&'6!+#9)$3)((2**+\UU$C[#YW-IBC=CY(W!^79/J M(DK?)7IC$.C1L\C13C50+HJ!6D]C)LR(!!AAGB)-(,N/13]VV",9YV0*QD 7 M/+?,+6&6), 2/:F[!'8PHHBN]O9 =U-'2S';4$#HLV??&# )\R0!GD3-DP1X M(B#+ ;J)A)XU4Y#0N91:5I P51*@2M298P(<2-F4/)',>]^8Z0GC(@%<1(V+ M9.V]0BZ( 1T0HFX?4(.JVZ^#Q\!(8,D26U,84BN9RMC@,S!X_3A2=Q9=OP @8AXR0#K*13]0- "=KTLT MK\M"BXO70M;C[OGXRLU^]K#]MCE,+U=CGGKV9. M[PK]<[E[?MWL9U^WA\-V?7RUY&F[/8PU3/=+[=F78JE"?@:BYP0?#:FE $91!EK<=&%5FK$=KTIV MD;3IR(X'XM*VF/]9$@!498_/Y >1K_V.JPB,*L>F)9UH M6!=PZDCUC;SKX>ER&D39$*#E(K8!5K/Z=YB= 2X C(4;_)226 MD'R4@"P!?9206D+J$,!0NYG,#9:X*CF[!7S8#CW6NRY^3M5R'?2@61WS3\VG M4*/7"F9%":Y:R&)6 P9.,%GR"%E[(.@1LIE#XL21V&PO=V]R:W-H965T MQ(ZN1CS%(+/54XWP1!(*'U0X+AD2>>2@;C4O?-&32IH M1?'G<14ZKL/X)SU,M'5",A&2F7"(==A8*#K_P#TO,FL&8L>S[WBXXNTQP;,I M0S(>1?R'YAUFKT5R=YNQ:Q":,*<1DRPPVQG!4'TND:R5."7_T??I.C]=M9A& M?OJ&Q;\$=JL"NRBP>[?'-LM\#J2E&3I;G?/%!>:EGG,76R9F\%+H>%BB1N4XO;'&:09"YK0 MU\23:#L?$JS,>]["9_!?^HO%B"TJM5"@G3":6&@*^I"-R@T>0,@BAC>^S)EU*!N)Z_ZK^+O:.O5RY@TC\+?>\S*T9B9W.ON?ABI-3BF=3A60\ MBO@/S3O,WLKT<,C9+0C-F/.$25>89$$P5%]*I%LESNE?]/O]-G^_:7$?^?M_ M6/Q-(-L4R*) ]M\>MS#'/XJPU:$JL&T<)T\Q:^@/O:GXV/V*)2"P7:"M3$0%/0^]WQM _X"'@2,-K5GH1.+HC/ M(?A8%S0)AD!"Y8("]\L5'D#*(.1M?)\UZ5(R$-?[5_7WL7??RX5;>$#Y3=2N M*^B!DAH:/DCWB.,'F/MY0\G<_">X@O3PX,37J%#:^"758!VJ6<5;4?QE6H6. MZSC]R=*9MDU(9T*Z$ ZQ#IL*1>?ON.-E;G D9CK[GH>NSUS*]>YNS:Q":,:<)DZXPNP7!O/I2(MTJ<4K_HM]FV_QLTV(6^=D_+/XF ML-\4V$>!_7][W, &UL?5-A;]L@$/TKB!]0$I)U461;:CI-F[1)4:=MGXE]ME&!\P#'W;\? M8-?U-K=?#'=^[]T[.+(![:-K 3QYTLJXG+;>=T?&7-F"%NX&.S#A3XU6"Q]" MVS#761!5(FG%^&9SR[20AA99RIUMD6'OE31PML3U6@O[^P0*AYQNZ7/B03:M MCPE69)UHX!OX[]W9AHC-*I748)Q$0RS4.;W;'D_[B$^ 'Q(&M]B3V,D%\3$& MGZN<;J(A4%#ZJ"#"J"D@EKTRC_@\ FF?MY1,C7_!:Z@ CPZ"35*5"Y]2=D[CWI2"5:T>!I7:=(Z M3'_X1%LG\(G 9\(AU6%CH>3\@_"BR"P.Q(YGWXEXQ=LC#V=3QF0ZBO0OF'RWX89NQ:Q2:,*<1PQ>8%P0+ZG,)OE;BQ/^CW^[6^;M5B[O$W[UB\2^!_:K M/@GLW^QQ#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][][U8_P16$APO-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=OF 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/'\X_P502P,$% @ (4J< M4/JXEQFV 0 TP, !D !X;"]W;W)K&UL?5-A M;]L@$/TKB!]0$I*V461;:CI-F[1)4:=MGXE]ME&!\P#'W;\?8-?U-F]?#'=^ M[]T[.+(![;-K 3QYT=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"#"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-H965TM<_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^RG/@:)2H;OZ0#K3M@E\)O"% M<(AUV%0H.G\GG"@R@R,QT]GW(ESQ[LC]V90A&8\B_O/FK<]>"WZXR]@U",V8 MTX3A*\QN03"OOI3@6R5._"_Z;;K-3S\9LT8 6]@([:/V?"HT6SH>F9K8S(,I(THKQS>:2 M:2%;FJ5QE&]=A_,.3B;9.X!.!SX2K M6(>-A:+SK\*)/#4X$#.>?2?"%6_WW)]-$9+Q*.(_;][Z[#GG7[8I.P>A"7,8 M,7R!>44PKSZ7X&LE#OP#_3)9YR>K%I/(3_YA\8W ;E5@%P5V_^UQ#H M\2]L#A14+FP_^[T9YVP,'';3$V+S.\[_ E!+ P04 " A2IQ05PZ)J[4! M #3 P &0 'AL+W=OOB0>9-/ZD&!%UHL&OH'_WI\L1FQ1 MJ:2&SDG3$0MU3N_VAV,:\!'P*&%TJST)G9R->0K!YRJGNV (%)0^* A<+G / M2@4AM/%SUJ1+R4!<[U_4/\;>L9>S<'!OU ]9^3:GMY144(M!^04 MS,U_@0LHA S*4,R'D7\A^8=9B\%?Y]D[!*$9LQQPO 5 M9K\@&*HO)?A6B2-_1;].MOG)IL4D\I,W+/XED&X*I%$@_6^/6YCTGR)L=:@: M;!/'R9'2#%TV X-_:NNT"!BZAOG.@:@222O&-YL#TT(:6F0I M=W9%9ON@I(&S([[76K@?)U!VR.F6OB8>9=.&F&!%UHD&OD#XVIT=1FQ6J:0& MXZ4UQ$&=T_OM\;2/^ 1XDC#XQ9[$3B[6/L?@8Y73330$"LH0%00N5W@ I:(0 MVO@^:=*Y9"0N]Z_J[U/OV,M%>'BPZINL0IO3.THJJ$6OPJ,=/L#4SRTE4_.? MX H*X=$)UBBM\NE+RMX'JR<5M*+%R[A*D]9A_,,/$VV=P"<"GPEWJ0X;"R7G M[T001>;L0-QX]IV(5[P]&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\!/SLXD5')&? K&]S*CJR ()!0N,'"_7> 6I Q$7L;O MD9-.*4/@_/S*_C76[FLY*==/?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-#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&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 MMZZQ.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\+NN-EQ JY0%9R6Y<#/4NQ>V!!Q:Z[>? MW5[/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/)$CRO(T@SYG1'7Q./7=/ZD&!%UHL&OH'_WI\L1FQ1J3H%VG5&$PMU M3N]VA^,^X"/@1P>C6^U)Z.1LS',(/E0" ]. 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)%+ [4! #3 P &0 'AL M+W=O)+=,B5[3,H^YLRES')WL-9P- ML:-2POPX@<2IH ?ZFGCLV\Z%!"OS0;3P!=S7X6Q\Q%:5NE>@;8^:&&@*>G\X MGK* CX!O/4QVLR>ADPOB0,@AY&]\73;J6#,3M M_E7]?>S=]W(1%AY0/O6UZPIZ1TD-C1BE>\3I RS]O*%D:?X37$%Z>'#B:U0H M;?R2:K0.U:+BK2CQ,J^]CNLT_^'I0MLG\(7 5\)=K,/F0M'Y.^%$F1N8PXI@7GTMP?=*G/A? M]-MTGY_N6DPC/_V'Q=\$LEV!+ ID_^UQ#Y/]481M#E6!:>,X65+AJ.,H;[+K MQ-[S>"F_X/.X?Q:F[;4E%W3^:N,%-(@.O)7DQL]0YU_8&DAH7-B^]7LSS]D< M.!R6)\36=US^!%!+ P04 " A2IQ0TKACS+4! #3 P &0 'AL+W=O MX,]=/Y/C48+YT/3,-L;$%4D:<5XDAR8%K*C119S9U-D.#@E.S@;8@>M MA?EY H5C3G?T-?$DF]:%!"NR7C3P!=S7_FQ\Q!:52FKHK,2.&*AS>K\[GO8! M'P'?)(QVM2>ADPOBS=]W(1%AY0?9>5:W-Z1TD%M1B4>\+Q \S]W%(R-_\)KJ \/#CQ-4I4-GY) M.5B'>E;Q5K1XF5;9Q76<_G ^T[8)?";PA7 7Z["I4'3^*)PH,H,C,=/9]R)< M\>[(_=F4(1F/(O[SYJW/7HLTN;%M/(3_]C\0^!_:; /@KLW^QQ"W/XJPA;':H&T\1QLJ3$H8NCO,HN$WL? M;Y']AD_C_EF81G:67-#YJXT74",Z\%:2&S]#K7]A2Z"@=F'[SN_--&=3X+"? MGQ!;WG'Q"U!+ P04 " A2IQ0T%831K4! #3 P &0 'AL+W=O"ET'"VQ U*]["%_!?^[/%B"TJM5"@G3":6&@*>K\[GO8!'P'? M!(QNM2>ADXLQSR'X6!P= M>[EP!P]&?A>U[PIZH*2&A@_2/YGQ \S]O*-D;OX37$$B/#C!&I61+GY)-3AO MU*R"5A1_F5:AXSK.?PXS;9N0SH1T(1QB'385BLX?N>=E;LU(['3V/0]7O#NF M>#952,:CB/_0O,/LM,X.5*90<=17F67B;U/XZ7\ MAD_C_IG;5FA'+L;CU<8+:(SQ@%:2&YRA#E_8$DAH?-C>X=Y. M2YK2E\2CZ'KG$ZPJ1M[!9W!?QK/!B*TJC5 P6*$'8J MZ7UZ/!T\/@"^"ICM M9D]\)Q>MGWSPH2EIX@V!A-IY!8[+%1Y 2B^$-KY'3;J6],3M_D7]7>@=>[EP M"P]:?A.-ZTMZ1TD#+9^D>]3S>XC]O*(D-O\1KB 1[IU@C5I+&[ZDGJS3*JJ@ M%<6?EU4,89WCGSS2]@E9)&0KX2[484NAX/PM=[PJC)Z)6JSQY4["K%XJ8TX+)-IAT13!47TMD>R5.V5_TVWR?G^]:S ,_ M_X?%WP0.NP*'('#X;X\[F#3YHPC;'*H"TX5QLJ36TQ!&>9-=)_8^"Y?R"[Z, M^R=N.C%8[-,F=+X/08GQ!;WW'U M$U!+ P04 " A2IQ0:C40KK0! #3 P &0 'AL+W=OM'T/PI2GQ+A@" ;4+"LPO%[@#(8*0M_$K:>*E9""N]\_JGV+OOIN+[$-Q@UT+)1N'L]?8;4SSN,4O-?X0+"PX,37Z/6PL8OJD?KM$PJWHID M3_/*55RG].=#HFT3:"+0A7 3ZY"Y4'3^D3E6%49/R,QG/[!PQ=F!^K.I0S(> M1?SGS5N?O51YEA7D$H02YCACZ KS@B!>?2E!MTH99>)O:7Q4E[@\[A_8Z;C MRJ*S=OYJXP6T6COP5G97?H9Z_\*60$#KPO:]WYMYSN; Z2$](;*\X^H/4$L# M!!0 ( "%*G% +V$R8M $ -,# 9 >&PO=V]R:W-H965TWQ1@'$ K]._ M+V"OXZ1N7@PS/N?,&1BR$?63:0$L>9%"F9RVUO9[QDS9@N3F"GM0[D^-6G+K M0MTPTVO@52!)P>+=[II)WBE:9"%WU$6&@Q6=@J,F9I"2ZS\'$#CF-**7Q$/7 MM-8G6)'UO(&?8'_U1^TBMJA4G01E.E1$0YW3VVA_2#T^ 'YW,)K5GOA.3HA/ M/KBO9QI'HZ>Q[[J\XVL?N;$J?#$<1_CGS MQF7/11(E&3M[H1ESF##Q"A,M".;4EQ+Q5HE#_ _].MGF)YL6D\!/_F/QC4"Z M*9 &@?3#'KWU].<38'%?GY";'G'Q5]02P,$% M @ (4J<4,_E+:VT 0 TP, !D !X;"]W;W)K&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,)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 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_[?'+KS9> M0&.,![2RN\,9ZO"%+8&$QH?M&]S;:)*K[0! #3 P &0 'AL+W=O2 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&PO=V]R:W-H965TA9 ;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<'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,)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]B1V45)#(P;E'W'\ ',_ M;RB9F_\$5U !'IV$&A4JE[ZD&IQ'/:L$*UH\3ZLT:1VG/SR;:=L$/A/X0KA+ M==A4*#E_)[PH\?[(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-H965TM<_V!,5NVH(6]PAXZ_Z=&HX7SH6F8[0V(*I*T8GRWNV%:R(X6 M6<[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;OZ0RN[*SU#K7]@2 M**A=V'[P>S/-V10X[.&PO=V]R:W-H965T;0?@ MT*L4RA:XM/QL?D5FEYA*4 MY5HA TV![[;'TR[@(^ [A]$N]BATDB>>2@;CBF2OT\I57,?TYY!HZP2:"'0F'&(=,A6*SC\R MQ\KQ[%JYX>Z3^;*J0C$<1_WGSUF>O949OUS#[/\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?&PO=V]R:W-H965TQ(ZN1CS%(+/54XWP1!(*'U0X+AD M2>>2@;C4O?-&32IH1?'G<14ZKL/XYW8_T=8)R41(9L(AUF%CH>C\ _>\ MR*P9B!W/ON/ABK?'!,^F#,EX%/$?FG>8O19IQ:Q":,*<1DRPPVQG!4'TN MD:R5."7_T??I.C]=M9A&?OJ&Q;\$=JL"NRBP>[?'-2DBQ-DANFN-"TS&/N9,O<#%X* M#2=+W* 4M[^/(,U8T!U]33R*MO,AP 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,7LHLO8W8)@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\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&_MU:&X5/V3OGY6\X1BWYMG_U6]JLK AY$8CIVNNO'7VUVZ7M=S%3.4NGB; MCF4S'J_3/[&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+: 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,GB9#8/ G$ZP&D@@=%31P<(Q.D IX$$1D\='2 0IP.$+!Z;N<.!'$ZP'E KM5%YN@:Y$'.O%41S@,"5L_M]P,(LM^J M@IL/[UJUQW'+H?-V^M*,^QTWKL>_/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&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/XA%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=OP&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]IXIY3*)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+R9#\7Z>JV@9[OE?4$L#!!0 ( "%*G%#'SLT$N0$ M -,# 9 >&PO=V]R:W-H965T[5_6/8]<)O0U\=0UK0L)5F2]:. KN&_]Q?B(+2I5 MIT#;#C4Q4.?T(3F=TX"/@.\=C':U)Z&3*^)S"#Y5.=T%0R"A=$%!^.4&CR!E M$/(V?LZ:="D9B.O]J_J'V+OOY2HL/*+\T56NS>F1D@IJ,4CWA.-'F/NYIV1N M_C/<0'IX<.)KE"AM_))RL [5K.*M*/$RK9V.ZSC]X>E,VR;PF< 7PC'685.A MZ/R]<*+(#([$3&??BW#%R8G[LRE#,AY%_.?-6Y^]%6F29NP6A&;,><+P%299 M$,RK+R7X5HDS_X=^V&_S]YL6]Y&_7_'Y\3\&TDV!- JD?_5X_Z;'+ M;0O@T(L4RN:X=:X[$&++%B2S5[H#Y6]J;21SWC0-L9T!5D62%(1N-C=$,JYP MD47?R129[IW@"DX&V5Y*9OX>0>@AQPE^=3SRIG7!08JL8PW\!/>K.QEOD5FE MXA*4Y5HA W6.;Y/#,0WX"'CB,-C%&85*SEH_!^-;E>--2 @$E"XH,+]=X Z$ M"$(^C3^3)IY#!N+R_*K^$&OWM9R9A3LM?O/*M3G>8U1!S7KA'O7P%:9ZKC&: MBO\.%Q >'C+Q,4HM;%Q1V5NGY:3B4Y'L9=RYBOLPWM#=1%LGT(E 9\(^QB%C MH)CY/7.LR(P>D!E[W['PQ,F!^MZ4P1E;$>]\\M9[+T6:[#)R"4(3YCABZ *3 MS CBU><0="W$D7Z@WVS7^=O5%+>1OUWPZ?X3@715((T"Z9L:]^]J7,-\>1>$ M+)HJP31QG"PJ=:_B*"^\\\3>TO@H_^'CN/]@IN'*HK-V_FGC ]1:._"I;*[\ M#+7^A\V&@-J%X\Z?S3AGH^%T-WTA,O_CXA]02P,$% @ (4J<4)6T.?VX M 0 TP, !D !X;"]W;W)K&UL;5/;;IPP$/T5 MRQ\0@YT-L#J2I" T26Z(9%SA M,H^^DRES/3C!%9P,LH.4S+P?0>BQP"G^=#SSMG/!0 D) 0"*A<4F-\N< ]" M!"&?QI]9$R\A W%]_E1_C+7[6L[,PKT6OWGMN@+O,:JA88-PSWK\!G,]UQC- MQ?^ "P@/#YGX&)46-JZH&JS31OUOQZ?YZ6R#;%,BB0/9/C>F7&K&UL;5/;;MP@$/T5 MQ >$7>QD5RO;4C95U4JMM$K5]IFUQS8*&!?P.OW[#MAQW=0OP SGG+DP9*.Q M+ZX%\.15J\[EM/6^/S'FRA:T<'>FAPYO:F.U\&C:AKG>@J@B22O&=[L'IH7L M:)%%W\46F1F\DAU<+'&#UL+^/H,R8T[W],WQ+)O6!P M0*D@A&G\FC7I$C(0U^A"?>GSCVI@S.V(IXA\D[]-Z*E"<9NP6A&7.>,'R% MV2\(ANI+"+X5XLS_HS\DV_QD,\4D\I,5GQ\/VP+IID :!=)_:DS?U;B%N7\7 MA*V:JL$V<9P<*>9>)?>3Q4?["IW'_*FPC.T>NQN/3Q@>HC?& J>SN M<(9:_&&+H:#VX7C LYWF;#*\Z>&PO=V]R:W-H965TQ168&KV0'%TO$T:W.)%1R->8Y&)^KG.Y"0J"@]$%!X':# M1U J"&$:OV9-NH0,Q/7Y5?UCK!UKN0H'CT;]E)5OOZEQ"W-\ M$X2MFJK!-G&<'"G-T,517GF7B7V(K\C^PJ=Q_RIL(SM'KL;CT\8'J(WQ@*GL M[G"&6OQABZ&@]N%XCV<[S=ED>-//7X@M_[CX U!+ P04 " A2IQ0SZ(= M \,! X! &0 'AL+W=OUO8E]_J'QX@./N[0?8<:V,_@GX MR4:EWTP+8-&[X-+DN+6VWQ-BRA8$,S>J!^F^U$H+9EVH&V)Z#:P*),$)39); M(E@G<9&%W%$7F1HL[R0<-3*#$$S_/0!78XXW^))X[IK6^@0ILIXU\ OL[_ZH M7406E:H3($VG)-)0Y_AALS_L/#X 7CH8S6J/?"(- 8?2>@7F MEC,\ N=>R-GX,VOBI:0GKO<7]6^A=]?+B1EX5/RUJVR;XSN,*JC9P.VS&K_# MW,\.H[GYGW &[N#>B:M1*F["+RH'8Y6859P5P=ZGM9-A'6?]"RU.H#.!7A'( M5"@X_\HL*S*M1J2GL^^9O^+-GKJS*7TR'$7XYLP;EST76WJ?D;,7FC&'"4-7 MF,V"($Y]*4%C)0[T/_IM&N>G48MIX*)P-VKS9%L"A#RF4S7'K7+.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?@QC/+F*YS#I M7VCK!#H1Z!6!C(EBY0_,L2(S>D!FG'W'PA5O]]3/I@S!.(KXSQ=O??1Q55>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]#^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/OCXGO316W@5AJZ8J,&T<)TLJ''0&UL;53KCIP@%'X5P@,LWD:G$S79V:9IDS:9;-/M;T:/ERR(!6;!.Z_%$B*HZX%0]B!$&L]((R:DVH6R)&B70 MVI$X(U$0I(33?L!E[G(76>;BIED_P$4B=>.SIG%.\!+#Y/:S)'MY"K$JPV^U 4. M;$' H-)6@9KA#D_ F!4R9?Q:-/%J:8G;^;OZ)]>[Z>5*%3P)]K.O=5?@(T8U M-/3&]+.8/L/2SP&CI?FO< =FX+82XU$)IMP753>E!5]43"F2 M;*'Y"=%"B%;"T?F0VS]2^XO#4V3VIK))MQ5NS12O3/9> M)DF0D[L56C#G&1-M,.&*($9]M8A\%N?H/WH:^_FQM\38\>,-/_J0^042KT#B M!))_>@QW/?HPD=_DX#4Y> 3BG8D/D_A-4J])ZA$X[$Q\F-1ODGE-,H] MC/Q M88X[$[(Y@QQDZVZ?0I6X#>[F;[+K!7^,W!G^"Y]?AV]4MOV@T%5H6V$ MT&!*"1[,KG;F05H#!HVVT\S,Y7PMYT"+<7EQR/KLE7\ 4$L#!!0 ( "%* MG%"OX)!MXP$ (% 9 >&PO=V]R:W-H965TWS1@G&!Q-N_+V"O:[GLBV&& M,^?,C!FR4M6)/I!0Y^AQ=SJG%N\ +QV,:K4/;"57(5ZM\;7*46@3 M @:EM@S4+'=X L8LD4GC]\R)%DD;N-Z_LW]VM9M:KE3!DV"_NDJW.3J@H(*: MWIA^%N,7F.N)43 7_PWNP S<9F(T2L&4^P;E36G!9Q:3"J=OT]KU;AVGD^0P MA_D#R!Q EH"#T\&3D,O\$]6TR*08 SGU?J#V%^].Q/2FM$[7"G=FDE?&>R^B MZ)CANR6:,><)0U:8W8+ AGV1(#Z),_DO/-G[X_?>%/CGR#R$D2. M(%K7&(>;&GV8#ZJ,O2*QAX!L1'R8#UJ1>$42#T&T$?%A8K](ZA5)/03)1L2' M23'4'.2OO,N /Q)WA__!I]?A.Y5-UZO@*K29!'=?:R$T MF%3"!]/5UCQ(B\&@UG:;FKV36F;IAIM? JT"2@L51 MM&>2=XH66?"==9'A8$6GX*R)&:3D^O<)!(XYW=%7QV/7M-8[6)'UO('O8'_T M9^TLMJA4G01E.E1$0YW3N]WQE'I\ #QU,)K5F?A*+HC/WOA2Y33R"8& TGH% M[K8KW(,07LBE\6O6I$M(3UR?7]4_A=I=+1=NX![%SZZR;4X/E%10\T'81QP_ MPUS/+25S\5_A"L+!?28N1HG"A)64@[$H9Q67BN0OT]ZIL(_339K,M&U"/!/B MA7 (<=@4*&3^P"TO,HTCT5/O>^Z?>'>,76]*[PRM"'>.\UR*]/63LZH5F MS&G"Q"O,;D$PI[Z$B+="G.+_Z/MDFY]LII@$?K+B)]$[ NFF0!H$TG]J_/BF MQ@W,/GH3A*V:*D$W89P,*7%08917WF5B[^+P*'_AT[A_X[KIE"$7M.YIPP/4 MB!9<*M&-FZ'6_;#%$%!;?_S@SGJ:L\FPV,]?B"W_N/@#4$L#!!0 ( "%* MG% R/MKC]P$ ,P% 9 >&PO=V]R:W-H965T4ZKP"P?2#;*&Q.Z54@AF[5&>J6P6L\"3! M:12&,16L;DB6^-A198F\&%XW<%2!O@C!U-\#<-FE9$%N@9?Z7!D7H%G2LC/\ M!/.K/2J[HJ-*40MH="V;0$&9DL?%_K!S> _X74.G)_/ 57*2\M4MOA4I"5U" MP"$W3H'9X0I/P+D3LFF\#9IDM'3$Z?RF_NQKM[6#IY30+4V?<1'>3RTO@>-HF.K>HQ\J_Q M ][WN1],G>M&!R=I[)OV+Z^4TH!-)7RP_T=E6^NXX% :-]W8N>H;3+\PLAUZ M)QT;>/8/4$L#!!0 ( "%*G%#]H:Z[PP$ #@$ 9 >&PO=V]R:W-H M965TKJE9JI>BJMK^) MO;;1@7$!Q]>W+V#'YZ;T3V#7,[.SP":?I'K5'8!!;X+WNL"=,<.1$%UU(*A^ MD /T]DLCE:#&AJHE>E! :T\2G,2[W9X(RGI%]"@$5;]/ MP.54X C?$B^L[8Q+D#(?: O?P'P?SLI&9%6IF8!>,]DC!4V!GZ+C*7-X#_C! M8-*;/7*=7*1\=<'GNL [9P@X5,8I4+MV1B6Y]K^H&K61 M8E&Q5@1]FU?6^W5:]&^T,"%>"/$=@TIQ(.)5@2QZFN).%3B%/]#WR=A?A*TF'A^ MLN$GT7\,I$&!U ND?_68W?48PNS#1;)@D2P@<+@K$L(\WA4AFYL3H%K_9C6J MY-C[>=EDU[%XBOW-O\/GF?I*5[![-3_F.3!R6.:4K'\6Y1]02P,$% @ (4J<4-^8MOK- 0 >00 !D M !X;"]W;W)K&ULC531;IPP$/P5RQ\0<\!QR0F0 M#.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'NYRM-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,$% M @ (4J<4*%%)U+> 0 @4 !D !X;"]W;W)K&UL;53;CILP$/T5Y ]8CO8D:Y'169S%U%D?%2TZ^$B/#DR1L3O,U ^Y2A ]\1KU[3*)'"1 M#:2![Z!^#!>A([RJ5!V#7G:\]P34.7H*3N?4X"W@9P>3W.P]T\F5\S<3?*ER MY)N"@$*IC +1RPV>@5(CI,MX7S31:FF(V_U=_<7VKGNY$@G/G/[J*M7FZ(B\ M"FHR4O7*I\^P]'- WM+\5[@!U7!3B?8H.97VURM'J3A;5'0IC'S,:]?;=5KT M[S0W(5P(X8Z 9R-;^2>B2)$)/GEB/ON!F+\X.(7Z;$J3M$=AO^GBI<[>BO@8 M9_AFA!;,><:$&TRP(K!67RU"E\4Y_(^>1&Y^Y"PQLOQHPX^"U"T0.P5B*Q#_ MT^-AUZ,+D[A-#DZ3@T,@W9FX,$>W2>(T21P"CSL3!^;1=YND3I/4(1#L3%R8 M<&>"-W>0@6CL]$FOY&-O)W^370?\*;1W^"]\?AV^$=%TO?2N7.E)L/>UYER! M+L5_T*?:Z@=I#2C4RFQ3O1?S6,Z!XL/RXN#UV2O^ %!+ P04 " A2IQ0 MWM'[W;4! #3 P &0 'AL+W=O+6N;IAIM? JT!2DL6[ MW1U37'2TR$+LJ(L,!RM%!T=-S* 4UW\.('',:40O@1?1M-8'6)'UO($?8'_V M1^T\MJA40D%G!'9$0YW3QVA_2#T^ 'X)&,W*)KZ3$^*;=[Y5.=WY@D!":;T" M=\<9GD!*+^3*^#UKTB6E)Z[MB_J7T+OKY<0-/*%\%95MZ%+8Z$VGKSD[/UM&>38[&?GQ!;WG'Q%U!+ P04 " A2IQ02)S4 M!KD! #3 P &0 'AL+W=O;0O@T*L4RN:X=:X[$&++%B2S5[H#Y6]J;21SWC0-L9T!5D62%(1N-CLB M&5>XR*+O9(I,]TYP!2>#;"\E,W^.(/20XRU^[.QEO MD5FEXA*4Y5HA W6.;[>'8QKP$?#(8;"+,PJ5G+5^#L;W*L>;D! (*%U08'Z[ MP!T($81\&B^3)IY#!N+R_*;^+=;N:SDS"W=://'*M3G>8U1!S7KA'O1P#U,] MUQA-Q?^ "P@/#YGX&*46-JZH[*W3D!E[W['PQ-L#];TI@S.V(M[YY*WW7HKTRRXCER T88XC MABXPVQE!O/H<@JZ%.-+_Z+MDG9^LIIA$?K+@)_03@715((T"Z3\UWGRH<0VS M_Q"$+)HJP31QG"PJ=:_B*"^\\\3>TO@H[_!QW'\RTW!ET5D[_[3Q 6JM'?A4 M-E=^AEK_PV9#0.W"\<:?S3AGH^%T-WTA,O_CXB]02P,$% @ (4J<4#+# M%N+; 0 X 0 !D !X;"]W;W)K&ULC53;;IPP M%/P5Y ^(N2>[ J2&JFJE1%JE:OKLA<."8F-J>Y?D[V,;%A%BM7W!/H>9\8PQ MSD8N7F0+H+Q71GN9HU:I88^QK%I@1-[P 7K]IN&"$:5+<<)R$$!J2V(4A[Z? M8D:Z'A69[1U$D?&SHET/!^'),V-$O-T#Y6.. G1M/'6G5ID&+K*!G. GJ%_# M0>@*+RIUQZ"7'>\] 4V.O@3[,C5X"WCN8)2KN6>2'#E_,<6/.D>^,004*F44 MB!XN4 *E1DC;^#-KHF5)0US/K^K?;':=Y4@DE)S^[FK5YN@.>34TY$S5$Q^_ MPYPG0=X<_@$N0#7<.-%K5)Q*^_2JLU2^[Q:(G *1%8A7 K?I M)L8$22VDMY PB9(XW$1QP.YV<;)SNXF=;N)/;J+5.A\$$J= \O_[D3H%TG_O M1_HI:)!N,*4+L_VP>'76S+__2,2IZZ5WY$H?6WNX&LX5:#W_1@=K]76S%!0: M9::W>BZFGVXJ%!_F^P0OEUKQ#E!+ P04 " A2IQ0% L_OF8" "@"0 M&0 'AL+W=OC=(I&78)O9V1W'@S=MA7Q1!8#V M7BM>JXU?:-T\!H'*"ZB8>A -U.;-29JFX:%[6L)>>NE05DW]WP$6[\8E_6W@NSX6V"T&6-NP,/T#_;/;2S(*! MY5A64*M2U)Z$T\;?DL<=C6R 0_PJH56CL6>E'(1XL9.OQXT?VHJ 0ZXM!3./ M*SP!YY;)U/&G)_6'G#9P/+ZQ?W;BC9@#4_ D^._RJ(N-O_*](YS8A>MGT7Z! M7E#L>[WZ;W %;N"V$I,C%URY7R^_*"VJGL644K'7[EG6[MGV_+

Y/;1;<5[ITI7IG5:Q:') VNEJC' M[#H,'6'>$(%A'U)0+,6.?@A/(CP^0DN,7/SBOQ(I3K! "1:.(!H11/&$@A@E MB)$*HG>;A&$6>)($39(@!#%.L$0)EO-EKE""U0R9&";!DZS1)&N$8(D3D! _ MLN%\H63BU),94E'0:B(/>O2WA"(4ZPD*_/23Z ZU^/DGBSEJ,=#$/TMPFQ#$ M R27B4KN^9+0Z MM!];ZB[8-WC7NWQG\ES6RCL(;:YI=YF>A-!@:@D?C"4*TRX-$PXG;8=+,Y9= MS]!-M&CZ?B@8FK+L'U!+ P04 " A2IQ0"%['HC," #$!P &0 'AL M+W=OV.FS 0?!7$ QS8?"4104JNJEJI ME:*K>OWMD$U !YC:3KB^?6U#*+U;).X/V,OLS(ZQO6G'Q8LL )3S6E>-W+J% M4NW&\V1>0,WD V^AT5_.7-1,Z:FX>+(5P$XVJ:X\ZONQ5[.R<;/4Q@XB2_E5 M564#!^'(:UTS\6^V+G'O@:?R4B@3\+*T91?X >IG>Q!ZYHTLI[*&1I:\ M<02_2I/JMBZ*]17J7@]L.A2:O;:O\O&OKN!_YZ&)] A@8X))+9>>B%; M^2>F6)8*WCFB7_R6F7],-E2O36Z"=BGL-UV\U-%;%I$P]6Z&:,#L>PR=8,B( M\#3[*$$QB3U]EQX'>'Z EAC8_/"_$B.<($0)0DL03 B":(8@0@DBI(+XS2(A M&'^%B\2H2(R()#A!@A(DRVVN4(+5 IL89L;F&A59(P1KG(#X^);UEQLE,[N> M++"*@>9^*4&W_H[0]Q34GZ' =S\)/N 6W_\D7.(6 ?GAC Y^3 AR!NC,54'P M0T#B#[C%CP%)EKA%0)2^T?$FEV@-XF+;AW1R?FUL[YI$QQ:UH_82_@?O^]MW M)BYE(YTC5_HJMQ?NF7,%NA;_02];H5OJ.*G@K,PPT6/1]Y5^HG@[]$QO;-S9 M7U!+ P04 " A2IQ0Y7QQ(2H" 6!@ &0 'AL+W=O$5%%"S=2#:*$Q M;\Y"UDR;K;P@U4I@)T>J.<)11%'-JB;,,Q<[R#P35\VK!@XR4->Z9O+/%KCH M-F$[>;+:1-&UA!P*+158.9Q@QUP;H6,C=^#9CBFM,3I^J[^R=5N M:CDR!3O!?U4G76["=1B5(R5FKWUSZIQSV[0O].6"7@@X)$0TP\)9""0=T+R(2$9"(E'0'TIKC=[ MIEF>2=$%LO]W6V8/4?R4F.X7-NB:[=Z9]B@3O>4I)AFZ6:$!L^TQ>(*)1P0R MZF,*O)1BBV=TZF78+4"2?R'[.20F9-D&6:R4. $R$<"KU;) LBB0.(%D*H!C MKU4]ACI,XS"15^HOV,>I?I)^8W)B]5HX*CT.;NNAMV%D*#<1@]F&:5 M9DB/&PYG;9VH" M "\!P &0 'AL+W=OUNFS 4?17$ M Q3;F*^*(#6)IDW:I*C3NM\.<0(J8&8[H7O[V890 FZ7/\$VYYQ[[C6Y-^T8 M?Q4%I=)YJZM&K-Q"RO;1\T1>T)J(!];21KTY,EX3J;;\Y(F64W(PI+KR$ "A M5Y.R<;/4G.UXEK*SK,J&[K@CSG5-^-\UK5BWA4]HR]ZLVWP\H%VA&M M:"ZU!%&/"]W0JM)*RL>?0=0=8VKB='U5_V*25\GLB: ;5OTN#[)8N;'K'.B1 MG"OYS+JO=$@H<)TA^^_T0BL%UTY4C)Q5POPZ^5E(5@\JRDI-WOIGV9AG-^A? M:78"&@AH),#P4X(_$/QW OZ4@ <"GA&\/A53FRV1)$LYZQS>7V]+]%<$'[&J M?JX/3;'-.U4>H4XO68""U+MHH0&S[C%H@H$CPE/J8PAD"[%&"WKHWT;86"#X M%K)=0J#OVVWXUDQ](^#?9!K:!;!5 !L!/!&(X*Q2/20TD*:/$6 0@5FZ2Q@* M$4#([B:PN@D6;@(4S>STF& 2QU<=(8CGY;?@(HP#B&9W$"Q\^WX"_.2#>PBM MQD.+\=@N$%D%HOLO,K8*Q'>4+EZ6) 'S>UR"<#0';>-%T2"82MT83JR&$XOA MQ"X @?UO#NXO&OR@4\#_?_\#9IILM*C(QH)2!9E7Q)NTL)KRDQD/PLG9N9&Z M$4Q.QQ'TA'0+G)VO]6@RK?%=II]K/P@_E8UP]DRJ!FO:X)$Q295)\*"NM5"C M=-Q4]"CU,E)KWL^3?B-9.\Q*;QS8V3]02P,$% @ (4J<4"=EX?^] @ MW@D !D !X;"]W;W)K&ULE5;M;ILP%'T5Q ,, M_ E42:0FT;1)FU1UVO;;39P$%3 #)^G>?K:AE)K+E/X!VYQS?._!'W=Q5Y)2!R]E4;7+\*1U?1=%[>XD2]%^4K6LS)>#:DJA3;/VJ_IGE[Q)YDFTGY9A M&@9[>1#G0C^JZQ?9)\3"H,_^F[S(PL!M)&:.G2I:]PQVYU:KLE_U7&DS /0$/A,Z<60+I">2-0/]+H#V!>H2H2\5YLQ5:K!:-N@9-]WMK M85<1NJ/&_9T==&:[;\:>UHQ>5HS$B^ABA7K,NL/@$08-B,BH#U-@:(HUGM Y M>3_#!H#0]Y#M%(((@<,@8*;$"9!QIIC# A04H$Z OA-(/*LZ#'>8RF&(V8,L M]1,&< FE#&$O:P!'LIAD,YDS,' V#9S,_$$."O#;K4M @>0&ZSH,&Z6*,4D) M\E;C!L#%&4NH9_$6P"4QRU(&!YZ"@:> =1@6R$"![';K4 SOT/@&\WK0.%O. M4YIPSSP AQC%6>P!MY @(2B;<0_-G"X(\&]F[2+P]+A'^ ,.PCL?D5L<)-/U M0G&*4]_!*2XA*&&^?U,8ST@Z$S=\X"#@Q"%T1@+>^HA]P#UX\R-^BWM\&ULC5;;;MLP#/T5P^^K=;%\*9( ;89A M S:@Z+#M64V4Q*AM99*2='\_679<1Z*'O<22?,AS2(<4%Q>I7O5!"!.]-76K ME_'!F.-]DNC-031))1?K4-%S]>12UO"QC'%\/GJO]P70'R6IQY'OQ79@?QR=E=\GH M95LUHM65;",E=LOX =^O<=X9.,3/2EST9!UUH;Q(^=IMOFR7,>H4B5IL3.>" MV\=9K$5==YZLCM^#TWCD[ RGZZOW3RYX&\P+UV(MZU_5UAR6<1%'6['CI]H\ MR\MG,03$XFB(_JLXB]K".R668R-K[7ZCS4D;V0Q>K)2&O_7/JG7/R^#_:@8; MD,& C 8X^ZJ_UI%W?PI\3VTR-]VARYU[ M9Z/5]O2\8I0MDG/G:, \]A@RP> 1D5CO(P6!*!Y)8)[16X8U $EA"@I&09T] MO8DB@QVDH(/4.4AO'.1>&GI,YC!MGP9&6.:%$J)H 2MAH!(&*"D\)3V&W2K! M,S092),!&2MA!SGH( ]TEG["\E F30OD9RR$T1*1F>]?@&**,&DI\M04 4W) M\H+ -"5(4P8T&&&/I@QH""JQEYIUB&*8%C-EA1%"#NOGR'][/+-Z[V5:NC M%VGLK>ONQIV41E@MZ,ZF]V#'I7%3BYWIEKE=JWYFZ#=&'H=Y*!F'LM5?4$L# M!!0 ( "%*G%!?LA,Z-P( $L& 9 >&PO=V]R:W-H965TW+.*!=="J+V?& M&RK5DE^0Z#C0DR$U-0H\CZ"&5JV;I29VX%G*KK*N6CAP1UR;AO*_.ZA9OW5] M]QYXKBZEU &4I1V]P$^0O[H#5RLTJ9RJ!EI1L=;A<-ZZ3_YC3C3> %XJZ,5L M[NA,CHR]ZL6WT];UM"&HH9!:@:KA!GNH:RVD;/P9-=UI2TV_J),NMF[C."<[T6LMGUG^%,9_(=<;DO\,-:@773M0>!:N%^76*JY"L M&564E8:^#6/5FK$?]>\T.R$8"<%$\,FGA' DA.\$_"D!CP2\(* A%5.;G$J: MI9SU#A].MZ/Z$OF/6%6_T$%3;/--E4>HZ"V+<)*BFQ8:,;L!$\PP_H1 2GW: M(K!ML0M6=!)^W&%O@>"/D'P-\-K:ZQQ?6B-+L!$\WVP;&'HX5I"PK[F\5)Y&M4D,1Q M;+<<62U'*\L1WM@%B%6 _,=)D55MD\2+-XN5"LR?5 M +^8=B6<@EU;J2_F+#IUQ*= /\E%?* M&9.@3'H/JJREZNS3HH:SU--8S?G0WX:%9-W8NM'T_Y'] U!+ P04 " A M2IQ0$'K0;WL" #O!P &0 'AL+W=O9 M:;44VT"JJXP@Q+-:E$VZF(78@U[,U-%692,?=&*.=2WTOZ6LU'F>XO02>"SW M!^L#V6+6BKW\*>VO]D&[73:H;,M:-J943:+E;I[>X[LU1IX0$+]+>3:C=>)+ M>5+JV6^^;>%?,DS!R MI:H_Y=8>YNDD3;9R)XZ5?53GK[(OB*5)7_UW>9*5@WLG+L=&529]F$^[G7O]!@ ND)9"!@_B$A[PGY*X%^2* ]@4:$K"LEG,U:6+&8 M:75.=/=Z6^&_(GQ'W>EO?# <=GCFCL>XZ&G!&)IE)R_48Y8=AHPP>$!D3GU( M0: 42W)%Y_G;#"L 0M]"UM<0G.>PC1RL- \"^;A2PF$!"@K0($!' @07T5%U M&!XP3<#<8,YY5"Z RCF:3J*2 1@I)NB=JAEHFEV99@Q'ICL,&^7!A$25K:Y! MA'$6.0:4IAS!?CGHEP-^292%7V6YP8SD$SA/ >8IKO)@&E6S+( \B.7QVP1@ ME#(:P=80K&",PJXGH.L)<#KO? Y34&#Z^9_ =7.P8:!/G%P/>OL?(#2-/RH0 MAQ&.^L,:PG%:Q*5GHZY72[T/$\4D&W5LK.\=H^@PM>Z)[YI1?.FG6>BFKS+= M*/PA]+YL3/*DK.O)H7/NE++2N42W[N4>W/0=-I7<6;\LW%IW(ZC;6-7VXS4; M9OSB/U!+ P04 " A2IQ0.PQ@QJ<# "M$@ &0 'AL+W=O]O@Z!: M[52>5#=ZKPKSST:7>5*;RW(;5/M2)>O6*,\"&H9QD"=IX4_'[;V'J?^T?2G,5'+VLTUP5 M5:H+KU2;B?^%W-[SUJ!%_$[5H3HY]YI4GK1^;BZ^K2=^V$2D,K6J&Q>).;RJ MNEVWR)IFGI%)SG?U)U_5NXDO?6ZM-\I+5C_KP M5?4)1;[79_]=O:K,P)M(#,=*9U7[ZZU>JEKGO1<32IZ\=<>T:(^'WO^[&3:@ MO0$]&A#VJ0'K#=B' ?_4@/<&_%*#J#>(+C6(>X/X4@/1&PC+(.BJVR[775(G MTW&I#U[9[;A]TFQL8:)S MS!QAXG/,'<*(<\QBB(G9.60)(%;$]T,(81]N E.18UDH+ MM'; 3!TP([(!! M!ZQUP,]RE5:N"#/")!R2\*&#.+1( (9(3!)!D@B0$(NDP\0MINCJS:6U_$L MHB>@LU!B&$H,0J%6*!TF.F$1(RFMTB\!RF3E6&$!@Q$@&&NK+L2 AG#N2%E" M%@E8K-V^D ,6&8:89 1)1H#$$OAB-%@]*D-NA;(X3A%Z@LAC&#((= *18H)<"%8\M2QR"_8I)3K#V*M&?M^CD" MA58CN$,@87<+"'(\%E L=0J&OG1(@V*IT^B*NF$54R#006]$($DPS+BJ&19G7H!0*Y M.B=S/$8#,:%TKXS"\,9MEIY+U\2)3F[HY%>:\[#Z@=!>UWO 2T M-F9M)VQO7]L01 GJ#_9[S(QGL$TV"/FF&@#M?7#6J1PU6O<'C%79 *?J2?30 MF3>UD)QJ4\H+5KT$6CD29SCT_1WFM.U0D;G>21:9N&K6=G"2GKIR3N6?9V!B MR%& [HW7]M)HV\!%UM,+_ #]LS])4^%9I6HY=*H5G2>ASM&GX'",+-X!?K4P MJ,77W60Y M4P5'P7ZWE6YRE"*O@II>F7X5PQ>8\L3(F\)_@QLP [=.S!JE8,H]O?*JM."3 MBK'"Z<GS'86)A] MA)L^0B= %@)ADFP+D$T!X@2BA4"Z6^48(3L'Z1R$) E91]E D33<;WN)-KU$ M#U[B?; R$STNLX_2>+4,7NRCO5??J;RTG?+.0ILCX3:N%D*#4?2?S&%MS%6> M"P:UMM/$S.5XH,="BWZZJWC^811_ 5!+ P04 " A2IQ04\*2**,# !, M$ &0 'AL+W=O>>^SZ'KA97$3U M7!\YE]9KD9?UTCY*>;ISG'I[Y$5:WXH3+]63O:B*5*IA=7#J4\7371M4Y ZZ M;N 4:5;:JT4[]U"M%N(L\ZSD#Y55GXLBK?ZL>2XN2QOLMXG'['"4S82S6IS2 M __.Y8_30Z5&SL"RRPI>UIDHK8KOE_8]W&W0;P):Q,^,7^K1O=4LY4F(YV;P M9;>TW481S_E6-A2INKSPA.=YPZ1T_.Y)[2%G$SB^?V/_U"Y>+>8IK7DB\E_9 M3AZ7=F1;.[Y/S[E\%)?/O%^0;UO]ZK_R%YXK>*-$Y=B*O&[_6MMS+471LR@I M1?K:7;.RO5ZZ)T'8A]$!V ?@$ #!AP%>'^"]![ / U@?P+0 IUM*NS>;5*:K M124N5M7]>T]I7'N'!>&J(>L^XP.,+ @' 4 M^Y "J11K-,(#;YHA(2!L"MF8$/ \6H9'KM1K";S)2F<(&$G 6@(V(=!4KCM, MT&+*%N-A.*?3)]/X1!I?2]-A_%$:C'VFH1+_?\0$I)C $,/<"PC1D2X: MB$0LUH\&!0LC5U=MHB#P9[P02#.\![RBO'O0O^J;@!'G?D/"Q@=_JIMV3_!, M)P!WAH+V3V#7>P'0W@B4.>IN (0[NC'JM47 ( H#U'>/@,4^SI@@T#8*IH^: MEM"#QIE"+])5FR#$R*@O$W43S3D_T,X-X36F$%+UY>-,)MKB@?)XHY)-^]:M M,"$P-X!&/1!,T8Q@VN"!@]0$*A6*B_(0G4O&;:XO&: M[U\T/VT!F*?7%@$S#]&&(ILT.F1E;3T)J1J^MBW;"R&Y4NG>*I5'U=H/@YSO97,; MJONJZV^[@12GOG=WAA\05G\!4$L#!!0 ( "%*G%#!%=L\8 ( !D' 9 M >&PO=V]R:W-H965T^=R)G?*7RF0U?R51/ MXGM3\=_)C5 %UTY4CHI18:Y>=162M9.*LM+BM_'>=.8^C$\@FFAN I@(8"9$ MZ:>$>"+$'P3X*0%.!&@1@K$4TYL]EKC(.1L\/K[='NN/*'J$JON5#IIFFV>J M/4)%;T6RV>3!30M-F'+$@ 4FFA&!4I]3 %>*$JSH:7R?8>> P'O(?@V)XMAM M(W96&AN!>"$ LO_4 9T"T C I9 MQ&$FLLR,F&1I!D9A8IE9HV":1;S-$$EJK4'*6>HG4FH_3>MQ(UD\' M43"?AL4_4$L#!!0 ( "%*G%#WB,6^=@( *H' 9 >&PO=V]R:W-H M965T_0):QT$Z?ZK@>][S'*"<_,;XJZ@HE=Y;VW1B[5=2]JL@$&5% M6R*>6$\[]>7$>$ND&O)S('I.R=$$M4T PS .6E)W?I&;N3TOA#;NM?>#?)U[J^:WL3LW=.5'!A[U8-OQ[4?:B#:T%)J!Z(>5[JE3:.-%,;?T=.? M4NK ^?O=_8NI7=5R(()N6?.G/LIJ[:>^=Z0G4 (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?B/U!+ P04 " A2IQ0W[--6X # #3#@ &0 M 'AL+W=OZ:)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(?_NDX3!G$SB^?\O^N5V\70(0"+#P-H'T#? ]B' :P/8$Y U"VEU6:=FG0QJ_0YJ+KM M/:;-*<+WS*J_:09;L=O_K#RU'7U9"(QFT4N3J,"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�(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%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'?%Y MVWNA=]' LBMKULB2-X%@^V5X!VXW !D'B_A=LHL5P3&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]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+UVRNS3/5:=*.VVRC>]M>(:+C+K/X#4$L#!!0 ( "%*G%!+H!\4 M0P, $ - 9 >&PO=V]R:W-H965TZL5,G7215_*A]II366;UOZ4LU'GN@__6\9CO#[KM M"!:S8[:7/Z7^=7RH32L8LVSS4E9-KBJOEKNY?P]W:V1M0(?XG+W(EBZ+-9'3\'9+Z(V<;>/G^EOU+5[PIYBEK MY$H5?_*M/LS]Q/>V="OVHSE_E4!#WO:'Z[_)%%@;>*C$<&U4TW:^W.35: ME4,6(Z7,7OMG7G7/<_^%)T,8'8!# (X!(#X,8$, >P^(/@R(AH#("@CZ4KJQ M66PR_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=ADD_XY0"Z6N"V&!>2PL3_"-#> 81Y3/VQ(NT+&'Y^P2"]XY'8 M\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&ULC57K;ML@%'X5RP]0?+]$CJ4F M[;1)FQ1UVO:;.">Q56P\($GW]@-,/,>A6?,C!OQ=S@%\3G&F[)77 ,)Y:TG' MEVXM1+] B%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"G;8-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/>S0U- MBD(+[* K-'NQT>YBLCEW@4=# &0 'AL+W=O%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(<)6PH$&J-!Q;;@HB#BD.ZY.IE-XH0PK< MMN0.WQ++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=O5(]AAYB[0 M=(V(<;"(GSF[R-[<,:EL.7\UBZ_[F>N;B%C!=LI04#VXZ!*U#\.X0 M_M,A;!W"D8/7I&*U65-%YZG@%TDXBD 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:9HG MQW-T^8[SN M+37_"U!+ P04 " A2IQ0OC) >2H" #Z!0 &0 'AL+W=O<_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=OPS9DS9^R9 MP:N;[%[ZLQ J>JVKIE_'9Z7:QR3I]V=1\_Y!MJ+17XZRJ[G2T^Z4]&TG^,$: MU56" *!)SUC&,WQ:>R]-9F85D MLVKY27P7ZD?[U.E9,K$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'KOAFUV2.&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'X9!@OS]NIF41& I8QD2^D1;ETPT+N\EC*"Z-VY M4Y2YS3V @SFBP.UQR>P':FXTWWAW*IL^VDFE_\7VCWF44@G-"1XTYUE?HJ9) M)8[*##,][H:;Q#!1LAUO2<\D" #L M"P &0 'AL+W=O MVH,0.GBMRKI=A@>MF_LH:C<'4?'V3C:B-F]V4E59;RQ6Z^;97ZC?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:_HQ#QV&7&+H&+(&(/$ B8R"008!91!G3TI'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###T RF""QG[E>RG*/-B3^,D\ZK(AY$XG_WJX+Z MI6:MN_NPV6C;];!T- _[J/U!+ P04 " A2IQ0?*#$V<," M $"P &0 'AL+W=OWK^V$ ,Z&V/S( M^+O842J=CZJLQ=3=2=E,/$^L=K0BXH$UM%9O-HQ71*HMWWJBX92L35!5>MCW M8Z\B1>W.T+#63TO&G(W7[G#KPMTU7^G!UHJN%:B\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(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=ORJ-J%?Y2RG@5!NSWRDK4/HN:5^K(73^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)#XC*+[_I"*XLI%;VNY9!4'.S^(V:"P&KESDEFX23E' M8O^HW@17+WH MCO)= 2"2Q!-^X.)$;G4Z775E0*,_E_-_#:XN&/H2^HTUA[QJO5 @ 3P< !D !X;"]W;W)K&UL M?57;CILP$/T5Q >L,7$*FV_(Q$QX$< M#:FAR/>\D;MTB-[$]+W)VD;1N8<\=<6D:PO]M@++;VL7N>^"E/E=2!U"1 M=^0,/T'^ZO9<[="HT^X]4.>YI@$+]KN(G)VM&E'!A[U9MO MQ[7KZ8R 0BFU!%&/*VR!4JVD\O@[B+JCIR9.U^_J7TSQJI@#$;!E]$]]E-7: M35WG""=RH?*%W;["4%#D.D/UW^$*5,%U)LJC9%287Z>\",F:046ETI"W_EFW MYGGKWT3)0+,3_('@CP0 _9+2$X".QI!-9* R,0W%6:V@5"JT!H!,([@6S6JAX3&TS;9YEF MGF>WB:PVT=(&>S.;'A--; (?/^A&;'6)+2YXYA(O7' 2X\QNDUAM$HN-/[-) M%C9IYC]H66IU22TNLR.V21?_3!AE.+;;9%:;S&(S.Z;;;&'C>],#T!_F)0IG MZ:-CHL:J]"L\^WHJS>(;?5N8:?4ATU\U/P@_UZUP#DRJF6!P( ' % M 9 >&PO=V]R:W-H965TA5ZAQ>7< M,QADSX= 0%N%3_'^4!B]%?SH89*K>6 J.7'^:A:?SU48F82 0J., ]'##9Z! M4F.DT_@U>X8+T@2NY^_N'VWMNI83D?#,Z<_^K+HJ+,+@#"VY4O7"IT\PU[,+ M@[GX+W #JN4F$\UH.)7V-VBN4G$VN^A4&'ES8S_8<7(G>3J'^0/P'("7 .QJ M<2";^0>B2%T*/@7"W?U(S">.]UC?36,V[578,YV\U+NW.H^S$MV,T:PY. U> M:>)%@;3[@L ^Q '?A6=)YC=(O#DFUB!9&>#'W&^0>@U2:Y#^4V2^*=)I,JL9 MK";!<>*G[+R4G8=2;"A.LUM1XEV1_>-YCL#I,D69SZ,;D7D]]C M<+3!Y'>8/(DB/Z7P4@H/)=Y0BKLO$Q<8XPT&K?[Q#,3%OG49-/PZV#ZSVEW: MR1.V+^:OW/6BKT1<^D$&)Z[TN[.OH^5<@4XF>M#5=KK]+0L*K3+37,^%:P)N MH?@X]S>T--GZ#U!+ P04 " A2IQ07J]6?\(! "(! &0 'AL+W=O MG:!/V#^]B=E(S*S5*V 3K>R0PKJ'/_8'(ZI MPWO :PN#7LR1Z^0LY9L+?E>)5WAR< &="NA<0!/?RRCDG?]DAA69D@-2X][W MS/WBS8':O2E=TF^%7[/FMBAVE&;DYH@ES'#%T@4GC&4(L_:Q!@QK4U\>+ M>KK?A0GB($'L"9+_3,8KDR%,$A9)@B))@&"[$@EATK#(-BBR#1#L5B(AS'U8 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 M !D !X;"]W;W)K&ULA9;;CILP$(9?!?$ "[8Q MAE42J:&J6JF5HJW:7GL3)T$+F&(GV;Y];<.BK#VT-_C S'PSQC_VZB:'%W46 M0D>O;=.I=7S6NG],$K4_BY:K!]F+SKPYRJ'EV@R'4Z+Z0?"#843)'.=2MZ%0MNV@0QW7\ 3U6B%D'9_&S%C=UUX]L*<]2OMC!E\,Z3FU& MHA%[;4-PTUQ%)9K&1C)Y_)Z"QC/3.M[WWZ)_T;[B]*RG:*85%K^.K9UY]K; M^(:1R0UVP),#GAU0]D\',CD0SR$9,W.E?N2:;U:#O$7#^+5Z;C<%>B1F,?=V MTJV=>V>J56;VNF$$K9*K#339;$<;?&>3D_IC1AMYC<%FD,(:"&!IB M2.IA:(#)\CR'*3E(R0&*_^WS@()IAF * RDLH##B;9\M"YRR##&\L&0HA569 GI8^+9H0=@HR)6FOFH1H A< M+"P\@J6+\/^E5TU&[]8>L7)!% C6.()$7OHD$I!*PLH%$*QR!,C(8+$C2.W4![%@V]&4 M8O]_G]R=8?92\8T/I[I3T;/4YCATA]912BU,R/3!9'TV]YAYT(BCMEUF^L-X MF(\#+?OIHI+,MZ7-7U!+ P04 " A2IQ0].IJXL4! I! &0 'AL M+W=OE;F+'669BXMF70]' M&:@+YU2^'H")L4 1>@\\=.=6VP N\X&>X2_H?\-1&@_/+'7'H5>=Z ,)38&^ M1?M#:O$.\-C!J!9V8#LY"?%LG5]U@4);$#"HM&6@9KG"/3!FB4P9_R=.-$O: MQ*7]SO[#]6YZ.5$%]X(]=;5N"[1%00T-O3#](,:?,/63HF!J_C=<@1FXK<1H M5((I]PVJB]*"3RRF%$Y?_-KU;AW]3K:;TM83R)1 Y@3B>_%"KO+O5-,REV(, MI)_]0.T11WMB9E/9H!N%VS/%*Q.]EIMXD^.K)9HP!X\A"TP69S,&&_Y9A*R* M$$<0?Q#9KA/$JP2Q(T@^$*0W57I,YC"]PR31AD3K,LFJ3+(BL[N1\9AT(4/( M5]-(5U72SRI)>*.2?FHFWB7;]$8&+T[9/J(_5)Z[7@4GH&ULA57;CILP%/P5 MQ >LLWO.?B M35:4*N^]8:W<^I52W08 >:AH0^03[VBK_YRX:(C20W$&LA.4'&U0PP *@A@T MI&[](K=S.U'D_*)8W=*=\.2E:8CX^TP9[[<^]#\F7NISI 8 MY@Y 8P": F#XWP \!N!% !B$\-J=<1L"KC!NI@',VEK9__I M;*6>O19)"'-P-40CYGG H!DFQK>0T@$))PC0#B8;R&D#V7A\8P.Y";"3 %N" M<&X I8L\!DQL,:W%H"3$F5LF=,J$#IEL(3-@HID,Q$&:N&4BITRTEL'!0B9: MR<3!G9K'3I%X)9+@:"$2KTH60CBSSQ!BJS5.=HP\>[J!Q! MU&=.%=4 M4P9/VG2EWZYIP.A)F6ZB^V*XP(>!XMWX.('IA2S^ 5!+ P04 " A2IQ0 M0"U@7/\! "P!0 &0 'AL+W=OZJ"/( M8E!G]I-[*!*%UX"?+8Q\M;>4DQ.E;RKX4F6VHQH" M J50#%@N5RB $$4DV_@]<]J+I"I<[S_8/VGOTLL)Q^DDCNEC#5C])]R#+X=9JJ2>G3Z3 M;KG,7O,X\%-T540SYGG">"M,M($4!DBP0)#L8&G#,[;AZ7K_GS9N$/A& E\3 M!&L"/]SXF#"1QO0:$[BN[YAE J-,8)!YW,A,F' EXSEA9%8)C2KA7B5P-BKA MSHS_Z,0W9A899:+[,RNBG4P<)=X--[%1)KX_LR+>S2QTO!MF$J-*EIE2 9'0>9,N-?#Z7@$ MU#:6>S8] M(E,@Z#"_CVAYI/._4$L#!!0 ( "%*G% S93X(DP( /@( 9 >&PO M=V]R:W-H965TJT[;.;. DJ8&8[2??O9QL747RL7\ V=_?)!FEDQ6#DW' M>]6(/I+\N(T_XKL:YU;!2?QJ^$W-QI$-Y4F(9SOY>MC&R'K$6[[7U@0SKRNO M>=M:2\://]YH/#&MXGS\:OVS"]X$\\04KT7[NSGH\S8NX^C C^S2ZD=Q^\)] M0%D<^>B_\2MOC;CUQ##VHE7N&>TO2HO.6S&N=.QE?#>]>]_&+WGEU6 %XA7( MI(#3_RI0KT 7"LGHF0OU$]-LMY'B%LGQ;PW,)@6^HV8S]W;1[9W[9J)59O6Z M*])LDURM(2]S/\J0F4Q.WXK4@$@ZB23&@\D- KI!G#Z=Z9.J@ U0T !U!M*Y M Z1. MFERC*R2XPC%YOW1J+_0FW3 A:YL'MP(,]()E]=1>Z$U,:"VQ,=P,,- -E@54 MX[ =E+1R?XSN2IZ57T)+0YS=R9&PO=V]R:W-H M965T_O9AB*6>,L7[+-_?^[.V/G(Q9ML )3WWK%>[OQ&J6&+D#PVT%'Y MP ?H]4[-14>5#L4)R4$ K2RI8P@'08(ZVO9^D=NUO2AR?E:L[6$O/'GN.BI^ M/P'CX\X/_8^%E_;4*+. BGR@)_@.ZL>P%SI"BTK5=M#+EO>>@'KG/X;;,C-X M"WAM892KN6S\S/SBDZEH^_3V/9V'*>=E,PT-P'/!+P0POB_A&@F1%<$-&5F2WVFBA:Y MX*,GIL,:J/DGPFVDFWDTB[9W=D]7*_7JI4CC)$<7(S1CGB8,7F&2Z&](Z8#$ M"P3I#)8TL#,-;/G1BH\WJ5L@<@I$5B!>UQ&1JSHF3&(QO<5D.".AVR9VVL0. MF\V5S80A*YL8;[#;A3A=R*U+'%RYD)MBTHR0C=LF<=HD]WM6)C^D=N-+W MT-Z6FG,%6C%XT"DW^OU< @:U,E-]WSTQO2)3H/@P/Y!H>:6+/U!+ P04 M" A2IQ0QD:O[2P" ";!@ &0 'AL+W=O0Z=7+ERT5.FAN :R M%T#/UJEE01R&.&AIT_E58><.HBKX3;&F@X/PY*UMJ?B[!\:'TH_\CXF7YEHK M,Q%414^O\!/4K_X@]"B85.<)N)3^IVBWCZR#M7AM8)"+OF=2.7+^ M9@;?SJ4?FHB P4D9":J;.SP#8T9)Q_%G$O5GIG%<]C_4O]CD=3)'*N&9L]_- M6=6EG_G>&2[TQM0+'[["E!#RO2G[[W 'ILU-))IQXDS:KW>Z2<7;246'TM+W ML6TZVP[C"L*3F]LAGASBV2$>O5FL39H2C-R8U(E)'9A\A1EMT *3)"1_D UR8M 6@\(5!FTP M)$,H=V.P$X,=F&B%P1M,E!%,W!CBQ! ')EYAR 83AR3*W)C,BY[%SI :'WQPNWQ)"%YB!S<\+LF+*]@\JKDTGO2-7ND+9.G+A7(&6#)]TV+5^*>8!@XLR M7:+[8BR7XT#Q?GH*@OD]JOX!4$L#!!0 ( "%*G%!G,))BI@, $@/ 9 M >&PO=V]R:W-H965TU,VK^O?)G4D>A!^Q+;RB%Y2(G'YN)JZZ_- MT9@V^EX65;.,CVU[?DB29GLT9=Y\L&=3N7_VMB[SUCW6AZ0YUR;?]49ED2!C M,BGS4Q6O%OW:<[U:V$M;G"KS7$?-I2SS^L?:%/:ZC"%^6_AT.AS;;B%9+<[Y MP?QGVO_/S[5[2FY>=J?25,W)5E%M]LOX$1Z>..L,>L3GD[DVD_NH2^7%VJ_= MP]^[9US&61SMS#Z_%.TG>_W+C F).!JS_\>\FL+!.R8NQM863?\;;2]-:\O1 MBZ-2YM^'ZZGJK]?1_YL9;8"C =X,0+YKP$<#_LL@?=<@'0U2SR 94NEK\Y2W M^6I1VVM4#]M[SKM3! ^IJ_ZV6^R+W?_GRM.XU=>5$FJ1O':.1LQZP. $ S=$ MXKS?0B 58HV!N>3W$38$)+V'/(40)3*:!B "9DI2=,1)!T1TI',HS-@Q"0.0,HR[=$A8 J8F-EE M2=*1!!TO[;4,XFC. 3W6FQ &#)5&1?-1)!\5\-$^'17$P4R"\@\G 9-"*4:S MR4@V6< &F'?"UUD01X).E=>-FQ#&-9>0TG0T24>'=#(O[;4.=R'CV33O@8\. MSC*XH\QAYO0 HW6($><'?2%B 2?%,I7-' R8D3P@0OG9CZ#[P\%3-J,80$K? M(R 1RM_W$30-)8!+Q)E0M+P!)T()/Q0/-U4C,#X3BA9"()102C]4&F8EM! S MD6B- TKD@M=3*%^837?T/A(M7T#IEZ_N0"@3S[28D0*@E0E":5)2^Z$(U4&I M^ Z$HBJLY^0=:4B#4%*5\Q8505(324L^<"J2U @FM4#/= M@K0&(/S^UP#2O8U$;_OOCJ<1-%5'S;6:RY=N;21:6_DJ@F%KOQ>)[FPD.GO6 M!=VR*/Z@LG0O(M&+?F77&/8B=A\3./,1A70S(M&,RM)RNGDXU3Q^<4>0O'\E">G7-IF,&:6I#_T(UT1;>ZGZ^7&R M>AL3'[$?4W[!AQGSW[P^G*HF>K&M&W;ZD61O;6L<'?;!5?[HQMK;0V'V;7>K MW'T]S';#0VO/X]R:W(;GU4]02P,$% @ (4J<4)F/LTSP 0 ]@0 !D M !X;"]W;W)K&UL?53MCIP@%'T5XP,LXK<3->G: M-&W2)I-MVOYF]#J:1;' C-NW+Z!KK$/Z1[B7%V M4DXGA$3=P4#$$YM@5"LMXP.1JN17)"8.I#&D@2+?\V(TD'YTR]STSKS,V4W2 M?H0S=\1M& C_\PR4S86+W??&2W_MI&Z@,I_(%;Z#_#&=N:K0IM+T XRB9Z/# MH2W<#_A411IO #][F,5N[N@D%\9>=?&E*5Q/&P(*M=0*1 UWJ(!2+:1L_%XU MW6U+3=S/W]4_F>PJRX4(J!C]U3>R*]S4=1IHR8W*%S9_AC5/Y#IK^*]P!ZK@ MVHG:HV94F*=3WX1DPZJBK SD;1G[T8SSLA)E*\U.\%>"OQ%P^%]"L!*" P$M MSDS4CT22,N=L=OCRL2:BSP0^!>IEUKIIWIU94VF%ZM[+)$ES=-="*^9YP?@[ M3!S\"ZDLD'"#(.5@L^%;;?B&'^SX?I;9!0*K0& $PGV.\)ACP<0&,QI,BC,O MP(RVHD>[,1Q M<[5Q0 MVR0I0C1IJ[J+5PLW]RA7"W'63=WQ1QFI<]M6\M^:-^*ZC''\-O%4'X[:3B2K MQ:DZ\)]<_SH]2C-*1I9=W?).U:*+)-\OXP=\O\',!CC$[YI?U>0]LJD\"_%B M!]]VRQA91[SA6VTI*O.X\ UO&LMD?/P=2.-1TP9.W]_8O[CD33+/E>(;T?RI M=_JXC(LXVO%]=6[TD[A^Y4-">1P-V7_G%]X8N'5B-+:B4>XWVIZ5%NW 8JRT MU6O_K#OWO [\;V%P0#H$I&, IA\&D"& O =D+OG>F4OUGQ^03'8K+C#'/3@@C):%X9G4I:(<&=AA%GAT:I(UQA@IO M*VT &,,HG]E/#+3#0CN%;P?">!]T V%2V$@!&BF"7<<* A.4($$9.*!IX652 M!BN6(932&:,8P:<< 4K!,4?!7DFSO$S9C-1,0<&A%/$_SP"ZD6*4LGQ&"BPL M#S@%I/QC.X#RFP6D;*8Z8+B^8!+N%4)\)1(HX1SGQ8P27(AP6(D8\<_^ +K) M"2,RIP07&0Q4F2+(*:P?&.&2D;GU@RL(!DI($61% ZU/'^YUN#Q@Z%SGOA8+ MCA58/@$<6#^3R7W;U-[^V;9&[Q]]I^I[J M1R4/=:>B9Z%--^#N[+T0FAN;Z,XLVM&T<>.@X7MM7YEYEWTOTP^T. U]6C(V MBZO_4$L#!!0 ( "%*G%!B[0KA(P4 &H< 9 >&PO=V]R:W-H965T M[LR"H M7M8Z3ZLOQ4YOF_^\%F6>ULUI^194NU*GJ\XHSP(6AE&0IYOM=#[KKCV5\UGQ M7F>;K7XJ)]5[GJ?EOPN=%?OS*4P/%WYLWM9U>R&8SW;IF_Y#UW_NGLKF+#AZ M66URO:TVQ792ZM?SZ06LB;7X^]%)G6>NIR>,?XW1ZC-D:#H\/WJ^[Q3>+>4XKO2RROS>K>GT^5=/) M2K^F[UG]H]C?:K,@.9V8U=_K#YTU\#:3)L9+D57=W\G+>U47N?'2I)*GO_K? MS;;[W1O_!S/<@!D#=C1@\*D!-P;!>Q"=!S'*P>KC L-8?5RZ̑Z-,))Z)=-8"@EA+A'N(D!RL M?;+H,5&'V?910J?#2P0E163MITL$Q5DL\)QC/.<8R=F*L^@QLG(2';>H35DX8U53&'E I%\D@H\74#;K+(6?O/AK0<#^)A"7$&.,$U3AR"^X65V"WB8JXF>($(SFB9T!UB& : MCTZH+L$@[C+(J>YW QI65X8A]7#"":)Q1*S(C:PH"&U>4"%#%U!<%(@3&2$3ZHA^83 M5$T0'!(>JO9-N*J6\(1Z A $U82/J!F0] Q%,%)@FD9UB*":.$'3!,$AX7+( MJ>ZU0![2@.:K)+@F?51-NJJ60)@0Y94$)24F:T1I),$U>8*L28)$TD/6ODI7 MUJ!1->KV7!)DDSZZ9D"C,10")S1)4J^@$%UC5+H$V>0)NB8)%DD/7;N2KJY% MGVQ>@FS20]>N#.C_0@6#-^:Y+M^ZCU;5Y*5XW]9M1097CQ_&+EC[QMVZOH"S M2T"NW\#9;?^&_C_W_5>XA[1\VVRKR7-1UT7>O8Q_+8I:-]F'7YJNKG6Z.IYD M^K5N#^/FN.R_?O4G=;$S7_:"X^?%^6]02P,$% @ (4J<4"_?(92X 0 MU@, !D !X;"]W;W)K&UL?5/MCILP$'P5Y !9>F0)VUPQYC4W<@F'E0 TBWTRHMF'6I/F,S:&!-( F.21QG6+!>HC(/ MM:,NN(YOZI]"[ZZ7$S-0*?ZS;VQ7H&<4-="R"[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*&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'+*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[^RH1XUY+^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)0O,<0BVDM!L.%4/$<1 -#";QE[+6./9:>Q>8_!DS0PBQ,'5"P[_V]:D1C*'?=>IUG 0>PXGJ, 3.\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-H965TFS?; 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>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 W;] NZQ]3^E]I)_OLKW9/<[N/_T &GWW,$L8 MF02'-I'!//08N,#02\P6,V+@%DBXE\?@, MX9X%KF=1IR/ ]:R4N"4]&=RP=![2=+PFW-L 6[-8WC8'U]L^6$D ;G& N!Y5*;Q6Z!?U: M2B5T4G*G]6_UMO,\*,1:M9>QOJ[[O5<_4')G]I7!>7,[^PM02P,$% @ M(4J<4"9;@J!V!0 KAP !H !X;"]W;W)KO)&N] M]O!PX=[$EGPXFB&93X?DS7O=?&E?JJJ;?=UN=NWM_*7K]M>+1?OP4FW+]D.] MKW;]+T]ULRV[_K)Y7K3[IBH?QT;;S8*-\8MMN=[-[V[&>Y^:NYOZM=NL=]6G M9M:^;K=E\^]]M:G?;^FO%LZ_C)<_/)X.S=#1M6F>NB& M$&7_\58MJ\UFB-3G\<\4='Y\YM#P]/NWZ#^-Q??%?"[;:EEO_EX_=B^W\SB? M/59/Y>NF^[U^_[F:"G+SV53]K]5;M>GE0R;],Q[J33O^G3V\MEV]G:+TJ6S+ MKX?/]6[\?#_\$L+4##?@J0$?&Y#_80.9&LCW!O:'#>S4P*H&BT,I8]^LRJZ\ MNVGJ]UES&-Y].M#X4;,;-6RB9U+UIC(QUAJC:DYE9*40B[-V,&L'RBYP \#>%!VHPS4R[ G$-:M#^L4#13 MN%S>&8@1R#O3=P0A]9'XSQE.,1G=?JB/C@B8$"B?&<081 MA,E&]G)($,8,N0LP,8G.L^TGCZX=R"A:KVM/97(B.L\:LXW\Y: @C!H*%Z!B M$IV/NM.38PEDQ$1!%XZB69\;@8F:K<0@ SAY&MTL!@X*L" MDS:30$:A(/V"1#(N;(:5C$''"'29$(*9(^9R8 AFC@"7DP!C$IW6R\9ZT3,' MZ"A$XW3_05T_QS)S1S#K!+FK##,DLWQ#[DHS0U([9*WGI/A4QH'U>F4%9%=! M8F[5B5DGP%OEB"$8.@*\54(, :;)B6A< AE[)[IRH!+K,JP4##I!YBH##,', M$62N-# DM4-2<-0O22#CHI"H2P<>S!N?FZP8=() EWG-"F:.@.5<=K\",\<" MGY/N6*0+,"Y$-&Z1+#BG_V60+%*.E1:#SB)SE1D BX%CD;G2M+"I'R)AUA,' MR)QP4GFJ$LIRTF+(6>"MH7&GK[ LE.;<-4>:IB'WS(I(TA9U/(^9#K/,P; M"Q9S65A@WEC@<5)8I,LOCJDW0S(?K48MD'G.;>HZS#B'?%6F\QS&C4.^2K/" MI3XH&+U3O@0JED*OPX#J*AJ3&2^'">> I>+UMNP0J*HQ>?P'550RDLUZ< M'-ILJ^9Y/!!K9P_UZZX;CCY.[AX/W3[R<.BC[M_3]>IP=/8]S.$D[[>R>5[O MVMGGNNOJ[7CP\U377=5G:3[T6;Y4Y>/Q8E,]=7=?U!+ P04 " A2IQ0^8]:/0T$ #Q% &@ 'AL+W=O'U]\CB]>7&3]O3D*H9P?95$U2_>HU.G) M\YKM4919\T6>1-7^9R_K,E/M:WWPFE,MLET?5!8>]?W0*[.\+?NRU7BWD M615Y)5YKISF795;_]R(*>5FZQ/T8^)H?CJH;\%:+4W80WX3ZZ_1:MV_>-^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[UGYU_,-%/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, #WG R\\>%;9MA>3)P$B<69PRP/(,'3N( MZR68.\2:5DV5\%[:54HN7H?VF_TZ/(=M>70NQ5]QBU MS_5P"3>\*'D:+QB]ZRWGZG]02P,$% @ (4J<4#!.,K?VX/?AEZ>V:ZHA/';/67_H?+69"C5U MQGENLZ;:[>?+Q?3NOELNVI>AWNW]?3?K7YJFZOY9^;H]WLYI_O;BZ^YY.XPO MLN7B4#W[;W[XXW#?A:?L$F6S:_R^W[7[6>>?;N<_T(P4??Y^#SB]UC@6O[]^B_SPU M/C3FH>K]NJW_VFV&[>V\F,\V_JEZJ8>O[?$7?VZ0F<_.K?_-O_HZR$:7:JB6BZX]SKK3?#A4X[2C&Q.&ZW%\.8W.]%OHSSZ\ M?5T69;G(7L= 9\WJI.$KC57O)6L@T>\E7Z2$5!3F3FK8Y1=-%EIR:0[#YO 4 M0%T%*/-$ 4#J"F OG:91RY7)XV=-/M3GRFV48](4:E98RL:6M'"2IE39.6D M,5>U!+L<=?U:JEQ.)?9BH!<#O'#DQ4@OQ$5D!8@<*VS%0BL66(E'R(I:.' RX$7%Q,N1W/743Q(0!>Z6-F$ MHP1R"3@J8D<$UFS,U#50E=JE.@@CDQC8$5L RTGL;#Q:0$7*< + A E,$L'6 M"3\*K%U-)C8D9:3*U*HBS&$"((YGQHHD8SG\V9A_2)=S7G#"$L8Q 1Y3O#>0 M9.VG,(?$&H,Z:SAE"6.9 )G8&)N:21C.Y&0V0 F\$T8J M2::ZF.\D> MF*:,F 8 ([C;8 1X%0IOI>0CL.R2 "!,>!8II\D\BR6F>4G8[6T!'3*V#*U M,C P&22A'.],##),9W(Q%:6L,*I(#1N&)@-H 2I9F%5:FM3F(@*$#'U=:DPP]3_^59.?"Q+[,@T1,DO89B&0-V[-.1TCH!T M-JRQ"'=W,!YI&T^?[.JH9#P=^[WJGG?[?O;0#D/;3&NK MS>6A]D_#>.O"?7&PO=V]R:W-H965T?<JK)NY^Y.ROVMY[6K':_R]D;L>:U^V8BFRJ5Z;+9>NV]X MONZ#JM*COA]Y55[4[F+6MSTTBYDXR+*H^4/CM(>JRIM_2UZ*T]PE[FO#8['= MR:[!6\SV^9;_Y/+7_J%13][$LBXJ7K>%J)V&;^;N';G-:-H%](C?!3^U9_=. MUY4G(9Z[AV_KN>MWBGC)5[*CR-7ER.]Y679,2L??D=2=O[%_ZSJO. M/.4MOQ?EGV(M=W,W<9TUW^2'4CZ*TU<^=HBYSMC[[_S(2P7OE*@<*U&V_7]G M=6BEJ$86):7*7X9K4??7T\C_&H8#Z!A IP 270T(QH#@+2"\&A". :$6X U= MZ6N3Y3)?S!IQ/=Y-XO(;:BJO^H:^V+WOZGRM*KUN$@IFWG'CFC$+ <, M/<.0">$I]BD%12F6U B/@LL,]P 27D(R$T*" ,L(8$^#GB"XZ&F$"4)($/8$ MX05!K)7*Q"2QKW7V YCL.N9"+(-B&1";:&(1)M7$ DR@BT48RPR)H-@($%!- M+,)HTRA#F! +B:&0&!#H;P/"1%K5 $:O;(9X8BPV@6(30* /,<+H0PPPH66N 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@%Q1$U/8HEEA:+8<&C\B=)B+Z%@XV26-@$^'%TK M+78="ES'+*T),A<7[^QH6/%FVQ^[6VYQKV% @ =@@ !H !X;"]W M;W)KY(.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*%=I_)D%!@6T/V M7\F95!*NE,@8.:VXOEKYB0M:#RQ22HW?^GO9Z'LW\%_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&ULC99M;]HP$,>_2I0/0.+GN *D IHV:9.J3MM>IV @:A*SQ$#W[6M;-:[M7RD1O55FWLWAOS.$A2=KU7E5Y.]$'5=LG6]U4 MN;'#9I>TAT;EF\ZH*A.AE4U2J;@M=1XW:SN)']+!"S!ET MBI^%.K=7]Y$+Y47K5S?XLIG%J2-2I5H;YR*WEY-:JK)TGBS'[\%I/*[I#*_O M+]X_=<';8%[R5BUU^:O8F/TLSN)HH[;YL33/^OQ9#0&Q.!JB_ZI.JK1R1V+7 M6.NR[?ZC];$UNAJ\6)0J?^NO1=U=SX/_BQEL@ <#/!H@_J$!&0S(NP']T( . M!M0S2/I0NMRL@^YVT7H@=KLK]UDE^SNF4U/:V=/<\G9-#DY M1X-FT6OPE0:-BL1Z'Y? T!(+')ASPSM-W5,*Q#(OH\M0AHE(1>K%',JD9 +#T R$9@!TYD'W M&G:]C/")0PWEF?<:5Y"(2AB7@[@+@=RC!GWDK<,99@BP7QFP%M*,;ZS MPP5(+4)J_UTN1) ;)CDA&?,S#0@SB2BC_NZ A(B+-*4P>P:R9P [\MBS8"4A M*;#ARHZ2;$/'JK01-S9+0@L08\( ]!!F<,0M%^J !4)0EL!*C3A=XY" M!!@@N( BH(,(O>P@X^9%D_I$,R+#@' 79"W5$8$'] M3RVYZG(JU>RZ#K*-UOI8&]HC=EV2-[]PW6O7/;V[Z5O?;WFS*^HV M>M'&]F!=I[35VBB+F4XLX-YVV^.@5%OC;H6];_J6LQ\8?1C:Z63LZ>=_ 5!+ M P04 " A2IQ0#/8C9LD' !V, &@ 'AL+W=O&ULE9MM4]LX$,>_2B8?X*)GR0PP4_+@/-#2ZM_^[$2DUFJW5MX4$GZ[6FNE_4NR>OE>[G[LGXNBZOW;Y>Z_FV)=OE_U>?_CBV^KI^>J^6)P??FR?"K^+*J_ M7K[NZD^#DY>'U:;8[E?EMKU6\[UN_]YI'^5Z6/YH/ MLX>K/FLB*M;%?=6X6-8_WHIAL5XWGNHX_O5.^Z)X>'KQ_F^W)? M#,OU/ZN'ZOFJ[_J]A^)Q^;JNOI7OT\(_D.[W_-/?%F_%NL:;2.HV[LOU_O!O M[_YU7Y4;[Z4.9;/\>?RYVAY^OGO_'V:X@? &XF0@^6\-I#>0J0;*&ZA4 ^T- M=*J!\08FU^18?)1\*Y M3#;Y2#E7R28?2><:F R.(_XPA4;+:GE]N2O?>[MC%7A9-L6&7]16M?/FV\.D M//RQGD;[^MNWZ\RZR\%;X\DS-T=&M!A^(@:U^U,; FWC1D3VFAT?&')BM;T5(,"+R MF.+&*H9'H_%H-!(-&#'#(Z/;[M<.C=DC4!O>0X1ZR],'; M*!1:>1D2A86EET5)LLP8";AA(C=*Y,:)W 3C=&89G&")W#21FR$<9U(R!NK4 M/!5<)(!A6BE!Y4A:'>$#%\Q/7)PQO(CRRB42!U1=!*KK'I"5#BB,ABC5/*[5 M=4DB"A\G*BS79W0+43UY7#YY-!B&G@K+#-$041DY5AJC_H^A.AH!$]!!A?$0 M-8_'1:]V0O4>4?;X&75/$'5/8'4/RK:'V@D@!HL@YJ&(YV']O% I/14DV@I' MC&Y!S%\0:BHOXBK,&16!*)4"K6\&YM-& AU5C4YDU(V,NY$)@FB8Q4YDVHW, M$(2#8.8)S.+W3)@E0D $*B!PP8I0QAJ8IP1HE *-4Z!)"I2G0-,4:)8"S5.@ M10<4IHV0;)%A:2,6I)+0;,G29[DD!%FB@@Q54L:"3!TK$&(L8PGEC -AN_%4 M6XF$XRS:2GNN/7&$MK >8-Z4E0JL*W//!4\G8&PSQ)MDTEJ@N7/,FVFM.\+N MHHYAXM5"W5W$ID<2BBS5&>.#4",9JQ&6M_@(10BI,P?SAG!,PY- A.)":)'! MO"$ /FLN&M%:NF@9Y3&0-FL47-_G&,DR#<]99ACGE*B70PIF#R&-Y)I* M(%&6)5:6R?-/HBRK,\JR(LJRPLXK0 (G'FHGT&5"@DF7J[AX.PGE$?$EN7)& M 6]SQ)NPSA+U31%RH% Y(%;*BBB2ZIS#:NJT&CNNAO*'0 :^X[CM@,)HB&JK ML&H;J;&GVBFPCMH=*Z)6*?3(!2X<48K#;6L2-4JBQDG4)(G*DZAI$C5+HN9) MU**+"A-(Z(3"]F<<+NI5?#2OF81' "./!=-?,PU?0N6(.ZL4Q*:(.\T%C\HV MXDYE/-HG8=%)GFEBO:P(55387HD3QQR*D AUQF&;)A1"8X=M("5W"%1'2SRR M)G1$8\M[N/:YTTA-YY)JBBCI&BOI44%!*0[7B4G4*(D:)U&3)"I/HJ9=5-B= MA+AI= < I[>.#_BK=+O=P]X]6#)G10(V]NHQ=^.GXK*XR!K]^':=@H#1NG81,$<]+!;5">ADW3 ML!F"U3MA>*]AGH8M.K$PDX0@:DP0!;$"TX1&:'?&D"(D0F.[""'@F(HI'1?" M!&B4 HU3H$D*E*= TQ1HE@+-4Z!%!Q3>X"!4V<2":^&9TM#$K\ $4]&>.4NNEP)%H&?,5#8&/R"@5(9\OVO(988!EMBB*C?D$VHR.#- MA1S!ZDU\!D5H[KGPY%P+0:B0(=8L!E-J0>RD#*'4YHQMJ"'DT&#;4+BY,-B% M*+A!7W@JR&O3-T1 A+0:="<*90"EHMM!2=2BBPK#IJYA83LK$8V>^"*!49+! M@$R\T%'"$H)B"%4RJ"H1FPY#J)(Y0Y4,H4HF+I'Q20<".7A%[;8#"F^H$<76 M8KN;Z*3#QM4Q.M(;M&[5;HK=T^%B^[YW7[YNJ^8N9.O;T^7Y3Z*YE0N^O^$7 MB^-MW5]NCC?R/R]W3ZOMOO>]K*IR<[B8^UB655&'R/ZHA^USL7PX?5@7CU7S MJZU_WQUOPA\_5.6+O^4_./U7@^O_ 5!+ P04 " A2IQ0-F[$Y"@" #X M!@ &@ 'AL+W=O&ULE97;CILP$(9?!?$ M"X;$@8@@;795M5(K15NUO7:224!K,+6=L'W[^K2(!K-*;^(#__S?C.-#T3/^ M*BH &;PUM!6;L)*R6T>1.%30$/' .FC5EQ/C#9%JR,^1Z#B0HPEJ:)3$,8X: M4K=A69BY'2\+=I&T;F'' W%I&L+_;(&R?A.B\'WBI3Y74D]$9=&1,WP'^:/; M<36*!I=CW4 K:M8&'$Z;\!&MMRC5 4;QLX9>C/J!+F7/V*L>?#ENPEAG!!0. M4EL0U5SA"2C53BJ/W\XT')@Z<-Q_=_]DBE?%[(F )T9_U4=9;<(L#(YP(A+WQ']'Z-UHM;FH"?-4IAO*GFA9J\EBI.L MB*[:R8FV5I2,1#C%@R92@(&2>"F),5B,#-(E\AND7H/4&*3_IIG['19>A\4D M!12G\4VA5H2-J+4BM<%C/V?IY2PG'#Q93ZM9CC#Y+ 5[*=A#R6\H>$))9RDK M+V4U7;,LO:&L)I0/EBSS8K()9I$E?H/<:Y#_Q^Y L?\F9VZZ19QHS$EF.?Z3B=([-HD3X0_7+1K=6?I-^$;X MN6Y%L&=277_FDCHQ)D$9Q@\JY4H]0\. PDGJ[DKUN;V+[4"RSKTST?#8E7\! M4$L#!!0 ( "%*G%#-C6_^,@( -$& : >&PO=V]R:W-H965T.U.\U3>"P?V=_LLGK M9(Y$PI[3W^5)%1M_Z7LG.),K5<^\^0I=0K'O==E_AQM0#3=.M$;.J;1?+[]* MQ5G'HJTP\MZV967;IEU9W,/< 5$7$/4!X?*_ ;@+P'U U";?.K.I?B&*9*G@ MC2?:OU43PM"P,00E.W"K8F2ZV!/./*G,WP]S),+<,>," DPD+L9,@ M=EF(1SO>@F(+JBQH8C,3IT;BTDA&&LF#QD0>"Z?&PJ6Q<#,LG0S+SV_ERDFP M-T](*A_Q;*_4$L#!!0 ( "%* MG%#7\FVZ)@0 "$2 : >&PO=V]R:W-H965TZE7R^K:YN?2O=2+YEH46?W?VN75 M[2F!Y-O Y_/QU'8#Z6IYR8[N3]?^=7FI_5-Z][(_%ZYLSE6YJ-WA*7F&QRWJ MSJ!'_'UVMV9RO^BF\EI57[J'W_9/">L8N=SMVLY%YB]O;N/RO//D>?P[.DWN M,3O#Z?TW[[_TD_>3>?J]NO;IR03!;C[']W M;R[W\(Z)C[&K\J;_7>RN35L5HQ=/I#= \T,# M/AKP[P;P0P,Q&HC (!VFTN=FF[79:EE7MT4]O-Y+UE41/ J?_5TWV">[_\^G MI_&C;RM@ I;I6^=I!*T'$$Y!=T3JW=]C(!5CC;$Y$_@^QB8&*:[?8[8Q1C-& M,^'D;'GO@$\<<-"T T$Z$+T#\7XJ/$C7 )(]J.Q!2,>09 P9D?0Q!.U!D1Y4 MQ%)BD,OU@%$3DMRKA33!9#8$3@LA(7A_6P+'+>.6T\0U25Q3Z94! 3_0:",H2" J'M3UA@(*X,8$J=Y20.,K1-H9]K08 O](MXVH:3#P M+XRI4,!)('+@$-*/@>BE0IFY%TA+,1!:'+4H0X7>$D"AO?3.U"[2VHN$]D9M-X*FH0S7&*X9! PUFK#$MQ2. M"3:W=4-:\1$^T'4C:!KJ0;-0PS8$# $D#W-.X$!:"3.K--+K#,;KC"^8.1^T MVF.\]YUO.J0E%V/)C9L.8XE\ ;Q/H<"HO"X<,$@/7)M^R[4Z:D]'[ M=XYG[,[9P?@:'K?#^?N[F^'CR1]9?3R7S>*U:OTIOC]K'ZJJ=9XF^^13>W+9 M_OZ0NT/;W6I_7P\?+8:'MKJ,'V32^U>AU?]02P,$% @ (4J<4$^<%B:F M!@ UB8 !H !X;"]W;W)K7A MZ7@B?SR>>?W>[+\>GNNZG7W;;G:'F_ESV[Y<+1:'^^=Z6QT^-"_U+OWGL=EO MJS9=[I\6AY=]73WTC;:;A5&*%]MJO9O?7O?W/NUOKYO7=K/>U9_VL\/K=EOM M_[NK-\W[S5S/O]_XO'YZ;KL;B]OKE^JI_K-N_WKYM$]7BY.5A_6VWAW6S6ZV MKQ]OYA_UU2K8KD&O^'M=OQ_.OL^ZKGQIFJ_=Q6\/-W/5>51OZONV,U&EC[=Z M66\VG:7DQ[^#T?GIF5W#\^_?K?_2=SYUYDMUJ)?-YI_U0_M\,P_SV4/]6+UN MVL_-^Z_UT"$WGPV]_[U^JS=)WGF2GG'?; []W]G]ZZ%MMH.5Y,JV^G;\7._Z MS_?!_O=FN($9&IA3 \T_;6"'!O9' _II QH:4-9@<>Q*'YM5U5:WU_OF?;8_ MOMZ7JAM%^HI2].^[FWVP^_^E\!S2W;=;K2A>+]XZ2X/H[B@RYZ*38I',GYYA MT#/NC&C.]O()2R"A2\E*2K2UV T+NVI[ _:BJTYA"P0M4&^!SBPXX[-8'37< M:W:]QJ99Z$+>8Z#S1$Z;K-M 9Z.RL=!U!QUWPO'4=9UY?A2YLR=I9L=>99X# MG?7&JX)'##UBY)'!%CRTX">\S@ MA!&O,XC.^J#(93-D*64<@^.0O4PILXXU M%;R.T.N((E>(O59XTJL)L=,%<.@1T1M$%QW65G.F6P*=L894%N85T%%0' N> M0QQ]U&;,;!A4%Z_4:LJG,9+IR*588C)IBSRB@@W,)DU3WBG&A):< .\4S'\5 MM$K;%%D(@#"9^7\91OR]1?(G/-6Y>$#UH*F0O)A,7>LY(Y6I23(8@98-R5^ MF %6Y@$@?BP'#"FC*%^!H= 3.Y_'$ C3&-1<&H28/E;2)W!IBXLY8,.4(&(. M6)D,@"!&N3HX8ZR(H=3%&,_'UQ!"J6.3ENL"!@GCAR1^0&I/DABL$H'R';J4 M.57(B/.X2%F:FY!G(4@8#:M86&T,Z8+([K(MXJJ)B[&'-5(9XAUH>;!F%:,ZB;%UUKX)69*W80Q M,WA,W81EH<,;YTP>&5 /8#*( MS@]GA.@H7]& 3).)G!_U0#K-1I1+%F>'>[;U_JD_.'68W3>ON[8[(7-V]W0X MZZ/I#@=E]^_TU>IXQ.J'F>.)KS^J_=-Z=YA]:=JVV?8'A!Z;IJV3F^I#>L// M=?5PNMC4CVWWMJ>U#=Z*O*RGX<[:_7T4U:N=+M+ZSNQUZ?[9F*I(K9M6VZC> M5SI=MT9%'@$A<52D61G.)NW:8S6;F(/-LU(_5D%]*(JT^C?7N3E.0QJ^+SQE MVYUM%J+99)]N]4]M?^T?*S>+3BSKK-!EG9DRJ/1F&C[0^R4DC4&+^)WI8WTV M#II0GHUY:2;?UM.0-![I7*]L0Y&ZQZM>Z#QOF)P??WO2\+1G8W@^?F?_T@;O M@GE.:[TP^9]L;7?3, F#M=ZDA]P^F>-7W0>_]T,-X#> $X&-/[4@/4&[,. ?VK >P,^,(BZ M4%IMEJE-9Y/*'(.J>[W[M#E%])X[]5?-8BMV^Y^3IW:KKS-*8C6)7ANF'C3O M0' ..B$B1W_: [ ]YN"9Q^QRAP4"X9>0I0^AC.%N,#14UA*PBU EP1DXRL!; M!G[A@AQHU6'B%E.V&.:R4"3#B!&\XD2/O,$89 MXAO$DRB#O$*\#B/.@@4B!/#!@5SX.*J8\X<.Q$/XA*""*-SQ!'4\P<0#G$&A M#.H&\2C!\Y1<(5\/NM"%QMR3#\$I!F)P1)<(+.%")2..CQ08BLDW M*-PB()[]E%TC(/,/## .P^1%<#%P,J8,7DTH4DZ(Y",<>&)3<8LR>&K3^!IE M8B3E.!%#81 8D;$3RA24(@4(QQX:M/D%OGPY*;J&OF4'W < M#XO] H%)*A,UE ]A4XD'(#7*%?#[K4+^%G M[O;W"!]'!0=%!L E1L@ Q%C\>%$!I*@0*4UU!X(8LD M]A3T48ED8BB?CP(%;$P]O/ 4GC(Z"G&JP#(6]3#JP @7WA?O<2[B+G;&O$N MLCX,F/(^K0B,"N7%'IU=XPM=;=L6J0Y6YE#:YBY\MGIJPQZ@:0,&ZW/7GG7- MU =-U]O]2*MM5M;!L[&NR6A;@8TQ5CLOR9U[OSO73IXFN=[89BC=N.IZJFYB MS;[O%Z-3TSK[#U!+ P04 " A2IQ0PKB@[8$" D"0 &@ 'AL+W=O M&ULE5;;CILP$/T5Q ZD5/ALK;SS-CV/,_85=*R M)GMNB6M58?YW2RAKUS:R/PROY:60VN#D68,OY >1/YL]5R=G8#F5%:E%R6J+ MD_/:WJ#5#L7:P2!^E:05H[VE4SDP]J8/7T]KV]6*""5'J2FP6FYD1RC53$K' MGY[4'F)JQ_'^@_VS25XE<\""[!C]79YDL;83VSJ1,[Y2^-52%;U+$I*A=^[M:S-VG9/HJ1W@QV\WL$;'+SPH8/? M._@3!Z=39E+]A"7.,\Y:BW=OJ\'Z3X%6OBKF41M-[82X4Q&"*D)(Q0)#!#)$3U0B!AGBN09_^L8Z3#1* M,T:)'RS$2< X"91K #.D($/Z1*[(A5O A52$TQX 4=&D*# J7M"ST)((XDBF M>M"\_H$?SP3-86'J>0LU1F #;Y '*4H7..#V1,_T)X(;%($=.GM3$[YI>R%M:!237YS'PZ,R:) MTNB^J+(7ZLHR'"@Y2[V-U9YW<[L[2-;T=Q)GN!CE_P!02P,$% @ (4J< M4$^B9@J) @ '0D !H !X;"]W;W)K5O]H=5R=O9#F6-6U$R1J'T]/*7:/G+<+:P2!>2]J)N[VC4]DS M]J8/WXXKU]<1T8H>I*8@:KG2#:TJS:3B^#.0NJ.F=KS?W]B_F.15,GLBZ(95 MO\NC+%9NZCI'>B*72KZP[BL=$HI<9\C^.[W22L%U)$KCP"IA?IW#14A6#RPJ ME)J\]VO9F+4;^&]NL$,P. 2C XH_=0@'A_## 7_J@ <';#EX?2JF-ELB2;;D MK'-X_WI;HK\B](Q5]0_::(IMGJGR"&6]9LA?H*5WU4P#*.]!P3UH1'B*?M0( M((T\F+C'X:/"!H#@1\AV"D%A"(<1@JF&A@ _IAI8J8*@&1D,RF"(P4HF[T&Q M 34]""5A:E4%0 41M@LS12TP"N"0(S#D" HYLD(&03$L$X,R,<206#(Q4!GL M+ZS*0*@ 6=_M%D#Y&"=PS D8ZYGOYD]'S3]Q>$'X>>R$237!S)PY,2:I"M)_4@VE4'>5\5#1D]3; M1.UY/[#[@V3M10BGUE6N3VR-"HG/&>9_,^>%VDDY&UQL,J\8-&N)J6)A;;M6VD4 M9^9R7J\]%LLY/XDDSMAC892G-(V*/RN6\,O"!/-MX2D^'$6U8"WG>71@WYGX MD3\6\L[JHNSBE&5ES#.C8/N%>0>S#885H4;\C-FE[%T;U5:>.7^I;K[L%J9= M9<02MA55B$A^G=F:)4D52>;QNPUJ=IH5L7_]%GU3;UYNYCDJV9HGO^*=."[, MT#1V;!^=$O'$+Y]9NR'/--K=?V5GEDAXE8G4V/*DK/\:VU,I>-I&D:FDT6OS M'6?U]Z6-_T:C"=@2L"-([6L$IR4X[P3_*L%M">X[P;U*\%J"=RO!;PF^0K": M8M75OX]$M)P7_&(4S0'*H^J40JIL@_+[6W01%?Y0YSIMT!*'L U2Y! M]P>0QATH;;?Y&#?,B?81H(P$M->$IST^L"?30$WI(]@P(]IS@/(3"-6,=)0' M(ZT*M.L :3M:F0/]"#GNB+T![3T0:BTM76'$OH!V%J"L!54#:U']0_'I6E,C M[4%H4V)*WZQ;U*TG$&FS0J"*,Y8O;4)(F1"J)H3_;4)(FQ!2)H2J";6H&[L" M:>] EZJ2/Q*#[G6D>AW57B=0HYV%= NC3R4[%H/N3J2Z4TUV@__2G4AW)U(_ M#7"JEB6\Y55"H/17"0'27R56;Q9(67&H)[G2V/)3)JK?N+W5;EJ\PVJ64-;7 M,'MH9K[W,,T(^BTJ#G%6&L]C7W B>MV.MUY_9Q$E0 >>"LVG_?4A")K]6999LU 769E_CJHN,VTNZU/07&J9';J@L@@8(2(HL[SR MU\MN[:E>+]55%WDEGVJON99E5O_>R$+=5C[U7Q>^YJ>S;A>"]?*2G>0WJ;]? MGFIS%8Q9#GDIJR97E5?+X\I_I \[%K)'+F_-Y-QK2WE6ZF=[\>FP\DFK M2!9RK]L4F3F\R*TLBC:3T?'?D-0?.=O Z?EK]G^ZXDTQSUDCMZKX-S_H\\I/ M?.\@C]FUT%_5[:,<"HI\;ZC^LWR1A8&W2@S'7A5-]^OMKXU6Y9#%2"FS7_TQ MK[KC;QJR^K"D-R3)X:3,-H$T/8E/0B A,^I&#(8X- MFX6+\)YA"R#\'K*;0V@88ADA+#7L$H23!"%S). P >\2\/M>4:M7/2CJ0%4' MBHD086P5#&!1&A-F%3V'41*&A#CZ'T'=$=)M,6UZD)@R,6,?EFR (C/4#J!: MT5BS@)H%TFP]-1L!NB,2J[*M0)JCQ-(\1Z4AY5AR#"7'2++U%&_B&0TC$8DQ M3P)Y$L0363P0)#!-"FG2V78Q&1Q"*<'F0I"*Q'87,K^-<4)9['C(JSWR8S<@^B%0DD"J8+ZBKB=A:*/(6;N_Y 47#*5>R()&#"]L+1=;!AQ&TO&E#Q/16SJM\BF/NF,FQ8#!D6MPUK0-V_OF+[5;B% M,&;OLQV",9*Z6HG-BLW-*DH<;P:&+8B]XV.,86-AR%@BVS(!*G+>)^P5;/[] M%+E,D&&K8.(=Y6(+8,@"YN5"E'U[@\ET4,KZU$U>C;=7UTJWG]B3U7&Z>V3M M=&&M;\S4U\]H?]/T(^.7K#[E5>,]*VUFEV["."JEI1%)%J:A9S.ECA>%/.KV M-#;G=3^J]1=:788Q-!AGX?4?4$L#!!0 ( "%*G%!L P>P5 ( '\' : M >&PO=V]R:W-H965TV.FS 0?!7$ YPQ7X&( M("5$52NU4G15V]\.V01T@*GMA.O;US8<)<2I^!.PF9V9G8 WZ2A[XP6 L-[K MJN$;NQ"B72/$\P)JPE]H"XU\\@?K0')E=H9#F5 M-32\I(W%X+RQMWB]QZXJT(B?)71\BL]D30=*$TE"@04W?KQ,' M^(G3P"@4F(2BF5 /"B="&$?^DX9"HTYHTHG-#"LCPVIYII&1(%J0:18]9.I% MV/,1UO9/!COG[= Q"X1.K^,DWCI?'BHV?W1:["X+= M#ZAILG'L1/[\;463TZD&=M$G/[=R>FWTV)GLCM-EJX<+^@?O1],WPBYEPZTC M%?*,U"?9F5(!TH[S(HT4&UL;53;CILP$/T5RQ\0@\EE&P'29E>K5FJE:*NVSPX,%ZTOU#9A^_>U M#:$TRTOL&O& M^@3)TX[5\!WLC^ZL741FEK(5($VK)-)09?@Q/IYV'A\ /UL8S&*/O).+4F\^ M^%)F./*"@$-A/0-SRQ6>@'-/Y&3\GCCQW-(7+O*_E:T7T*F S@5T]#(V"LJ?F65YJM6 ]'CV'?-7'!^I.YO")\-1A&].O''9 M:Q['^S@E5\\T@4XCB"Y!,X(X^KD'7>MQHA_*]\E^G2!9%9D$@F1!D-##.L%V ME6 ;"+;_NZ1W+D=0' 64#*CMI\.&KC?:K3;:K35*[AI]!#T<[NV0Q04*T'5X MN@85JI=A;!;9>3H>:7@ _^#C:'UCNFZE01=EW3,*EUTI9<%)B39.2^.F>0XX M5-9O#VZOQS<]!E9UT[B2^3\C_PM02P,$% @ (4J<4+?KS>0N!@ 6"$ M !H !X;"]W;W)K_'V9?->KN_G#^,X^/[Q6)_\]!ONOV[X;'?UK_<#;M--]:/N_O% M_G'7=[>'1IOU@IV+BTVWVLZO+@[??=A=70Q/XWJU[3_L9ONGS:;;_7O=KX>7 MRSG-OW[Q<77_,$Y?+*XN'KO[_H]^_//QPZY^6KSVK^,;FIP4/RUZE_V9^]GTU ^#<&IZ__]K[SX?!U\%\ZO;]3Z[[>^ZI_7X<7CY MI3\-*,QGI]'_UC_WZRJ?G-1KW SK_>'_V7T[] M?VV&&_"I ;\V('FS@3\U\*K!XNCL,-2?NK&[NM@-+[/=\6X]=E-0T'M?)_-F M^O(P=X>_U='NZ[?/5T11+A;/4T\GT?51Q&>BZ+^5+('D_UX6U<*K#X8^^-#> MG[ MA2%"=B0/AF(L:8 MMPQX6XN31AF)$>G=]Q>BF&G>,LV6HI94-3/0U0U0%5=:X\$P\S:UC'J1>9M: MEM!("7RC_$; TQ7OTEN252RFQB+U&&0>@LS,L$64%PI!AQ[0<2K.-]:HQRSS MEF6FI/46426+ACU0U3R.&SFUQQSSH,(V-]W2J6[RR1P_(!W5]*R1"GD,,8\@ M%C5:/:)8KAPSIH"0@CC7DLGKA/0N!)&DP=UM,YSO$WQV$<; ML4"6V;7.IS#F!-31.D+$9GBQ.'->AF0UB6GYP= 4"TU3UPN 9O:K& R\'KK!>I.+0F!S-04-UL0@?4PW6S,!48T/%T6-U()@3#4E#=;$((U,VN M_FL\0]_>;@]VYWO]KN9Y^&<1PVAV?:=\,P 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)KZRN]>TI=5<%0>TWGW[ 5)C M+6WQ_]/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=6!V2_ZC=U.J0+JC=]+XJ43P[SL(B"J(' M*,"W=P1_0>T:T8+2! _Z#EA0G$:TH!2LRF>U .QM", %!6I$2[!L2BN6-VG8 MZ@;]@=FI:KFSHT+V?MVACY0*(EW]%^E7RDM[G-3D*-0PEF,VW%S#1-#.W,K> M^-<@_P=02P,$% @ (4J<4.+XN^1U!@ 5"$ !H !X;"]W;W)K%7%W^7$T; .1A*(%6B!(T?99 ML<^V$$GG2NEI(LB[PX#Y,72G8=[0QZYLT/J^K7;?=X_M6T_^KI9;_^?[Z:3O=W3^UFN7_7/;?;\I^';K=9]N5R]SC=/^_:Y?VQT68]9>?B=+-< M;<>WU\=['W:WU]U+OUYMVP^[T?YELUGN_INUZ^[U9DSC;S<^KAZ?^L.-Z>WU M\_*Q_;/M_WK^L"M7TW.4^]6FW>Y7W7:T:Q]NQN_I:N&;0X,CXN]5^[J_^#XZ M=.53UWT^7/QV?S-V!T;MNKWK#R&6Y>-+.V_7ZT.DPN/?(>CX_,Q#P\OOWZ+_ MR[[O-$*50V2R_GCY7V^/GZQ#_6S/<@(<&?&Y \8<-9&@@ MWQOX'S;P0P.O&DQ/73F.S6+9+V^O=]WK:'=ZO<_+PRRB*U]&_^YP\SC8Q_^5 MX=F7NU]NB9*_GGXY1!I LQ.(+T%GQ+2$/S^#T3-F;)I'>?N$.8 H$@L+(1%, M0V!7Y1A WG:5<00/(_AC!'\1(7!28W7"Q"-F>\1(686AT3T&N.1](%;=!CC) M3G*EZP$2#X8X.1\4\Q,H7#R)?<.NB8HYP.68O3C%'.!2&:\<,/,(F4?+W*L' MS:)Y4*+&9_5FY@"6@FOT@%M8E!1R@UDGR#JAJ5;I=P,C-*#?BNFL,4RI<<+Z M?0%8#-[I?@-8B"4<9ITAZPQ8JXD_RV":<3+K \&")-6Y!8")R[6W10XG00=X MFR3HS*-\,JMHCF">LNK> L"X22E5>%>2-UG>I(=H-J N'S4A%T3/$X0K&X%(*O<(>B\)X8C+FASG8P0X[4:.H 5S()/FG>P8,;-=+@!'F8V"PWBUDHFPD!%0LJ"5C(#X.$E.\[:P&#AKUA8U8?$7 M4_0M;RQE!+2,4J.)6_TI VDFBD5YDDB:N(5-)+K*1&&L90RTC'32F;&5GTG* M[/3R1+@82_V@BW. (RGE8V6R,!8T1H+6Z.7)5H!*#V,RIL+B.)?"4*<6%*_D M5:ZH F-!8R!HU.@ERE:!)KZ,NQEX@(M4ZFS-'<5S.=0,&E8TMHK&K!3!8*C:[; (Y+!M(Y: %P.8=:4F0L MH0PDE%)MOF$EX_@3?I:QJK!5%>MHV:J %ZT]KXB MA((%1=Q/F%G!>5U 7C=V5E!:U[-Q#E <=(6S0*A2"%5(XX0NR*%H-RLV_W)V MVN[- 8R:;)(+A$EV%=Z5?2Y@3XR;%9M_?63-VH(NMV\&SA84:Z9$<"(7D,B- MCYV+S;S:="T IIY8!2=G0?Y&.U.Q=D2(]6;2',"818O4 L(\UQ8J%@0!UL;: M4K%N9")$I&M6@"LYUM0?*!S%'&M3%NN0@ VSFBL5K F"=LQTV2O &HASNA9 ML$QVM2*CX5RJ$<>B($ 4C",5L,\5+JW80!S)@O%1"P#S3+F2'CW6!0^,AG&D M'OB"8';#Y@C&,6F#A&"IE.H5WEB+/- B8T@]VC,C,4X:X(K.F*H'AFN(*JO$ M8T'RR&$82^J!(R"*9N-I@8'9UX83JXV'FV%ZX7DK$N591&QF M E3HT^#(+Q M@JN5);YRGH-TQ]A-;S5E4JH7U@7,' "#7&XN#MQ!/&$G->Y8I3RR$,9N>BLL MP>SSS %J0GQYO#8PM[@RL6*%-U8ICU1*Z^;,6UD1UP1SI@-PE$/6^7.!<"7Q MUS3&8YGRUBX9F[SP:'.-*YLX'HN9!V)FG.T NCP:A,X6X*"S!3CD;*<71\N; M=O=X/+;?C^ZZEVU_.)^]N'O^:YQM=V/ M/G5]WVV.Q],/7=>WA:5[5P;VJ5W>GR_6[4-_^)K*]]WIG/]TT7?/PV\8IN&ULE5;1;ILP%/T5Q'L+MC&&*HG4))HV:9.J3MN>W<1) M4 $SXR3=W\\VE%)STV4O8)MSC\^Y7-EW=I;JN3T(H8.7JJS;>7C0NKF+HG9S M$!5O;V4C:O-E)U7%M9FJ?=0V2O"M"ZK*",=Q&E6\J,/%S*T]J,5,'G59U.)! M!>VQJKCZLQ2E/,]#%+XN/!;[@[8+T6+6\+WX+O2/YD&9632P;(M*U&TAZT") MW3R\1W=K1&R 0_PLQ+D=C0-KY4G*9SOYLIV'L54D2K'1EH*;UTFL1%E:)J/C M=T\:#GO:P/'XE?V3,V_,//%6K&3YJ]CJPSS,PF K=OQ8ZD=Y_BQZ0S0,>O=? MQ4F4!FZ5F#TVLFS=,]@<6RVKGL5(J?A+]RYJ]S[W_*]A< #N _ 0@-(/ T@? M0-X"D@\#DCX@\0*BSHK+S9IKOI@I>0Y4]WL;;JL(W24F^QN[Z)+MOIGTM&;U MM$ H([/H9)EZT+(#X3%H0$2&?M@#0WLL\20\]798 9#D/60]A2!"8!D$M$H< M 7EGE6&8(0$9$L>0C!EHYN6JPZ0.4W>8-*64>H:G,)S@A"#/-, 6XSR[X)N" MJNG4=\I@@A0D2*>V4]]VAZ$CH03EGN MEFRRC:D&A#TU*P"6Q;G_/]< C#!"+Y17!JK.IJH1N_"KI\\ _.K',!APF(6>]D#<'E.+RJ_<)2AZPL=@2?5/<)7E'H/&HNE"?:= M3T$W-$7(KQL 1QC+X@NRX9,-D2OJO0>E_RIX" =5/(2#2CX:74654'MWS;?! M1AYK;<_ST>K02MQC>Y5YZTO;8K@K[HVFZT^^<;4OZC9XDMI:&B\%G\!4$L#!!0 ( "%*G% @ MCTEC9PD )0U : >&PO=V]R:W-H965TV5Y''R]\N6-(Y4=3@O MMB6?KB[>SJE+]^W[L/MS_]+WA\E?F_5V?S=].1Q>/\UF^X>7?K/<_S2\]MOZ MGZ=AMUD>ZL?=\VS_NNN7C\>+-NL9.2>SS7*UG=[?'K_[LKN_'=X.Z]6V_[*; M[-\VF^7N[WF_'M[OIG[Z_8O?5\\OA_&+V?WMZ_*Y_W=_^,_KEUW]-/NP\KC: M]-O]:MA.=OW3W?2S_]1E'B\X(OZ[ZM_W%W]/QJ%\'88_QP^_/-Y-W>A1O^X? M#J.)9?WUK5_TZ_5HJ?KQO[/1Z<<]QPLO__YN_>?CX.M@OB[W_6)8_[%Z/+S< M3?-T\M@_+=_6A]^']W_UYP'%Z>0\^E_[;_VZPD=/ZCT>AO7^^'/R\+8_#)NS ME>K*9OG7Z?=J>_S]?K;__3)\ 9TOH(\+O/SP@G"^(/QS ?_P CY?P.J"V6DH MQ[GIEH?E_>UN>)_L3LO[NAQWD?_$=?8?QB^/DWW\7YV>??WVV[WWF6]GWT9+ M9]#\!*)+T =B5LU_W(/0/>9D+I=P?8<%@"@G.@OQ(6 W AQJ.!H(%P;(-PPP M-,!' WSI0IT!C I%4>.VL%(H-8:=H-/).DUJ>N?)W,8I?RTB MIJ#6O+.@(%FPLQDZF^W.\EE-RCR;VU =DG)F85&^4%#CZH"M1-CC CTN8'K5 M8L\+6.RH9]B"*'M2[EI0(FGL8>\PT3G@,6FB<^9&-Y0+ZTE&N%BDMYF ';C4Q&7]-@MD"6$EN=8*;R5"NW1_(Q1'@5.VG.+JP?:N(VL M.7>Q4:[]QEKA(YAQL]250R; I5QQ2<=# $UXUBXO%6N8N)=JSXD**=;PO+ M7$*#PPFK)@'5#/IH$I##RN$Z\%H '.5D\A1DSK,T*)RP:)(530HZIB2KN,H7KGW'(D;)#I];QPWK"5D]J>=(#Q\H@!>N>:99?J05-2LKAITALH;. M3EK'#NL*65VI.9R6<@+*XBE%UYCP@-4@ #70I#,/EKVS(50 2J(BO@Y::DQ/ MP"(0K A0U+,3@ @$%L_::206$L1K'0! +Y%:!92 I2 *3"%GP"D0(J8^0:P M&J-1U)Y;7/2!&SEZ:%2\@!1$'1&["YSA[/O%N=]<3[H(B,".I=2\WQB/0@@CQ)-YL$F/IY<9#+> M6R :98<,JE%>.X^5*(AEH#S M(;;RL8!U* =TH=X'D#"XC@:FK*P0-4E[3BP%KG)45A^ I(?:50M&*L*.[OP MS0HYIGD&L;ZMD0-63A5FBN065Q-5IRLI'<"5$EOU3,8DS[9>U:Z3,^9;!GQK M*N4,Z-%L'0#2,4X',*TX47AA3*R,.AUF MGE"KHT&^$9-OM"&]+?-'&XBC,C^$F:D9SY)AY(PBO39D_ MVGC8^VCZR !V$YV>QP[!)+4*+1&S?;1L;XK\$03-',0$UPCG,R>=U'4 &%-L M>HYY/X+86I?Y%Q%56K0WH.O0JOI$S/C1,KXIW$=+^)'9. S[$AK6(5A,K>PD M8OF(5CY,KA]!<<6;:&@!8=9KT#EWOL'$$:M'M.IA:O81Z$(HSNQ7T/,NK20I M8F&(H(6@L+H(J!J9(KR :M#X M5(EV&F0)]L$(9$RJQC;@3YJ@WH'WNA*T #CR;,(=9$Y"JSDF6-($ M]0YT?"D@@0E2BN[_ MRQ&U6TIB&#GBFW?,>B)FPCD59X+5B+Q&J1MT&8 $) MXMF,'^#J@=-Y 8()MQ_1:CRC!03)+!RJ]C<+#8)%1*R(C$4F/2BK#^(OM?CZ M5E@@!&4.NFDV%T#]VAM4XV\=:4SZ@NHK1CT%\#D[T<\\+!"NL-,RVR%<8FZ= MZH2)/P'B-UHT3R!IH.QTE 5@(=5 O+%=$R;V!(C==+L2XF*Q]5& JXY'_1AK MA^PE:?;Z$B;W!!YL:C6[$J;9!&A6-[L6"=%G]':3(" 7UXK&$J;/!'("36GS M9./]Z-IWPBR;(,OJZ#DA]OQ!IRQA7DR@K:J?+)DG&*EG;NWIQA.GH#ACFG() M%+U-- M MBD'+34(-F&"3:#8;9IR"9!GKJFI.86HWA*=B=1#];VP&<7#8LKI_TQ62<4>M6AQ@9/'@C21/: L%2 M-EDZ@G$HC?G.F+$S8&S3C\L@QG:FA =07HK>>!V D0^M\EW&;)U!*&XZ<1F$ MV$$WDQ< 90?7 =3UX*Z]Q@*1P;L*K194?]4I]?9OF# PF:;H=<03,^B M0[ 1C>MH?Q_8Z+;S]>+?I,XZLMZONY_]2=7A#Z MQ\SI?:7?EKOGU78_^3H<#L/F^'K+TS <^NJE^ZFNS$N_?/SXL.Z?#N.?H^#L M3N\)G3XQ[O\/4$L#!!0 ( "%*G% OHO82-0< %\Y : M >&PO=V]R:W-H965T\[^ MD QL W&*H@5:($C1]IJQ:5N()*HD;:=O7Y*R52>:$?;V^]@]-,RR^;3>[_G+Y, S[]ZM5?_/0;.O^7;MO=N-O[MIN6P_CP^Y^U>^[ MIKZ=#]IN5NI<6FWK]6YY=3$_]ZF[NF@?A\UZUWSJ%OWC=EMW_UXWF_;Y?NO'1ZCC*[7K;[/IUNUMTS=WE\H.\OY9" MIR-FR5_KYKE_\_-B\O*E;;].#WZ]O5RZ:4K-IKD9IC'J\=M3\['9;*:AQHG\ M\S+J\GC2Z<"W/[^._O/L?G3SI>Z;C^WF[_7M\'"Y+)>+V^:N?MP,G]OG7YH7 M1W&Y>+'_6_/4;$;Y-)/Q'#?MII^_+FX>^Z'=OHPR3F5;?SM\7^_F[\\OX[\> MA@_0EP/T>("DV'5W]?3FRSO=7QM;J8GYY=B_MTX M^7Y\]NE*I H7JZ=II!?1]4&D;T5'Q6H<_G@.1>>XUI/#D\?'>SA'/Q\?OI]C MQ",$.$*81_#?CY#P"!&.$-$)R@J\6D2/$U"(U0_G :(1@[Q:0IXF@*- M0-[3$HY0&E[1"HY0Y;RBIZ)8D+.(PW_@#GE5,@:!1 QN!4+P033'+U"E-SA^ M?R),BP!*<9"O<4PQD)#EN%3%3>,V5'( M#GN',1::+(8Q%@H6"F#X5,4-8W84L*..319CH97!L,=8>+!:G!H&*FK88W8\ M8$==0<; 6'BU&";9"H:K$\.G*FX8L^,!.^I(./(8"Q\MAC$6'D:L$\.G*FX8 ML^-AR*K(&!@+;XE9'F/ALX(64%'# ;,3(#L_AE>D4B'I-6!X H)'R'H0,#S! M D_ \(0L>)!*A2300#8PB!XAH2Y@>H*%GH#I"5GT !7_8\+T!$2/L#$P/<%" M3\#TA"QZ@(H:CIB>"+D@2W[$7$3+/B5B+F+6/@6HN&$,3X18L,EB+*)I8T]V M]GE;>\,^)6)V(MJG"%GR(\8B6O8I$6,1L_8I2*5"UNN(X8EHHR)D"4R8BV39 MJ"3,1AC8J2Q2UA+I)EHY(P%REKHP)4W#"&)P%X5,E*G,C_ MO"P;E82Y2%D;%:#BAC$\"6&A9#%/&(MDV:@4&(LB:Z,"5-1P@=DI4-92DCP* MC$5AR5H%QJ+(REI Q0UC=@H4M92-@;$H+%&KP%@465$+J+AA\L]@%+64)(\" M8U%8HE:!L2BRHA904<,E9J=$44O)9$N,16F)6B7&HLR*6D#%#6-V2A2UE"2/ M$F-16J)6B;$HLZ(64''#F)T212TEX:7$6)26J%62EB0K:@$5-XS9*5'24I*T M*HQ%94E:%<:BRDI:0$4-5YB="B4M3Y)6A;&H+$FKPEA464D+J+AAS$Z%DI8G M2:O"6%26I%5A+*JLI(54ZDE,JC \%8I:GB2/BI2,EJ@ECE6(66$+R7BUXTC5 MZ%#>\G044C8Z2^(21YI$EY6YD.R,;](X.A2[/$DAXDCGZ"S!2QPI%%U6]$*R M,[Y)\>@@*73&I'ITEOPECO2*+BN!(1GWS6IYV,M[DDF$%O.F9IY5\YG=/)*I M)ZE"6#T/^WE/EFIA!;VMH6<5?69';RKI64L/:_I 5FQA/;VMJ&=-?695;^KJ M65D/V_I %FXA=;V8^GHAA;WD-?9(QGV3SEY@:1_8A3>DM1=3;2^DMY>\XA[* M-+!+9TAW+ZB\UT!?/H*+J;X7TM]+7H$/91K8XDLZ?($E?J!3)KR8:GPA/;[D M%?E0IH&M0J3+%UCF![8PD#9?3'6^D#Y?\@I]*-/ 5B'2Z0LL]2/[3">MOIAJ M?2&]ON05^TAVY@H[@A7L]B/[3"?EOIC:?2'UON3U^TC&?9.&7V!Y']EG.FGO M)9A"&^GO)>2%-B [XYM !2O\2*^I)+0$4V8C+;Z$O,P&9&=\$Z90W:^1CD)H M":;,1LI\"7F9#6_1CIC M0DLT9392[4O,RVQ =L8WNU091;;(8@#I]R6:(AMI^"7F138@.^.;, 5+_LB" M"VGY)9H2&^GY)>4E-B [<\$X80I=$*"1I1]2]DLR!392]TO*"VQ =L8W80I= M%Z")Y372^4LRY372^DO*RVM =L8W80I='J")Y352_4LRY352_DO*RVM QGV3 MBP0$726@B>4U<@6 %*:\1JX!D"(OKP'9J>_5F]O;MDUW/]_8UR]NVL?=>)0L MWSQ[O'OPPWSOX.I_^>'6P]_K[GZ]ZQ=?VF%HM]/!B[NV'9IQ,N[=^(?^T-2W MQP>;YFZ8?ISZ_>YPQ]_AP=#N+P^W,ZZ.]U1>_0=02P,$% @ (4J<4-7* M$]BY$@$ U5T$ !0 !X;"]S:&%R9613=')I;F=S+GAM;.2]6W/;5IHH^KSW MKT!E.]-2%<0FP'O2TU6T+#OJMB6/)">3.74>(!*2$).$&B EJ^O\^//=UA4+ M)"4[W=-['A*+)+"NW_WZI[I>1YM5\;=-?EQN5NM__RY)A[WOHB_+Q:K^]^_N MUNO['_[XQWIVER^SNE/>YROXY::LEMD:/E:W?ZSOJSR;UW=YOEXN_IAVN\,_ M+K-B]=V?_U07?_[3^L]ORMEFF:_64;::1R>K=;%^BDY7/$)1KO[TQ_6?__1' M?)0?3]+H0[E:W]7P[#R?^S^_R6>=J)?$4=I-)O5=5N5UXQ$UH35+]/^\+U9Y M=+K.E_7_Z[\@BSJ&=ZIL :_-\R_17_,G_[ENMYOT1H/Q:-0ZY=73?>[_F':/ MWK:^<)'?%C5,2XN\7&>P0/C:?_PF6]2-O8&IVP[[?_^O_X7'W7)N;XM%'IUMEM=YU3RQY*C72[J- Y-7U>YA M*6?9LC'_\?1L^N9T>A9=GK^?7OS;_TF&W1]/SXX[+:.=KF9E!6= AQGS:49E M%1%<5W#!Y;PQQ7_U6P:;SN< 6W6L_H@(@,Y7C1$&_0&O[/(^S^E8\-5'BWR1?W=S%,NL[@GG8.Q=ML'N*N%S^6]1K@ MY[^*^^ 1G25_Y0TF)T/_MZMB#?LM;Z(D/;@^C"[SV::"L1MK*)=+@.\POJJ7 MHI,OL[ML=9L'8>%L>OEF^A_^MU, XSF!\MM%=MN8=E-5]%M1SV"#O^99U0KK M1T=)>M1+6L[JEWRQ./J\@DN"/69UN)"-,U3@& M185DS8S-Q>J6X'C3>/S7YD%J-%CG539;%P\Y[C130VY!7\ 1.)+;L@D][[,* M+F0ZF^7P%#PSY^=;QCI9YM4MKOE=53ZN[P"Q$[Z;3CRU37M[!U;1-=%9&5U4VI_&?EM?E(@@FZN092"_7Y>PS4 ^" MU>A\LZYQ93!$ZRYL\'H+7S8N)D0\_;>%% ???_MK.\,!XED7Q#W"]%\_Z1Q4 MR\.O-S50.2!VQ\"" 82:>$Q?XV(!!U;Y(HBJ/VV*FQR._!BQN3$$D1X0&8*T M)CD:-(_J?4D'= =8U\)GQKW143(>-[#W^/P,6,?IF^G5R9OH]?3]].SX)+K\ MZ>3DZC(ZBCY=OHD.7AU&KZ)B%5W=E9L:+KHI3M@2Q[8?QVWD)ZOK?%W_T/@Y MJ^](*)KA'_G?-@4RC]6ZL8(+X"-5,4/DPT<;-)"1J(ZJ?);#&-= D8&GSO,X M6N5K),[98E$^9JL94>I7O30>]7HT\ZMT$@/_@A7B+["9'$]7;XB>P6W','9] MGQ--632P++" &$3*ZV*Q: IPTR4_.P<&>5.52WAI073E/@-RUR1JIRM@INNR M"OST<[: 0;(YB(G1.ON"TY!)9Q6R B;MGRN[*'[.J=[7Y6KHQUW?WXU?1]-+R^!X+51)]@"8&J!N-<@49=WP"2.0)Q8 M1M=E!3P=V"!LIEC-%AOBJHMR=>O_#I15K8I$F*:.]S[T%G"P>P<#S#BM!.<^ M>PIAN[7L50GWT_:<38L [G90(CYT&:KQ*[!&H#UKNG2:M!7"B>H!EU^7RX 8 M:)$)ZV8::[E':8QN ,31K8]> >(A+@/;W3:@0TFV#>>0DRT/PB6!ZCF/'K,* M%;RG: 9J1N.I$"@TGI%)GB+0YX&QS."<,T! )"GW)4L_@7.T",^69;XO0=R9 ME22$YJO94Y3AND'?;@AAQ0KNCXY\US':B+GM* D[WY].7Y^^/[TZ/6FB*$BD MA1 <$A3T,F&TZ. ,P"Q*DT/O-33=_%#?9[/\W[^[![*75P_Y=W^.&E(OP413 M*K%5-4#!58GX$#T@K_T!#G]1P)+@6+/-&K"L^#O\R<_&T6 2)^-N/!3:#!][ MHR0>COMJM (UICES+B-71]GZQ93["@3)>@,Z5(!LXPA <9;=%X 73M501QJ0'$W/WK0\NTTF/_B8 M(=+L"1/[#O67T+6,^0UK64L9>PHEA3R]XTZ(06]ZV<3$V:!@=P%G,X?XR M&.L>!3!\P"<#+B;''@[B$/S-GN_9"+OE91\A]Y_5OL++*_CGP\D9@,3YV^C\ MX\G%].H4'GB1TM8P/IZ!4%GE9*-KBCQ'B" [)(&CB^V_,X:NK&F:9UR38-NZ M#&&SWF,-$;)"[@5BTTW1$)*,B*!4AJ9XES,-4 \TAL]7.5K$D2QF\V6Q$E,U M$*:V5T!7!5HW8\5V#LM>E*1$M+[ '+/4BP79$N2BH,#,9U(V]A5\^)3&86%+ M7@E("3P[SQD=J $/&R=U*E12S=GZ.P\5%#( I\2^"9![DQ4*F^%^YUKH"V_F M;5GEQ>T*9I<1;E'^.4#NT$ DHZ7H?06?XZWO4)#5-,?GK3QG&D3VEDO)Z_H'PE+GG$"& M6%?%]6;-K*%D6AWBF.U3-<8(<.O&;M4>-44':G>=U<6LJ=X0307U$/=-$@/, M1#; EC>"8\^+Q6;=--!L';WEG2W$^_C\P\>+DY].SBY/?SZ)3L_@\\G+^/KN M<5N4&D>B=(SS?Y?/;!C!Z3RL8B]#F'M6/V7V3PQVAO>MVQ<9?6+PW Z'H[G&. Z<3 MQI1MY_ABG E-_Q+LV08I/TW/WH%(>GHF$NG^X"<>@:#;2DLZY##8HB-\%!WA M>(>.<+*'CL 0[1[:Z38JKS%_^OPS14GHV+I$Q>2"?-G_\G6V((,=*W=:&&MX M$-5SEFBX\QU8;$5FCP-XC/XZQ'NDB]#JSTE8_.69 A6F/\IL;,N5I^DC&&P!?^(IWA;N<7G["@?I'W4GT_]F?MEU+ M&W'Y \@?CR"QUG?%'N1RRQ&14^T&Q=(;(^1H <^!B1"QL]7P/4^_X3O:X_0; M[USD]QL0O3,&H+76Q(+DJ^UAQ*'HH 76/E;E+,_G]?[TO66_C?O=8[^-=YY% M\WW3PG;*G^P?A"2L)'S*SUEB@U21JU/3 K18J"N; [*$)W3U1B8BYKT:WGOU MG#5.+W^*WKX__V5_S=NHG12"$/8K3#55J-GP#K TPS B2QI'Q()/Y!P%#?>A M0#??]9.E_VV9X$T.#')6B(R&ZNL271%_#])GI9W-B_J^K%'%O,$9VSUB0>'- M&Z!N.LCV>:VPM;=M+J;E/=!]>FY!RW_FDL/O;_$_6B_ L^3W60#MG+<\;G0W M-?R^"MM4^_J08.>\6 M]_*G%1#%!5FX+76;+0IP6TS[VV^(HA]R,JM:(,N>+;R:;7ZW5B/E7O;%L!JT MQ1%A^TK"&C2L>KW(U>UO89UG(90]$&7R,(B\80/&#@0'J7E3K3R,H:MIOQ'- MO>BYEV#=1XME;D4WI7RY;N!MP^U!+]K7_^R7BQ5P>T*RV2(KEL\0@K5/GF\9 M=)MG@D 1N-Z&3*M];5M P-U1'7)5!X2>[$E!\5YON).$W-T[SJY-4MH^T=[R ME?O:^JZHV"K]%-WLXZ_TSA"IVA&1S^L,Q$#RW-X&(Y+?H"D8]4E23X#ZK(V; MF6^X;!(BY_AY?;E0Z_)Z4=P&N7/;G:&Y ]4E\L+=-V/"/O);-;&1RI%V9[M\ M]>ZQY+9:1O)QB_ZV94I7P'XFRMP$T*'!<%G?0HU%&8G)YL-_M]DJ18V>VVHT M+B1N!*411:NV1Z(=[_TFRO:H"U[GM\4*#11T1O#%4YXU;M(8:M4ZG[=,I'%U M7=P4&(U0 (ZL%!^^RQ?S([BL(X3\K]]-CH[M]GU<(H,F; *8!?(] X%B4^6: MF-Z X ,[TTD+[5X(BE92MLM,HEC$!XT"2\ I8-GN0T3;61MF>\PW'-B]4O+5 M5F:L3GB6:9[19$E()K8+F5OCT#B 1(*/V#A=;@_)V4NQ>:G/>:N%:J^I [XS M!ZI:XY^:#UK^Y!:-L"W8- X"--#91[1"$RS7*BVE=D"U*6=>O)N>G?X7N6HI M .#CQ>G9\>E'#$$[OCK].13C$@Y623K17H,%HR ._NW_C-.T^^/QY2G]E?QX M&#UF!#B2'H*>VTU5;Q#$D'7!'A?98ZUP]R,280DVE-P+/(KSV;I$A3SM=A,^ M-::M (EP,K]MJJ*>PQ$B_%\_2:S.!DG;9@4",XVLEWN3S\FSJE=$A[Q9Y[%Y M+HNL<&R=UU)'T]DZIK26U\?3.&([&]J!_[)9Y1'!8W?8B6#W+(3"VAR#U<$, M9 H5VL+3J0/CV'!]:/.\+FY7L7+C\IZ7V6IS [0 "1?C^&-V0[&:LWRQ8/)H MXSX@_'PS6]<=N!Q29^#,D3C6LE.)1[_C"R+J/G?E<3UOQJ((N@?@'Z(S*]K? MFD <9A5QY%K.+8X>[XH9F!:18YW :A7(-5S?N%WF79&GPL\PFDP M;FD2P^G\!A#AW#,\2## GEM-,J?WH!;/BR\1X%B#"7SZ\&%Z\2M2*1O;CL\_ MG5V=GKV+/@)).P[$J:6=:-]7HX/L,'J=P26P#@48OQ+OXA6 @V,B$+$'K]:A M0"[6#XMZ M#HPQ/;J_'.[B\C!PH=*'E8HZ3$$13] PER@2E9O;O YBJCAHP &IE0I&+&H+$&-@+_< MH!=&>R,MH .1#[0I"9$128KBF2*Z^Q*-:#R'.#/BB(#MMBHWP UH/9B3 T\O M2Y9C":Q+M.#A90%_Q$2T'#@C"%<@PR/RSXN*%!4,NY&_57@O;&69?VZ+JMK,N^1O()6N1R>A $/9H<^2B*YW. MQ[#*5XK(BV="8Q"3P*'E4,PUHI"/B^67EFC<1\Y,\O9J#0LJ *AFK(/0GM"> M7BZ+&<9[D#I!+AC8!QXG/A4\4CY)=8UZ/B"1"Q"82F*ZA+UP6M;\2H3"%\3% MU[@$/IBU-E.\;'C&LL!AXRE7"*MDQ"QM!-23(4$SP&_N R3!>P!UY*[T',S) M.%^N8"T(W\';O0:T6F9/:#_@QX-T,2IN)((:KGR9H\Z)ZYFA#1KH,8I8\/AR8(YD*)69\:@MY,P=*)GB4O'K$> 3A^]+1TX^$/MRAN(^4VA6D0LYEEH M[(J2;JQP*O^"6 ?G0]"XX+?%-B(7UYA"0"!;,8( LI*="AT0Y"2(,' ><=X@BW*H!5MK19(]RV M+28@/RBOT_/DA^;"]Q0BD(%]8H,AVLB7)$ PS4/A5AM7]I$S\2$$2X1[(P2C M.*M(9>TL7C%?,S'Y3>MZLY0@%+KXC.V,3#_SN;8^(>4).K=BW]2EDEC6+2\H M:QK1J=!5!3>LX"BT,!4^S?8DE4 Y!XT=**S+G>\I#;N#2C:C?[U9T(TBDYH7 M-Q@5(CR,Y"-U6(#2%LNR] ISG$"%%TQG"@=L-!W:7WN0#45V2 OBAJ<[NGKG M=CU6K1FGIBPKM%ED9'.3$*=B=8\\#_A1.;>2%L)N6MMSR>'CP?Q.0\]=7RR] M0\;P6NWMIJB6D3:ISTQJ5.P]: &8@BI@)H;A#?*L. MCA%KXJ^W)(,#%P%\X\F-Y*7TKNG%N5*[&%GP!,EZ7VO:NB3W0=[PO6ZVMB@2B(,#V5G M+(,BR&=H/,GNZEN2_&R T0#(;&$>2C3. -">V&]BG'(,P70[!DWAB)75R'[8 MT)5;W,,1T20W=K]NB0*,,MCX7/D+.'P3%GJ3%R0754PU#H"OMQ8"")IFMSQ= MB:UV;O+@F%O".53E%Z%#9OF=+8.)I4Q;?$N4BE=SH1]+_H"]L*9BQ MF-^)?"MXE8NL4VO:K\3)ZVSUV5DF2@S90U8LB$#=N(*5)LA*?. EUT KI5(- MOH I32HE?0&2#XK#>%@DF,2VI]+)0::MXWHL%W(G^G2/@,E'H,74P*A5BS/4 MG0)6Y\T0BZ3.%Q9Q5-B"C:W73TP,\ U:7,Y!V,[Q6$>A7I#3ZI#YN-O[\<5R M[4%^&&VM(;'C5_OBV0J5*2(NGECFEEKE)D%,Z.'?Q6+(_ F/%4=5@H%*TW;M M.QNJO]#&&U5$&PVN)R<:NY4!,W@O%G0S#RA&A-B\5AV-2 G3 @2)DZ&H;;*F MN+4:"376Z_QY>U=XHV0AD5YPC&HNKML VS<7U(G.Q3JE3]"HPFI&O2^6/.H- M"OERE[$Q*M1*O4?]D^DLPVO- 6;*SA6C;13'KIV]"$75#F'^54.2F O))M(6 M@M6)7LN218QF?O= :MZ3M6:T$""B&;LS&ML^XJ<7(+XZ@S*BI,!0@B_9= M,\J4B_(6#BNWX&M>ZN9*E"^==0'%6"E9Y, V(%]U+- M%5\CJ8A@7K: DU$U&R;0ZLQA1:P<@?C%&$7Q6_CT$K<)!Z<>=4T!O'"D6M;1 MT/+4\\C]@F#\J]K;ML;HYMR_2%N'#VJ7'# M96"&J@;,+:K0-6_D M2<]:Y&"\EO >U)>@"@1*Y7G0!XC!;.-@E$U[L\F\L/(O4H80$H]J82-^DU&D 4N[>7R(A>5,IZ""0W7EJ]S,<;,D (VY[;T[M!E&/H+ M @^^.!/M @W=H VL14?Y!L)I<1BYE;G\CTI3,LR%="8=C"7W0#J@J)K!L "X M$+2(EYL:P?-6*%;#Z:%H?&16'&C@PE\ESG;CB5IE&V MIBR MN!+5U#&?['.38LC!9OA0L06_"(0 =8! FVVP^.@(5FM80$\$20W' O?780BBH4( KT6RH+G0D=VES7 !WD7[%^@J_7@#*SFM,? MCZ/)J'L4]89=LC#0UC/QU:&*PX0:QUK3&I 0(FUDZ]'5G4)CT8H(%MIW9YQ! MR.(#N1CLEF\&Z >9KC9,NV&!,3H]]484HC1B/W&JP'6Z@AHZ1#$OK)6X<7A3 MVS7K51@=;)=X$2N +HC7H\MO5MSS%NY$7B"22P!:SN!MA5WH*\;0M@X&654E MD&MXC2R*RHO1B))MW1=.C<[(VM]#.9.(CM<90 M;R]*^4>%W75="_@RY#;D-O>NU1F_8%$8>L*4G\"55!R^3?C;"IX3L0XO92?) M^'JIP!;YJ_RAR!\;=)'HAW$ZH'4' !38R@/'>54J-)]\=%\2:;S8M$CI U1C!?6Z,\N3?U,^Z7TD\=*[1WE7S)4#W!#*YW$BT&SZ*]V M8@1D76HPQ?2LI;,:3S$_<.&\MQL56R0"CA4D4HD @.=JP"M?/115N>+P_AC# M@Q;E++.W!(5V7@%AS/14"I6):6(-8F-(FE'91VJ\V_+E),(B)58XN@BG)3) M#06&^ZO 1 ';N)$UDZ^>GB,,N4"$'@D!KSUAG%TB?,P7FZH*A" M-QY'8YI@HGW4@0C!NRTH#E&S^,:1:""V@%<.QA2-L\RMHA,[P?6!42UZ:V0& M3S_7,L/!;XO4'6F6EYLC;4:ACHQR+@_B>WF0>(07?_W'JNS*T8K:[L*_/,+91%!\T(U$1),Q>7%>2EBVWUCQT%#6EYKM6 M%1/IK@/^3?"8KLQU*].*G84-PK4R@QB8L$T?*'C!#4DP=YY_ V'VX/-A-)6+ MLP[T%S]F76ZYEI4HCA-KZK* (HQ/*'=6-N1V1I3$C7\NJY/(0&*6 I2X$@&5V MRSKBH@WP+<[)XT7? H"MR)KN "1'G%EAT_RX1"CX:H&VA?B!#-=E^5F%T?HP MSS.+]"2<#24'S<<.6-PC+'9^=;<0.W>MT((RU;RD#54.]C!V+".P!'U7HDQH MN['R/!%H65'T92M%XF,]$&,^?SS4L"DP0 H9^LXH/'H!^BY 0_Y -(H)\?IN M SNCW]$D!E3K219M%"YEV9;,"#L44J$"IZDT((B >T'&=<.[4?M[X.AC?YBR M"B*4#>)%)9;F!^=8*.I 21]XY5%5<)RLH; '"S)U;\G W?ZK0[I9-N# GW*O.XQ[>]H 95'RR0^J*GV*/B')CT)&X2]._9U>Z$O%H\R+74VH*-95OE M4% +]1% X8(EM0&7\5A6G]E"*[H1TSSE+"$3P+HVMOI-G?N:HK 4\GQ6DNE( MSW-U#C;]UA:;<4H;D9<8"W3R_6<88I!1_X@%JI?7G*JF&;?.S E'-?Z@64G; MOZ\WQ6).]033+J=Q1N]1%R,K#6@V5?D@\1#G:E**4F(5F'QMI.I1T!(C+^RZ M)<;R0S8#K0A]SVKZ0?1V4ZTH@"X&P?P+_E%[@&*>Y?5]*->8_I8#OJ/Q7GVM M'CMVC?5.] 4E#P1:F8@EPB>D%VX=V ZC@B1EOM%1!3!ST M4M26\1O9ZQQC:T"(QB 2="BXVKAD2N>Z%%CE+5F0Q,9-'%+':ML(92OL ;"Z MT0R"%Z5.#50Y,4+?L1^ R1YI";<4-'2T%&'(22BN M2MQ8>6^*+>PRJE*8K M%@^XN>%([V3XH_SS]O1*1#/YYQ!IH>_:Y#BR6IGH:G:,"J5I>#SC+5PM;M @ MZT=];$VS@I8[O.)"1 E95&'?E^M*;LJ8-@$C3[$XFW6JH^=S[F! FCIP5OXY MPUTELC+,.PPG1#A!?>-*/$BJA$A;[%75OF!K( U BB51645U'.9+.E$(5PH5 MY,\2+YWU(TI8;',B_(V-/"LVER :\5C+\L$QN12$AV++SZ*Y\E/@$DI30[7BS?B1_J,YW:$)X)S"A;V6Q!6PK M+L^SGC2(IEV,DK1G$^H#6JSUHRM2*YN0(H5&G!._0)L 2%HSI[:Y&]HM\%TU MCU+]E"@)\+AQKOH1_==!B;I%L,U:V_>QY_ENMD5K.1MT2X[[*=_I7[+5!D-S M=:D, RI*::;)%2;H^2FN'PO_1$H_PQK>%"VK$G<^7ASK>@FX]K]DP&CI!G5, MGTU05"EN0#[2(S6>L$S,B*=PX*L%C7N.@ LVK&M&LQ.ZLIH>M$JJXS&563S3 MM@HP;0YDO8)88@5L:5+HB(M!GXNP8W)VBV)&"6]<)5N8M.Y"47FY[*K8J,4' M,RMR3:>.2SC?EH, NEB0?6"N@HQM*KUEXU[0I+:N6Z$54K-W0YX][YAE_P#W M);D-YL:UI,] []\+(*'IFN4RC36>.P2HW:BI6@=968-T'""CHA6ZCD+ TY> M4'9^[_!X-TTZ=E&@.A*S6L85@%S?',5M6S.[W$L*CLSS&9%(MQF+&][);F\" MF".5:;P'P=!;FN5 M1$&O)/)$?I RLHW#7T>R.S?N1(HQ/V-;C1]+/FI$E*\;Y ]>>]6+A^-A3.UC M>_PT]J*SH%$Y+Z1XE87J?NS3P=^ AN_(6W647XX84HYM<4?S>6HGGA_4T!R2 M$62ED+(DVXVU 6T!4+XIM$*9+_+?,RDG&'*B 6QH2-[@HC\C&P7:!FDZXBM\(ZMJ:M8S Y:L9DQ3?" M+AKA,_;00NMU1-24@$K8$X7%"D^SXV/L 3A!0F5#$1U-OEK;M@09T[L("#(?S)/$P1KJT(KQ5I8&4_Q-XXXV0M2^308#(RU?M"<*&[=[)>%7 MCBE:1^CSD34]%8HAVI60;B5L4RM,V?Q)G691.9X)"LB5(&W!"$H=".? ;MFE M6UR&"_?8YAS*KJ0E6H8L,IN(U<[XRCA'?"8&-^4WM^9J)K9T IE#3C,XG76S9AA<:LW3ARF\; MR2S B7BR#!JUBK#EW.,M*A$*ZG,(P:=AMUK![6.9@B7W3@6/+(KMEHU%2WJ^(=& M4"]Q:S$'6 FO9+E@+3Z[K?+<42L%'I;E T>>M=F^=(U Z]SF.14ZH7@/!.VM M&PO4$]&$TP"KIC3VV *1CFX9J)&RQG@X%@)T*N#.C DTQ_23[E':C7G]T859 M_KE5(TJO7[]@"F^:[R)=O4@7?G0S[IM\*C.%8$0SB.",E.(MU-,NJEE8[@E. M%<6(TW)%PIM3^\1JOI5A*CJEX4H]!V4=]RJOA%=CU=ZRKW!67V"V9*L!\NB=D.?AN>OGIN\/HK.Q0S?"C;AJK:0ZN,"<( MK9:'7&1SR10-WR%CYG>'FMP)G3&]&72<+FW>MUJ[^YB,ZO,G>6D MM.N8T6RD5JB2"DIS6B'*6T?H +X47D4I/X?720$'75 7?C7Y,>8>; #I1!>V M]?S@NXMSA$1+D=Q25\K$SK4F7&O77V,1FAO"!3D-/RP^Z>>^[Q+3UG;1?\ND M:R=S/6_]'<8.YRV"-ZF%,]_D?F*4KJ$53I!W$?M'B0>5 B2S M+ MEM52PY%JVY0M+=Z9A&5L52YTS!0&8X2@>ZOP MSNC%8/8>;\Y1DG7]'F7#Y=IRJD312M7#H"A[A9=1 S$C(U1JD@6(?/[)*'.V MTU/7W&4S+Y/_A:5K*%'0)M.-&8K<']<&Z%THI]5(=G&PE +%6%!KTXO*W3 M>CW:?NV%$[M"HU$9[&*G?-*EOQ2CH9Y[9-(^*;11*7**4"A[LBJ*H(AI\HZ= MH!H.]Y)("R(YA)-/JMB"I-ES"QWLQ8 .>>HK0""$V("" 69,J)WZL<0>B:]5 MZ+ )>4;H%%!@_2"U45R-QF^F[U.5N(1:D.%[K< M+"WLM%/K52ZU*"%/6O-D#Y7J4#7G$K9MK1 Y*ZSXHN.? PK<[BA2CWX0GRS] M?E[J>+01@U#)#FW0B]*:EEW70!@FIU.[*H" GH2$AS!'B+WS0]SSYWC>$ANN M-XN4>_[OOP$4KO'4=95WG0C>Y@MO^.O">=^>CB8.>*;IF/V Z1\!J[V_P&OE M]REJ9O:6,(;0_-Z296Y4[-W,><21C:A6&W71 MT#XIS)I9B^" (>VK7#IR 3!FBW7A*#AUN:EF?K(?N_?8E%R5UUSSCK+?+*G& MN&QML];:!):(]H]O%(0R%()5?=1 M=ST"&WH==-E,4]U0AW#!YW5YRWYD16:447))_;HDG"-"%WC+E19 M/5'M!98#U:_9M:L)K%KBL4A6#9C0K4>W%#ZRN^1I+1>&(+:[ 96G*E3HK!K= MXJN29(FQ2LYZY8EF7J95V%>Q,FEMJDO^^-NV4^1T^R=;LB3;S?UB4ULU,C@% MH5E87$5.R9$%UNJMT#*_8]ER*<>,F>U5Y!>^S/R#>Y(@*(K LFU9N^=5)324 M J@^X34N5454+3JU%%?G97&RA4(23G!=:V@G2.!ZX"IA@8Y>TNU\LQ9U"+'8 M,I$1U0IHCQ59?DO]'3DA0S@"IWZ=XX'6FQK'0I'EGJ363)7D9XG;'3 .W)PJ MC-_(H;'V(GDB%+M3K[<-H)":5GI3W*RIS[V1A<> M6RJ05W0?PUI9G;+@^MXIAJZGN\K;Q/8;H%;_@ C5-8F:("8D@7#(Y MHPQ5/H%-;3JB!?9.=AZKI'8F_-5P8&.Q:C@06]@59X6 >+N$U; 5I+%R+HC. M[$B$>/S94?Q"CKA:JOOXJPR5S?.;J\HR3(D451[UX/$PN@A$'/CP*RBG@A,4 MM\1&"S55\6R1(]G2KYB,M2 N0L22V]I7K-E8(:/]CE,M#$U!$&Z^ C MMB;JE(V,M1 ?>JG1[-.;RB*6H0'H$IPLJS6)[,6*[7@8%J3C"W0-ZO(:<9PE MTZK4PH19E6EAIXU[1)?J.Y5LBC$[Z%E&V9%B%\ERKRT?7(J?K%D===-V@QJ> M2?K6.*;/*B^6U]C+2<52V+'V:@>U) $4][H(*3:I,&5QX1IY:&.X,UM1IB/1 M3[G8^1'V)I$)4")62Y0N)@ALJ*H$K$_WV [ G(QE#UY)-+(*H*\4O="-:Q " M\ES7/,HR$[GA6R+MGJ6@LG'8O+UB7-E\D65,*GWO!/I:4 MVBBVH@,N5"$>BN=8L!*E^]CKVC\*V-D5+*]XR=$V@+=)UZJCMGVA$JJJ%M M"]9-6+5&0IM0+1LT0"D%<;-N5*[G*E:D^C>Z:L22QA/YK:/,DWXL7*?1K[GY MA4],2Q4:PS34W*AJ;ZFJ'V^D*+^6<;52Y?9,TI@I4K=!P>-RY$@8$14A<*41%L57YDK=34>->Q9,%%:/,& M\VMMX-C:!64'ZW>ZG&T=R%R:LW%C1M0%'-BYKBHFL)FAM;L+%2O6?:74(83: MP!B@LV6;<"")E8QN69)T(1>A:]SGW _E:S2=; "9V2A;531C]@I%X$$H=ZQL MS6Z08%0M;4';^TR+;3 M1[N^KL1>AM0ROU- S,T L&K8M1JQK&H[U5_W5[;JCN2J/RXOP<)J4[WA&5>V M9R=)+!:5K\VT3D-&JX"UA 6W #$I?(1_,#QKRW#@>I;8Z1K\VV9^:Y+_3$"\ M\HY$=F=+ZVA<8T!PU7Y:B%1"+=G3;I-TXV-'.S\L@GGL/%MBG0NGK)O=+D3Q M%[>II+TCT1Z?MZWG';2]RR;4.<9LIS2_JDA)TO?IC46NF'R93(>5Z9;$1;JK M/%O;%7C]'A#J^"V[OVD/%6 :;"NFP#HS%!OYG2@.LN-0KHO()9CKKLJ9<-8^ MU?_CUJ>,"BRVT]%;'3[U>3\'W*U2'U9YH7SUIS^N__RG/];%G_^$_ZW_/'W_ M_OR7Z=GQ2?3V_")Z<_[I]=7;3UJPO_0?[X'XN_V-MEY2INNM7X'&:[K8VF\I M;FE@8^#$ZE?%;9940^6]9HFEK=-+\H*XMKI43]BC!,)S__V5UG+27(N.NH,U M\9)H.?[[KX)_O<8BJ2M)*-.VIW08)S!$+XTG_03_&?5ZYE:E*=0!PA]HTJ#D M>89P=KX,XEY_$(V'D^@@B7OCH=6-#WNXK//547D#MX(E1M#2:88_2$;]P^@@ MG8S@_[WNA'I4Y]@-7"MO@C1)/!PDT<%HW#W$6?J3WF%T##B'JU$JA[N+=!(/ M8%GJ!': 2!#:_J=#!^BW@W04)>-X-$QAN'B2#I\-';J"Q[@'=Z97&:?CD?Z$ MF<[[P@PQFO1'_2]"PR!MAYSA&!Y)86J 3Q]BW)W!/^DXV1-B&E3H?SRT3.(4 M4#3I C68P(=1M_]\2M)'&C(:' *^3V Y;7=*S_5'1 LF:9,2.(M( $!Z^EI] M+G=Z]O/)V=7YQ>E)@P'V0?XPOSH]P*SNMF1W4)5TOOX&I^OP1;5]O]_=762/ MEC&X/XI'@TDT&L2C-(U^ 57^J%@=@>!&\3+]83P&H!CUXZ0[P*C[HKX3[U*^O$0IB/+&;S7AZ5[1C-2&8W:Y?9BXP(2@69L_EU_O#C_R\GQ M532]O#QIBD*#3N0^T-;#ZU\%'KSE*UHZ]6MVZV*8P'][AID.!G$R&+>-HE1G M4S#.%'2*TQ[ 53JVONG"\B>C86.]\.P8('38LY\=C^*DU]=1""J:03TQZ?7B M@?7&$,"T.^Y%9Y8[W'^G-P!FU#4@VQ_WXN[ \(&F,S0/9J;CEJEG'7&N0*(M MZH/% H!Z$G<3@6D \F32_Q;YZ0&(_GAR)6E;Q=H$P68< <5*TX%5?'8$4#P>]1%Z@:;VA]T]BM . 4D MW_ ?(,5>"5J0V0%-(# M&)RVU1 \Z(_AV13E\L%D').$;I62T4)=KQL/NB!<'?0'P&7AH4OL3X9Z^KB+ MTF,:36"@P3AUF^QQEA:Q&^!"_6$_&@QAL;U] &D\[L>3\1#/$UA5UR)+;T)5 M7\M=E:&1 ;T:C^,)PLBK!$YMW%.=8?MCF.";H&?K_@-%"&NKHH=5/5C,A&YR MNUC2EQK<^"&[)6$G\FG#Y?G[Z47T\?R7DXOH\M?+JY,/ER&*\.=1)PH\&C'. M!TK._FMB>JAVKMU-QW"3(0@C!J%&@%\@989>#]R49B]Q?]RW/HU[W78TU'B6 M#(&JC(S^=)"F@,YIL!BPJW>!0#:>&'X+S&XR&.U$F6!>-"+*(!X"?\0R5:.! M\#"@1*/)[\'"3L^NIF?O3E^_/Q&Q*PBD8Q330P\2Y_:+7-:;):+;WUV;,XDN M:+U\08G+??]]1XZ.74\=J_!W#=L6;.S"!P?4N8RD_=%D8J@OSRQ V:[S;2OD M&?$[]X$N9B# M(9C^[HPQ2?[%;F_\C[L]H!_#B7-K@[$YO4F2!.XM!4D&6+EY*0':TC5O@0@T MF:3;[RT=DYW C &22-^:&>2G2;<7WK@=A/9L4XN4=8B' Z [^.]0Z-< 1*&N MSZY#\YK"@]A0K+E![;6VXKPS;.7YA0S\P.)?]3M]$_WQJM<9.I\2ZU/:&;B! M(Y-.JK_8XP!0?8;_\]\I_;]'_^\;IR65*MA!A-].3R^BGZ?O/YU$'TZFEY\N M3E#L]Y^:=*+P@VYW>ZZI4'NUCS'2P<3VMZ0'7#]IU[KUZET!3+J:W3UQ4 ]% M'Q=K3=[)!TE671.?S=6=_X;^E$W-]R3KH?I&E34?U(:SBF?L)U;F!^J< .["H5*3,TP!(SR[YQF M0RK?0G5AQ#+46+N28CZ>%'.2R&%6 M@V/=+SY4\@8#P*R*X99'DPT,Y36JJA(&A-=M)Z>^IS**J?QB*A>TPZL=T]:P M/TIY$TI0Y!P3*Q; AO2U>%LY,YQ;58=)&05)KSQ-U"9QL_[K48"%25TF@C/73Z_S:-&RSF. M>\: Y+BQC$;9O_TF#^?./S^]T@#TEFD+$M95N.A">@4W3E E;&/J;0,$BA5< MU0.[O+'?@,R#J**ZLUWDJV6QNBYB$!96V;S(T.P)FAK&7KQ&VH4-*K%/A[C% MJ2@X5O1]RE?HT.>.N77;RE4:,?DWN:F/6;SKZ:8+(=*V% 0S1')9SO-%;55J MH[SZIP*;A\*F'L1B$88O#H#SD%5(,2'$FDH4-V>[HN_E2:I*;>,V5W++A4ZWHU)OCD,)SBS7*@C;71'M.#3(KBA\B*&GM"+FOVTM22F$ +M]\=[0Q.W MA.]BE.M@E M!-NTC-+_B0P Z5'=,_UY)/M]_5AZ:\-V?2KN@:1R9E3]V;5TXUY@6E)\11=;YY4%<[F MZQ810T0B"=X[2W:#NO)L;V('.-,*7'"!O5[DVO1N=QS:?DI[K)-F)+'UG5.PP 0HJ<-LLB=3E,R9TYCH6!#U@:UY/OV1!7+-DX%[K\K99PWG M@%*K1@]A"].=LE0WH"3$R:BK9$6WE%2X:-V$SS64#,_I6 &PRFHCXNE86(LR MB\ )_#BS12\K%O/KI+"KQA6U\+X]"HWM*N5GRC!KHOV,R=J$D9-D.-SCN4'\$Y_T T*!KNW,>GO M.0U^#DRQ>ZUVTK(V'\9I,GSAN^HW'P#8/C6*)Z.1]YVVDL>#_F@GB/UN"&<7 M!OD?A76!>UYX9Q%$A%[<'W=?_'8W3M(78N@^XZ?6!3WWU<&>F+3/8#XZ///U M7CKYBL7L@Y\O&"*)QY9'CI$8H&$X4=Z#A/QDOSLJM_T[U8+A.[0 ';POZ_IP MYUL7CLWCTD@5_H,:16$"]1VF4QG)PW_#7H8UC?JY)6!0_^XNQYUJ1RQA.ZFP M_]J#2/ 6%K0%Q$]=@Z--2#2G<)#&P][XD+Q%_81BC[MQV@\%'K=B_U=,[P/\ M 0;-65&Q!PD&T1U&OW V[C>9<;KY'@ M;#%@?[$#Y>749W?CBILY_ZBR>*PH?%@;0$#.AK+-BC_$VH"%A;C)4Z=@1[!REDB)G+Y356 MV%<)M):5*P2Z;:G%)0RJS/QP$I1,CX? $$4A5:!\6$9"U?'OJ^^I]AA.P[/_ M\_3B=(HQ4Z=G5R<7)Y=7$1"7TZM )D32[43M3XM3JN$XP ]U:I8@",9]W0&2!BT:7 M &1JCN.R$T?OUW-3/BK?OM!8526AR:ATB:YJ;FRG/Y^>A+L+4>&,5:F:QNJ* M7+$JFZF+H5!26TM-%6 "JW)9S*R*7J:,C\F85HW3_8(G$AE!<8(J;WN>SR2[ M57OH[!Y,R(.(5%C>06Q>R%G0SIJJ1(>_=OZ*'1\-]*I5O4/IB:(L4*3S>R'J4MTL M)$@L"94'XDH?,WNL\(K6=YM:R'_S ?;\.#6T,J\F+8$1TVFFWW#50(V+^HZE MCOT"1+Q&0:Z -3,.RH8$@=,+3137>%M$"2)OL=0U8@L*/97F%4@'OJ@,9P+8 MF1RR2"BUY7_(LHZ)19C]6:T3@3?<+=+@!],\.\;ZUK"V/6UB#;U/>2 M'!_2SL:#N-^W$G FH[@'HCUK6=[#*/;WC/D5TX6[*K[/?[0[BE,KLCE->W%_ M.-[[,"Z# I,6AN-D: Q\20]3^\9AV4<_A-&(HYXS$2J[O%'?P$167Y20S&Z' MPW@PG,AN0\\GXS0>=B?6$0SCU+(I8WRFU*ZC?"AJ[KRPY11#%OT2H]3PP:"! M+L%@ 66H'&X@AOIGX-6H-EP"YXZF;]^>OC^=7@5X?,+ICL&'M[2"__VB_9^+ M/ONCBP[3/7]4;#GPE3^>:P'_R"4X@>?L_T 330^^/VSY]N+$N(=_*B45Z?W[ M8]WF3OU*'[%7GX;;-!X-#13VS;XQLZW7MW_Q&-WIZJ;*.&;C"RZW0U MLUK^8(BOA8G]SM!@3()HFGH_7F[^?E=NI'T30NM[Z3QG!";S I B8ZZR!A[& MW4'7^H&0N([2/CEQTN0(]M+K4Z)1,L /ROH++TX&C0M(!FD\3MN)TQ56O&2Y MR@JQK"5"8_ 2,5='07BRK(,T7&JS.?$/.+,&]L82[$I<5N!#TNU^K[DQ,NEH M"AH4#D'P[4A\;>#&\]SQ-Y%BMS)H(W[!DJ]A:Y>@_, U>05E,;*"ZT;R^C2^ M*Y]:!?7U<( MCBG59:+3 K606\LE4;%EI8Q2V66V>4EQ;U7+?"MLZ]!,U2H4;D; M) Z88;"F6H/4^YMM85C"86#B CLB<]ONEG,0.?+[-:]P' M/N_RORX]&,R4S MKO3HC?>0(]BH0_?OEHHEMT8O'@^[<8LIA8SFP^^CA]():<5RGRONU(N4[+I$ M3Z0<$W>CT3&,L&=:O0J&)]\.?>/6)10Z%L1O Q@*>DP\FH.CA>2N$,LL:NMD M<<'1^6Q=TLT/E4=F;SGOX+OCR].WWQVRXV,N#;*9==YOX%IFVC?RW/*X+!.1 M4/B]"3+=K KFZSBO'/=&JQ,@6N6Y/G%M7,9K0.\CU2#9Z,?P#NQ=DY61P M,\C11%^JI7.S 71K-BE"4.^:$L,42&WH%M+EL_*1[WHK+B3=)C+$RD-!]4*+ MTF"7#;+:@F+8L^DL<-+D#_#Z9N4HMIITBA\#U/($<_,'\:2K_)'C>-(?_QY) MQ^]/II4XC3H1_>+P=6DE!PB!F6%4.R-6GZRJ!:IR0\R/2-5QNPS[@KS] M=KYX+ 7<;4^M50I _"EHX:[R6]7LHLI=A".>F*N>=-H'CA(XB'3,!BR:P=1^]RM,#R>DX!8P6;=.-C4W'5Z5X&="[7:]09&IM[$CH> MX5R>^-8"DA)*,-J#;W73TZ,TNN?YW1'])GI>WSQRWY@^M^6-W^A00NF?;^+[ MU615J*_: _)>>3V-4= P4TV])GZ5W8*Y8=0#U+ ".\M5H%VJ>AA#*GM6#U%. MZ3!+,*..XB$LU[+,!1Z"F4$J%B-9\^<^(*T5P(DGW]I>DK$][78F;N9K,C&) M&GNA_#A6V#[RHP_<$_>G[EN44TV=/&_JUIDM&F)+:BP:4=%!U\\X"0SOYXM_NGMH,1J!YN M><^')1-)-<" E4,E+CYC2O*9'[H=SY7<;B4@F4 Q+//[Z UG[[Y8<>@BSF\G M[.H(K;@'N/O<^;9U7-\U(R!(^H*@R"UE5@S0_)+C1I =H+F;UVO2:?Q5$U4Y M\AMU'\ &",D.HZ1CQ7>^:.Q&PV%K]%ZGV]M[^Z'9_3E5. )'TGD;BP:=<1I] M_Z*!_-_[G=X0AM)7$\[VB57TB"0,F5$H>[,59)E-D\[#Q.[%#''7OP:U24:) M/DJ+!T6GW6^9S;C?$4D[X0@+ZP!^L,A8Z"^LD.#PSX%5S7 4]WL&I/O#N#=) MJ9J">2.-)V/;(X6UZ6Q'67]@+@[&K6^P+]>Z9H/U@\#:R'-U_!7/G0Q);I]IG79<;W))!Y9IP0? MDYXYI7$:C[%H&4AL/Z#NLEE;!BQK=ZGM0&>B'P6J$*_"\KJ -W+:2]EP@/Z[&C216]: M?]R+>D@!>DQ@)E1-"ROK]%/TOZ=IPG0DI4L; #+ I3/Z]Z)Q;ZRQ%O^V4'P4 MCZ1 *_[(G_9!Y4&7ZO:-AO$X'0*=&V%]GC:<'<1(A/C_^V'E"';63=4_=>2+WB06!6[AH-X9-4.3L?#. &T" ZM8EM56.N^MR%^X7@X!KA.$DP@ZHUI M6ES*L9TW$ RJ=>-(U3:<0D6F!U?M!,)RV)#;ED69.;RF?!SBIL.U_=[!6 D M7\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<=X^.@N #521IT0!0P\F @] \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%>:D04XN7">G! MDW+ZD&3)ALDT;;WB-AI";=K@.N"VE$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,N9 ;_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,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_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'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!:JY2SM](NNG( M:7XW2*PV=H,D41%_:@/NR@?8T7?>PB>V0$J_+;S4(J+F7W]XMBIA*L*9M+0Y9JT6-E 1(C M ])=NW1$O_+QXMAU[W ?)D-PJ: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(;)PV232BW&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@*JLLNMJ-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^^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'RYM"+\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] MM&>=+U:R'%HE8R>87&'N#XY@//')P-!)%4W<%>$NA@9B1PD"93SI#B/,L;"* M?7;A%A*D9!.8OY]2@G+(Y2/5853Q&*H/0R<7XSZ]LC!25 MJ3S5,J;+2L@478D-/1UV!M^_J)R0%;/L\V_;U>R%/5R*BEISU:U_\N9EZQC< M\;RMNTCC[?'@T^7TL'U_;W+0ZD!$C2-X+K [>V/D6MAK+[UQ9YA\#POM=\8I ME\9,T\YX\K++]452T\J6(E"?N/#[/V&/O13W.,!_>;&C;[9'Z6;0FB<5VB?_ MW-R?#LC9MJT5%KOA(M8;2C!2^W13GWIIIXN[YG]ILE[2&8V_S:Z%G/G[/OEP M,HW>+:]_"F[[PV958+E_]7+S /B7X/;=._7VVOLVNQ*"NSV(5C\DH?3!K:J' M2C<6?Q#8LSSZXFM/NM]W/,?K;^436M>PY!U+ **8ZMH#0YQ8-_"E"KE41P?. M8[[!.H;-:9#H\=MIE]].QQW#KYX==QPZ-3T:_'U6/JB"?JU'IY]_T<&E_L$) ML5I(IX[',GJMK+96KQ7,0>;V#>(-#IPS6].IIINJDKJVHFZL2FZ+8L::*G$G M6"39&.FD*7V3H;;DJIK-GNM2FX<#H)3YBYV)UD^#CB5E-6I;KO-JE8E]IO5J M+!E%RM\UK\/,P0;RNHFWR8L%!Q]7]Q(C4-*\TB?"G31,41_;Y&=[\#%=A@YG M795 L6H8$MUB]=W&2J&,S6/153Z[6Y6+DG(LN%9D(.5F5W#^^TWYE&&:IAE! M@CXI\H=YITG@.<"J9]BE/1*7C__" 5T4#Z?=0+MQU>R5UT%%K[F8["5@22WO M<*>%VNS]R5H;)1>S$=@X%/ R3HRU7LP66#O^??:H'5(@9_D ME-S#B_FJ2S3L_71V=<(^$\6![JN<:1^*UNT[U8X150Z=*&<.X(V)2V[ T"6P=7[J M@ <1W-+C+PJJQOS=JMB;IF+Q?#,,LA#Q_?7=#&^GL& K[4MGHL/9+:CL?'QG04?6_] MC^OU(WK=D\Q*\4>F(+HQVXT/X>D#-#-\3S53[%>-;&"0WBKUB^A+C.LW -YZ M+@'CECGE4,)0,;KP^ZCGC(TCWE&-X"?+M&16<=#'_W]:5::K,;YB+M4^8)Z@ MCZ_U\+5CW=\6/1<,J1E><.9L?HC/CO1;9G&F/Z[>N+'IZ.=YH=*[Q!C5#O4# MJ16&:ZS ^$-7_<\VV1BGD[B:Z,JQV 8Y"?/@V?V3 EE#<&M]T_0-')RB_%QN MZ@R[[Y4WC0>HE>@;V$:&L9/Y%XP=:3QD3@,[-QZ&CPW+TG6QK-9X$HWBR6"( MS7OD-04MV")@%G4[W8'Z7](+/#8O%D2XO ?]96T5\APKS686^XD/5;'.CZC,$98W[&%0,V"E9(_,4<-DGY_VTEFF M6[L%&5;OZR6P(SC_F?##S&WN;)%<),4[HW?C0@OB^Q,!Q&05^H&3'IQ,P/,#&TXN"QJ> Z<^NJ]>*!E=?#W;>$R&,/ M.KP*;#<_$%=& $EC[+\-2P#5%HA0&J78"WTXIHYB/C,Z& VQ0-\A>E+B83HZ MW#:L>,5#3"U)!_%@V(V200+@DNR-[>FT2T,9O0%Z[-0RF_(A))3[67Q5CFEXU&4 M"P(--Z;!!E_T4>)SWZ[;UN((ZS[E (?-G,>MY-12-D@-OSC<<(+DE$=KJ?[99Z<@_.Y*Q6:MM MF [L5@;>L>\7MX>>4]-LTPOC\[9"N1H*F.Q?:*S_=<_MUIYO>^@[37/29<#SCNAU;S+4M67\4+,5L0)(\ M'OTH=6F:=IW[AJSQ<,"#[_$:D'[-\WN^%?0$Y"01$OZK+"&*U;XK*Q5) M5Y!T)M8BF<>R%[4M:/!])RCR?$#7B95?%1)G?F>KS#\J4V:4 (N<1$/@A)-) MQ**>;F,'O/2"Z%VVJ \I&H="D+BL+\:U#(;MN2\@+DX.HQ$(E\-&>HL['_;+"5O9142V*E(!HR.U>NU]^=5,A["1KJ.&TA9"9TUO*B6/%VZM)X:[+3363OHDB\@A#HS:=?,PJ997O0&\X<&5(-B;# MT80; .M5 FD$F$;ORX_Z 5'^*X6.Q$*^ !45FM8J?CEC5$Q*W:53B_L:X9$N MEN*QJ4QN8##18JT+J_<4F/&P-PMN/[G'T7"W0^0"E(JO$F&%6?JR, M>P&FR&H\5]8MYX2%M.EU8U\1T5:ET]8DKU'&#^PDG!,KG#8+\@PJ"U%U7VFV[)17VC' ITR)#Y*9@U7-,BS&95H M1LUDTS+#@9NE?5^NA<.*'*0N1N?2LX$85$$4,PY1PLY5D[0"SA8=C07FO"R1 MLDA70SQ*:?$T%P'8.EGMXO)+FY,7SEFN$#]'\M=J2V;_@/MOV[-J$VUW#'3Z MNW$#15\;I':M\,*,NU-;5Y.1@N6,PMO<^-[':Q3 =C3AEIUGY;4 MK<5S6U1LOS-9[;PE&\=+BGC5![XN+1/[\6@R".58J'/0V=>FKRNE-=FM2EFD MJ%4'6/_&?-^+OC2I5D_,+/^R-AW\> EV W2B' N@@&MQX=UAU2T1 )FOZ[R+ M$$_:#XH.B,K.G?)"'G)\RZ".?S4Q=! /Q_T(),IQ0M:N7E<+H88*Z\.TS,F$ MFA(C2=$ZF#F!L$>"KRD&0TO 3N0MAB]*#G583M,K85A647-] M$S5745]&OER0!@R34I8*Y7PGD)C3JM@7_P2'%50[BBP F!>BM[ZIR%5)$"THL*M$1,HIOAZ;QU S^R^6\;U2+<=AM1%\,;*A=5 M4!$^1S_:1(&+=:SW"%)5AR%420/V2U8#31 MHT:"X\GTXHSJ['T\N8@N?YI>-.LM33I1\ZF@&$"*!^Q)C/D6I.)ZV"./1Z*< M[MI89KS^+A,OI(SK_/<+V_G6'+L1!A$,>^#-XEGL"H XVRR1U935MSN",ZOJ MAV?D;L3FSCI>1(610B:3>#!*K2_2WBCN6@VA7E$+JP'FV>&%D\5&A[@4?G&Q M8':XO_1^/.PWSQR^'3=C-K .YPNWJ@#4VDFW3ZW=K-UB[T0KV0YWFY*']HVJ M>/HM+\T:E)"$;P-TOYD8R?7B'_UVI:L- 3$=\!+$>(:ONN5B!YC%"A=I-[P< MQY.D'P],\39LCC?L]>+Q0"X7L9GNEH,%"(!E7N)<_ WGT+,L<7'YR=SOH#^* MQ];Q#OK8&M'.-83ITZ$/2"V3[8:C-![#ZGN])M2T_]+K3^)>,FC#0:42[I:[K, &6UX+0SL@&YW^DZ6-P9 MC\V=;A]G:#>?[N&+SCCF#'=P"]1@C^;J;N5(6.-K$7W8^_1<-O+/5_ NM^-! M#T@(-GZD$K+P#M"8R:"U9.+%R?LI5J/Z.+VX^C5Z/7T_/3L^N8RF9V^BJXOI MV>7T^.KT_*Q1N"#M8BVKO5X%_8]5Q?NL @U=EXRS3!_SC;CE*^M1U>X,L[=[ M:5LI$K88B]G[H#A$08G*.SL=S3 FI\=ENNTZS5AQI<"U2%5H$F,O2OBZG'UV M9$;0&OJ3[R.N^J2]LS',"%-RF_$-ZX\T'>4F?82'[@'):PS'7I$PL):S4D$,6KH0:MH*U/C014)\$[:P1<-HM#=L90)=JIX@&9/C,5R. MS"&A^,5EL<#H"9-A8B5YA$X^&02NG_3R[!$E?1E%58:9"^"I=9#M6(='Z>(U M)?5U3'IC:VE__3OF89WHAP.I+_YM8,*IMSBG3;WIQ,#6,:1(#+KV.0VX=+K: MC-D+8[[*S/A+\9A1^H(ZNV!RCK_$M'E^'8_ND *5B1'FG:J$+K&R)?P6O0&= M%VCKXRKZCTTL!7JLDNEP;D=DWJ+BZE:'2EJ_T@:1)6--'ZRB1<5@8>\7'UXG M,=;-4&[[@U=I5W\ZC/D!; AN'DC&N@(-)V70,_VTZPS2-\]0_?>=QLFIA"5@ M%\^5M/&40O2YO:>P/Z11(9D29X"Z#D"P'<3P%_6FE!ZBXQ2([FB+]5G591HA M@8.ECD$8['*.9 J\:Y+8%:N8*6]6E))7.I>UU]XQ 5'%6N&EH%OB+J,. -8E M0A2 ]U M%K:.J3&>A+]\_#4: &6:4*6J@U<#.-I1_]#X7HH5^1E7FUQE)(T#"Q[LO]A6 MLKUCF4F*U2SB/L R0'T7%,+)*+A.)BSPQAB;:H_AZ7%OZ#[)?G03@\!JFX\# MIPI:KOSM)KU_U.7 :?>QR,> =CWL@70^".Y:;1J> !E^V,=]I\!S1I.OVKJ' M*/;%:P;>RN+E.((;ZW5!ZP*5'E8)&#P!X@9?IGWL*)[@=RE6794]1>F8+/GT M\._RJY9[_6[:\__'#?JO$0CL3G'<\X"5B@?%!BE\E<8)UH/0:4RQ.0\<> M=P=I8XU&2-]?(O:B6+?LCL R*.KMEO+V$&")?=LO-@X+V$Y_ -@Y@@,8@JX^ MX9/YK^G%8 R?>WC36&=FU&V_O;TW9*]A+^YE M'L34L1:R[6C5O8!,"RNN0$:L?Z?0UR)N(^'H!:]$LM-#1X!=NB<#!,?^!&"X MQ]+# "M'$2T9866FKA89HMZ@"^!++* +AS=IN:7=&S?RI;WIYXJ3>O,AH7+[ MSD&/'?8&!(9=#'I3.\1"TR/<.O7YW@\*=4%I7280)^AS=2B8H-]#'D[(K)R_'YV=7I MV;N3L^/39I5![ JT]05-Q#*L6L3Y,2C(%N*6V1H.:#^H;":V"K*C_SFU\':# MJ)/4BF?UZN/7L[NCL@=+?9%.TNRNMK[>T'-#QA#"++3DZOGAY] MY;702>E+]?'ZT&D/Q7E.+SM-52_8,+3KW-:;/"N 3!4ZT6YG_-_B2(VQT3O8 MM'&LXT ZR&Y MCGK#&LK4&)%OL(0H.@8(WVBJ7:VUAM4)MX:FR*Z/Q]+Y [W M98Z&&VTVO#PY%BVC&T=U\86CAB+6)RG>G,:BLP=RENMZYNRZ*5B-@?5LJK4^ M9^*\>;4RO\.-H^[[:UE]CB-Y2GU!3CF)S\I6+.^%5L'E9?==PUE9-==PG"T* M>&!59'H5YBM:!RMR[M)X]TZ0EC1UPV!&RG11H0$:-O! G>[O7&,HB4.3LM6G MJ)>%7>,;J I,4]S<8)I/J?A_%BUS92;GB+ML;A[%W+O-O3H?O0U>H-V(/%'+ MR1"6S,:0UM-@UFF3'BA$7O&$QM"L@"*!5+Y;F_S,50DG0/ MK@]%-C@ [B"G>:(B;*8S)N@72#^2[O71@#-':)@?.=0:ZT+9NX@ICFQV5^08 M/YO/V&)?@A@PHY9N<_J="Y3(8V:_^K&:0E97<^X[:*MR OLPQK)4!9T%:JB" M5_8D=RJEB#!E(ON<*TL(8#\^:GOZ"6,*Z5.+[UH@TN/23FEL/6I@=-U^W00N M< W<[ <.:36W:+."5 5*-M$4XA^G]?4[J MC&),6+\%8 OC=JA'Q VFJO."YXI/T 'I=:/@6JDUTDZB=]* 9@B:8C-P>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(S&QM)CK$"*I#^F%WY.=E /EV^.3\V^AD][I:= MO:(9\"76'N6UTRMXSXLOXL>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'!'(GIWNU6K\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%1J-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);/GE4?V%V +]#&D9 :WD@K9Y/D/5%7?I$G@+=U4Z(O>_>(3"S648EFXR5C"6:3(98]J6O[13'MR 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#Q5 _B M=0Z&X^S#X)$\!([W\V,>T*V,AP.Q6N0]!L7>VF979:F:M$/#0#YO3@"1>]LQ M\+AU OD]W(A_2FL03FM67C,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,<$%+;]$!$&XJ;(9+A#B%1-6^^PDDCC@?P:6+/SOOU M;;X2Q"S+U;T)E:,-AA03"44_7W9T+E8N8HWA6>33[,Q"QSDL'B^/0P<=H1:ESEMNX]N6?=1B*_XDE]-#Y)6._.IXO+CUU[ M!+ '?,[[+ /B,)3#GUJ75V008Z4: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;8+A!=)V?D MO?=>SC0UD(9BV5%)$@_+>%A*N[&EYO@XW\Q4R^((X9ZJ$#_"WR^XGYY?:@:+: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@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 M]93.%9@AZ ; R\)RZ^ZQVX69U>L.?;%K6!8 ;H+XNF;@;3']XN662% U,?: MLRXPV@^DW3MH<[?&OC$CPG&4< )7MYR2Z<#US>AIBQH'3[ODU28^Y\.F9*0* MS3:"/;PV(0B\3O#5?.1:3B%E@ZQ6VZ4%]/1 XWQ*57%I.:IND<7/?. CVK:J M0]G1ET?]N36J=A(C5T0/MW&28"A1Y M%I@[MK'X/PVW^V>.,9[AN43]C4R,]Z+H,J,=:=X\97:]8LWG0NN53FX)2+IS M^@J[=#O-GIU8D0\TU/+MJ"3RX:ʚR/&#)8&DH=PQ3M4R47)DPC)J)378R M._?)U2!1#OMBAM26^S5!-TAQ(F-:?.#7I<0V'SW?5#=W3BG7%;T4_R%\EG1+ M]']U&(^.LR4X,E]CP7&?]R-"O0,MUH2(%.S^X]M7O6/T4"/*S&] /3[)2O;/ M;Q\^L"G!X!(1J/!C![31RVYM 8,'.,WN2\YHBHI[CLXS,A-8+U7^3HD]:D7K MCJ*(H21Y+D#@U&R99$*ZC4 BL$",._V.[D.@5IF-S$Q$\/C0'&5V"/LM-!U*'5T=]9*E:C>Z]S92.8&F<\D(XK8,#JN>(7FE4E M-S&Z@X$D857)W2VS\FY6?F55J(>+PZFJ3SG7@$:.POB?[3H13AMSA+C)&[*" MC[0(2^EG@U>7VPT7OUNVX*".)?M(_9G2^"+WR"2^-P![,@CY?+%1($UZC/D _%Q'[,3QG>.Q8#3X^2URT0_7Z$"2L,6K+"3X[":A'Q[+*1Q>-2W M:N<#WL!:L4UX$KK+/Z#]7="A5VXKJ8%Q>MIK5(JSWM%K@6?:Y%*[YMY%R!V' MY-_4RF0OSGY!"9R45]C\IK?@A0O+1;H*I#%[*"M]#N4$;O9<-H\#6^ MHU 8_9< )(SVS.6/OI>RKM!N4'/CSH1?++ERQ@RMLSN66H\-OSYG<*: WZ2BZ32"--!=](,, M_?-"23P8%B6Y"#0' JF#$E@4W+T:/7/;M<=VQQTE3# "-3K[<,HS]NM*_N*< MY!-W0Q2DCZZKQ.#JJ^#K]XX;],RP<_5.E M8W7=,\U(!:.5%MJ(9]_;BWZA%ALRSC\>$;@5VC' _45"D(T_8[6/%C2LA_>H MF+O_]<[O*#;;'$TS@LV8@"T\'!K\^WZOGPYG!@-_D&:]'EP_@.7FR)%[3#^= M#89I;YPE\*ATTA_[QTP1,C3S3\G2X10;FHZ37^P&C8=31/A!B*])-C.C(,@O M?_L$@9%F$PQ;-VVF>\MD!L,PLYFDO4&_V_[<;#1%S*3_U V?_DLV?(A3G\Y@ MST:343J:>0C>3C8OYY$Q@HML#=L^E]1( QMV7XF,&L M[:F#\3 =FZ8-_QE;/OF7;/ETU$-DIF0\F:1# ^D+IV ")W=L-WP 6S*8-9SQ MC'X:P\$=3@;IT*!2=_J(NS0C#+L+1-M]QB;U@Y@XL LS-P[V1@(T3") M,8P+,;7V;?@ >RB;#1[-@%BG[<_-QMB5VM-9R_,Q7%IQ&ZQYF!/D!8U5V!DT ML.( WGWA 8"H\2L6XK)6CM A3NO_8T2@D^(K2P*1C-..6AOXH;Q=YP]W8&2S MYNNZ;%C)[5O#@VU2DG)VVH#:^ 3K.Z*?/Z/;4Z^L/\N/1@Y3L-J MI@1Q;W%I7C9^M*.I==%RD;L?0-[U#+1U-@#.;)D3<.G^>*+W_T+]7)^2&4K9 M<3(#QMT?)HB&V)=)P44!4)MG@NG,R.,1L'3#$F<#^+7O'O" 021X,S8[1X$( M/TVF:99-]8IWY')94M^!$8*M35!B#R>C9#P%$=#3ZR05Z&] KG,@.#/I;&;8 M/*H81FX,!@Z$')YQ^L\"$5: =64>.[P/'*S?MQ\G?;=*TD8;AM(?#I,1M^89 MCX/6UP,03?TA?#T#A6,\A?GU@)G-B.8U*^[%VQQF0(VS*4FUV6Q& YH"3\P& M;K5?K?-_+CQO'TQA0*.A68P9"$WS&39](*W#X>ZWQ=?%=9F,TFP"4^T1ECY0 MQW XCE9CBK0RHS_ ^8 #]\9F_;#Q.1!:EN!.L#R$?V'+^6$_.:D6^8O7@L M M05:,TQF,:0AD@H]$\/'QU.T8]KV9PGM'*)TRT"ZS'I#^A$"7Y9*_E>O"D#-, M>.@793BF;O%.40!]=I3IG>=@">6PCMAA? K:P0@TO %V,IW.!M&.G:SSJ^3L M?L$)GNYTP-F9F<4"L34<^[<-05KZP_/KHMBL[,^ MZ7S]-)OB)F.\MP?*/&L8@;CP6H!7 +WV'^_W'R3 ,+1[M"1O,&/;>B63 "F!ZS$_\&1-D+;F7 ./A)-<%Y1CN'ULD.$0Z'80 MY9HZZ=9#"%9_+:J;$PT%S4CR]8<@,::)G!R8S'0&7R)I]_4LU"B/&M;!P0/N M"Q;&>!3TQ7@!:;?I9>1[$%<:-2MC/?*_B]8$)LSSAWI1"P[O\"XB>V/T'4710*,WF4\3LFTR&9$:#E9, TD4T.X;H HS.26IYV4!\S9P/X\# ; MQ"#"_GX03(/SD&E1,,=10**#=Z8WC+%+2 ,1B@SE/I%P!!M;T, VUOX$\O2%;02G5Z MN+[D&FSHI-'%CHDSF"BLYPSV!(1RO_=R(10':]Z>_/O[C\GIIXO+]V_//M:! M3@?'270)T#\&E*K =E&3CK(2I-\]U:ZOV>E?'RVUVOH#>LWO/:G!B=W/UIM/ MK@8M3FK' ?UM@Z%3-A62: MA\P2+>P?02)F&2=K(6HSMDS=U^ W&DBM$=_;#V_>__WL+'EU]N[L]?EE\N'- M24/KGN%QTGPE:,@/R_*I*&KY>Z3'% Y0%!4%3MX+BH+7Q68A@1W$ D'81TKW MD,2+$C6B!^R90$B"%-G4E+=*2T"HPKVJ&*UK^>0>0.T6L/<::E/R=$$C,3VS MJ">6OY"SU8KE@M6[PDW/>CCZ8T<3@I2"US[D3^N2*DBJC2"_2E<9;3;G,*3# M@*Q/#VL:>N56AGHU@]S ].,?X7]&0Z&%/H@&$#7?HQ5Q4!*Q:*K8BY)C<&,E M0<:-.@83'A]-CT=PHJ;P7^]X=-0[GO#9ZAW/CK)C/F%F)2N@>2KYIVAS,2?% M>+&JMFLZ"EHHF";8\9 X\G8UAX_;%>^7B].)XN >_R=]>.)$S$X'@@:H[5@ MDI3BN\O?>2ADY0U:O.CVTI&.[2Q4F46:Z[,J=[O?:NZ2T@/M9)+2!F=@\NEF MHUOH.VQV+?4!6VP>O3JY.,/.DCOGY8-4 M$5)G%@QPK[C ;IFO7/7>AZ56USYLUX2D(FN,/U"[5HH3WY=28UQMKZEN@RR^ MU5TNV<:,!1.S)>0JB]5G5XL$0H8RY;0QI.-CO/DE=<]T3$"#S]OEAF T:;/- M""W$(A>Y4#S;Y40>\DRNSUV9U2&LI^T&Z_SF<<(!C$!-!E@(0<[2%L62M65' M);0N*TDQ=PJ32Y(7HK ]4BLI;%R9"U3ONN#>Z'?&D?V<9:)TJ"^T4)C3RQ9Y MT%"]N+GQX#&TG3=;7]8<[J$SFD+_/,E.8O\/.)W5I@[C)MESX2XAIWJ4X@M, MO+?]K&F=J*:=JS EHP<8V_:^M:DB2Z7['-F- @@ )5=8OTGYZ%@2\R5?SR4M M3(19W+C(].GS,%XZ(%XHJ@S +F-9.ACT"%/^8;FMN-.7O20')=N)+#]N2U3A M'*)3(TX*AC28YU1N1Z8I_(5S3GRFIWQ&@$H1!5IY^TM?:RYL'0+(!D2UY2+N M)+_9T%[W9H;2*6./4RP3A;-?E;H)LE.N:@^?D/H4=+J'>=7'Z7$NOF*/+TI71%T&\7^7#GX!H:L8C*21:WF*Q]1-RO#T%"+S 'M?P"LG8+=,>AG-> )* MP7@P<0\Q"O9!W>CP570ORL;-DCFR\G)*TJ9\X>9\QX#7D%"B^CI-?:;GTD;K M)%#RWJ!%2HE.[FP_4ITT@@8KO S'BU?%7C+"A<>H1F_BW0;;%;9QN5UAG0*/ M[HA-#<(@6%5LJ)C6,5NJ"RQ8.J@9%,&P<.ZT/I4&ZZGS2.F-QT]L_#B;\-&" MLR#NRB?E0_ >*FMYI(3DZKOZ-7[3,W B8XHO>.<$AW[S"V[/T<_(WFI^+=_8 M&#^^1L[Z*QV1?>/X$;B\+"M8] IPH"<&G6]]:O;C/'C#8Z#37[0AH="U^W5Z MW!LEO_+S.N,9-L(:>-]>?W0\[&$>\TU!7NM.'WO63J?!%;U^,*3Z,>ZG8SQ: MUJTX.LZ\2\[S6 ^.2$4E2.CRX&]BK-C(9M9/R5+)AIFP5V"2"Y < E9"L@@X?%WXMC<&NCA,R;47"5M M/9>6##3C&Q"($7ZZN86L%H5N^R=;PV@!OBJQY.MG58Q1>/(,/O'7(E^",++H$YC7O*2LDPU7.UR! M/OL95VX%K $U[34LS^-BO17@S_>_GO]\1.ZPY -#'%P*P4N-W<,66W"L$HX#.OP##?P?;>$38'_(:AX=QNRZ_P%(3ZB9: M:#25?([X1C@3KIMR-6W>+[/A'/;[A:L9I^**XE:P3V#_MV(9BM4G%*L.@%FQO@1 176<#\/>(^ M#ZJJ%6;^1FI#S%7MO7*RF*?8[A=K M"BA;7M=>L)FQYA%TH8LN(C33_?V_B.KE5HRFBQ<12+?#;W!506&3MQH!![V6 MHIV4GQ22 FT=Y-X.&M>-@LN,G"5,DEGJ4,\_7B2WL#7D)_BBHQ.#E)J0S->R M]MR%^&%9?+6M( QZM,ZRQL<]LHPM]4F.3 F0JQ!*+K1MV/F!C]$8P^Z'U9N& M7Q_;GQTW<(T_K3G.;FAR:+I:8^Y-E!WUAF@Z4S#AJ#?M%-W.@!H:??2%UQ=' M_Z$:F#R%W!;H[YV;EAXV>8[AF_QO6+G-#E=ND43;7_\Y!ADT[@^& ,LIN^%: MO6T>\)=:^S!B\LIY'05&0A58!XJ>;QD^+BB;\:.I?+V7%U4^'5"*=8PS X-B M$C0O;YJVRNCG4:'.=A5\Y5IP+J3 ('?8JE0'1FUFQ-_?U$H>J*+-($*S;#B; M')LV@HC^5"@, W8+Q]A4A::&0IKOWF5#=0@84,P%Y-(MO8DH/L ]%JS(L[/+BQ<;!(U!S;:&9Q=K,7H M#6;)8-A/1Z,)BG+*M9(XF4WZN [6%U,%LBR#M9H.QY(B$%TQZ _3Z6"8##"O MM3\2#*1&"L=#=#:H76^:M+=M M:O#&"E;@J*[6WRKSJ6;)IF M/4ILP"Q*+HVUB6ARV1@3?Z>8[]&;])++]Y=PTH3\8'W&H[2/F;W8.3F=CGO) MF_.35^=OSB_/I4\T6$CGEW\_F%)A-E?2I?X 5;)A- M:ZOBR/$A?R):A&7M#9)!0!*DB[([0PK/$MR)R7@$-('>D0S6$L>8-97Z2@7Y7K M-65S56Z>(_:W!]O>--!L&A3"9!F65R1OY,HG.I+;E<+UX%-4WE>8VCD>###] M&A-EF3#L[F-"\!C,[B'\G8#=?T:,_Y!=M8XPG=&J5.70NA(GO8R2]28]K(^" M0[GTDK>W]ELE&N /6:Q9WP#2(3K"P!%[<2_O#61?K MU6!Y>I.NK)R,\ (_ MOO]P]O&$^[O_P=E!85+0"^5F-ZPB$,31S$$-5XAP %[B[,@)KU\,\,&':&DGN ,KL@6S5.='.WC8=(RR/* V=> MY>N%D7998#L&2X51^FDRJ1TU9F1E;5F0QPQAT>#/8(S)\VGF*^4Z^*)NK;ZI MTQ]C3FT7SR2N>P?NZO?A$/$XI5"VHZ_H/G_ISS7Y,IG-,9S!1> MW<%PP:CKKY2W#K.T/^LC*0QPM;&^(0/>7''3#FXJNUA%+LZY$Q_1LG8F>.)- MW2?P6%O@V(&C/@,K[W6Y+A:WA.#)K\#^5KI\'=AZX#-=7&.4+,CM!OUIUV@/ MS(TL.YS9>K@&?CE&D=:ZXC2+/\-U<-HFL$JP*I/ID"OM^MF@&VVP8&/)8T"L M:+20;0/&DV4V*W=@.;M5CAH,,+86,%C3@=WH#6 8(TZD[6"A03;,W#!0D.G@ MNRZ]I4_5@AV0:_T!#'E$XO:L/J1X+'V,;@_AB,Y&*>J\@Q[(D&RXY_WQ6.S&; D8"PLL&$U+#^!/C^=%2CXY=Q>OSVX]E?S]Y=G/]Z M!G?"Y[.D\^;]Q47WV2?IF:S_X!3N WB_+)4S/WC)W/-EZ1P'DR5\WR"K%P&U M=L120:I!G_1B^0(.HR>65;OK)[2"5I4VT9W_OI6#":.<3'MPT,=PAI&$AQFY MWFJ#PUK8P0CTA&D/J X5%:#;K%X>_$*2.+GX:_+ZS?O?_G#A_[THP$M@B04> M9$+$?_,]F?, M+5: 6]()[A%91Z(JH)R#^@"FBY-'\T4%^CMU'0]9F#LS5-G6)@9$"B3G]Z L MK[T<09 U+UJ\$83LM.U9^OD9HM*K&Z06>PMW; *?)""3DSU.!;AG#*P>1@#' M>PK,_@ VWQ$^CP*6.3UJ! M]E2QCX6(V!>M[8%>8^P_O2020/?$&&]C'*;RR>:?5K M8$4A2GLVQK"0MUMW#^@HT$W00QT0_G3W.0M&(U# 9^@-PF*>_G1 AB0/)+#H M01,>(!4B,<';^T2ZAQG?4SC$K@*8B ,)N- M%?O[&]G?+N]99XQFVXCVMC?JXU'%0NIQ]P4^M)HZ3$ZUKF+"58I2L(>YCOOD MN-GWE@\:P2]O=M>-(EZ$5QK[R>NMY%?= _*5W*P&@;2F0QA;FB<27N.&V\,4[ZY M1BO'%+/H9#,L R:A!;;QB]^&\YP7DF]-WL*VB$EG"%( )SA!GUR7I.=T^/)Y MML=F)+!V5=PN5BMA "YE-L-$RBGBNL]&$PGC['U4X5&\Z2'!W1EH)/6J^D/_ M7J"D)PF$&,V+"K,MMERF2*.Y(< 6'ZG\!E\.Z0UJO+D*%W;O8DI4EUQEZ./M M8:@E&:9C#]50RP%XP,3]Q5?@LT?)V_QW.'47E@<24G\]<^##A[-W/Y__Q[/N M2K[>+_]37Q?_^@6+7Z\?B!SN U@&@^-.Z=II]=C42M&[ZV0F$Y!,,->\N5QY OEKL9P# MMU-XRQ/-(<65I+#\9EVN,)>J0QIW=;?M@BU^G"9O-G,?@,;2+"?A@*7_!.J8 MZ\/4@+18YRFNLSB!/??Z>U? #3"Y+*[O5B5F?0$14!)!^[ N!@^Y&_'?_/C"1%%7CXBQB7O[0=_C(9TX5!Y M@V42N)%GL3 >..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%T4@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<V/0*)L M:DOC7&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@&]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 MGUF;*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*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,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+TCQ]<4.&A5P=P(]@.YEA._JB-_OAP#/$Q0J7@?OY#-?KI9/1-^- MNWNUW1":-&)3T>6-?#%9(.HBG2L$:4)W#@$] 6=#A1G[L,._KU!^78&=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 0JN%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<$6D3I9X:8D#S>=LHRBIF;:RVL"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 FL(1Q]8D;N=YX= <-KB# EW!YS%)$S?1,0Y.7J=2U(U%T MFQ [L-LN467NL;*"V"1JJJ M".B3I!/3L^;NP;=9S1+%")^QUGA*@T;A-PA1YJ^#AC'&*-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)A7XJ8>"615&-6% MPK%@HM@WD+\,3PV1FNE-OUQ\!@OUKF2-Y[IYECI+7L"_KN/4]3A,63B^-N[W@P)'MQ1V% M]?JPXYIQ -,P@&L^Z&\LK1UXOD[-+52X6W?YW"_;CM%Y/#J]-CXF_ MA8+RM/NB"+' ET7S/#YZ4Q,"OO+ Z@YY]''+&*-&6)R64W"7.GSJEV+YZ/0Y M7EOJ)1@\G;T'P5#ATFBG5+MJ1BSF&,'^FN- M 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?<3U(TJHAH:93S9ET3[J)C#P#C%I;/ M'74B [%C'*>!.OE GCD27V!J.(>,A[J2I6<0SF*^[T'(2;"#EB5!$0*AI^Y8 MDGL$' !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]/66D&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!CZMU3Z1-?( Y_HKF3M5$#S6SQ=(;']/4J@RBTEJ> MX(PG9;JN.\IH((Z :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'2@[M3?R1JQ*;K"%R178W4-(5MYN M_"KA00&)Q_C@/.A;("G"&@E)D)/N3*(Y7RZ)%;%!X;PHM<;=9?E9$X]C*NYU)+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* M*#B[KF$-BL.Y,D(IZ E%@>S[A^V&:2?'-(H< V)'2S1JK[@PT(EY5P?5G!2Z M'PG^U79!A:)5DO7(*U4E;] ")-\0V%/K\E%R/M[K2RDQBPUO"OB1@4EY6GSP M8=8M*:IO\VNPQ3 \KJ\?):^WZQ7E'V+U\E?\1Q41BK^6Q_>V1+RVQP)X!88, M]&M7/AN&"((,$UBH5?$%_04-:@_,]7:-U*W1YS0@),\H39R]%GZ*(P?BP#// M<6G^FAU:[CDH)/)P(R.K(A; M2H4ZNA?5R3O;,?!5XE3*!W?W7N&A&A;VXX-;X__HO\>7U^*8J<_.DB]XM#J)P=5ZDKL.( K/"6 M6F0UW2''TAK7,3^Z9:N[+YR6(LS!Q 9346PXQA:&K.L:J659%)&6H+8K)8UB MV\>8):<+SDX&[E2BA<),\X&(:6*58-YQOR1D3L*6C4!-)63,7D=Z !F>Q%>5 MSP3BEBRHIK.RT*H(UH]IK;^@/L:^+3J_J==^Q;?3>(SX6??EHU_X*(I:.17' MNR]CBT4VPU7G:$YJ<&0<"5MOJ_#16+.P)I#S=H0*AOH[5-BW%YO$\347,[X! M52+FF>>Q%Z'&5%?4J3F\J.$;SXQ<(C0;B(@*0YDK"!!Y=%=^D;P)TJ4P''JS M^4)Q6E=04C\1QPTOC+TV5GTWR861-Z;&9&V?3[+-?4;2,;8G]$U Z5;?4S* M.N-60:TJ(MGD7&H83FB_2GA97TH/+R+*UFEM7=TE^J_:#I==UQMR*:42FN;< M\GT:!>AIDN7-T;9RV].\5!@]G0XSWF)%(>(D1\IM5,I1"YU>K@?)O9]J'W*4 MMVH,+E:2 :R%4A\^GCHX"QP[ 7P?NWZ3,3_23J5P=LEH=<>,E6@^MW*$6M?Q M85='1*LZ4>8^'6(V]1M]F3IK#R,4.=8U%[;^(',+G@63/>889* V-D9\1$A3 MJ%T,-*H;O,L]W(/O\+J.$ 2T1ZN1CKE)HW,%^Y);N&,A@%LNR,8P^0YKRRSS!W(N*6@Q]X$MMP9N_E'Z"KT.B\7G<+F5;$BRH1UQPFF9&6 M8R.#E&)NWAS*-(%YF1?7Q C#SL1AKBD'W8E@CO!=1VK,/,7$SPD(%3JET)O; M%&G6&''N)'?K@ZO"/4*DNR^=0"?04L"_-B5I&G].,$?2PQR$J_47^!5^YC P MV87;=:#"^I6B2^%:J<9W, ;A OFE1YK%>QZ[IIC2A*G)QXJ-!LGN!Q6.= _O ME74,Z2^,"?+8M0@L9+MP/-J4G.5Z_O$A*%,-$ W&1%'R\854!^_3#5S2?;#C M09X:2ZVBWLH<^;&ON#VWZD]MAI\N,HG0SXZM5B::E10Q[E2O$H]/Q$ MF5T9)<.F8^SC&@ M :$XO41/!TFPVN.)I<=U[!S=KFPAASW/.I(@ITX\&0*BPN7SOD:,C 3CL4:N M'C )/)0I'DELMC'RVLWZ5GG1!1 MB;2B'%T1<399QSZ :RE4(0^FYW@V.I6DZ _LTIR3X42V^M(,S.:E:]!&Y6&, (.W:1$!6&6<*,I'.\+->LG) S) MM<5NFE3#8M[$!&^:B)0KD?KI&%LM_#CHI;,Q<](?LWXZ'8^=-OH\?KV3N?K< MG#/F*_E@RPP"_MB@1XH>IA"Y6* M%H3J5C)'G3&4SY]T#1?K($Q!.<&2)R[G@*H7FHM^=\PRQ/5AS"3KZ:%R4AJB M\7&11T4<>C[HQC7RU^*+TY"[>5>]U.:X89-$(]WIZDY;\@GIW($?X>S5X'L=%9<+57O3[649!+O MXB4PM;WDT&#C/K]=%T5@E@HIW9>/G#?7YE%SR(YFR><%XBIT3:X!U M<9S6T[EC4O;90LR!;=H 5;/!;#[6&ER9X]YZ#_32#/N](X0>IO$G'_WPWQMD M+S=^=X/#6#4/21R(E(/K#-$)ZH(M]W@\8EDDL$9JN OCM5"H"Q/TX*I8S)M*,7U?$U*PA M*/^JJ<3B)ZGR>_5,'$O@%T0/C\2/D9. 8$PLC*0FG748(091^[ZX2I.X>*^5 M_^[CNH&\@O/(^^8=YHT'"7.X?QP.1.5X;AUTC?M0I+SNRMYT.89>)6<$388N M^9H3TBIG^;PD@.$3[Y:[ 'XZ)[2>3P]THCH_G%Q\^J&;O"N/J J3-ZV.3X=Q@2R>%NB)=-3*:?, M6AS.E1YB5;$.RDM$>@K-<"&!;F):,N)C!WS85'(6)#J$1U2>+A%-.FA4F;US MNW7NX6!S@V!HXJ,61L:*0DRH/;9"OF"6,#@=@JF+MD,!MY-9#Q:FP_3U M)4!^'RR!'">]\\/']TB)QCS=@0'FD_Q:*\Y=U+$V""V7PSMK1@@(RZP:1A4E M'>FY(AT!-2HT.I 7S]5[QGG/A2%D6VJ+<^=O47F#0:XV/H14?%U4?E.^S$WSS.C&Q@)%GEQ@>CM )'44,PZ@8CZM%!^$"@GT7":U@YEX MS=.Q+#C([S]Y8]'&3QV<,ON2F?TOC2VC^J)ET[4W+(KXN2$*-,%Y2JQ+(3YR M4+8I$*6QEB57()FA-K^(LP66UQIA5B9[V)ZS&RA>@.O^J&,&U M@:&5*QJ%&YT;5M,"N_$X)WF4]QQJEMZNL#BVO-)E/!1O ;^/V*1=*?1\*3M% M*I0Y&4@5U$-]:760S\.Y99+D02R'SN23PDL(D@ ^$0_C"C4;+*D11S2>!E0, ML"A$9QHG/4 S!<5H0Y*P M;CC0-_7A*L^+SC3FM5;$5V%U(+EM_>.WN)9UX26EWA2]E>R0X6,1T7L M+*S0#]']K*:+6AT.]'Y[;TZG10_0U"!5[Y,%Y:'I31VV"(U82#:#=! M"E3;EAF5RVTB<5=NY<=V]0U"J=U1TJ3HFR5"&JT?GKWX'<\;8BV@9UAY%&3_!U#A!E?= ?B[6O>V@'LM"MA*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=-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,/\-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-:=:.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)SDH(>: M1GJSN-E08Z9K%FTTA[:ADP6P% G'>^ PVW$2S>O6G%05[Z#7,G=Q'!OH\ M%_GJ);!WA-6"ERWBBNM<0&N^A]&PLY$3U5AKTV/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 MHG#X4GGN\TQBEZAMIHLM@I^"'D$O[V#7X%:9^U3C!N/52E+23@61/LIJ,GIM M#9#&I8&6P,G#OB=/P0M"C0F M7]A<8:F>N1\GQQ/](LQR2(-Z=B9I#" Z6F5$;9]]5AC7I<*[%!:;S@'\ MHP4L#5Z^Y WU&-:B9WDEIY+=@+QJG#' AJR9XVI7A!;GY!H($,:?;WFI7,,Y M+LQ.&'26IDEH,PY'4&I2;C>UE@*,&$9^A5J_E%2*EI*XWYB_,D[Z.T[>4_N) MM[ZE2NV+F)F6FLC#/-3OJ+905:3IK71+<%JQ,\/"YCCN,%NIM14U1\,0R"5% M-$5)!4I!Q L;1Q\YJVGL070'\3I9; MXR"<[X3EM?.>[.QOLT?T!ZWQ=C[(;UHP<>_/=+ 5'.57G AV3+3V[2%@:->, M3!>AJ<&/)SJKVS1GM)B"?..F M Q="X\(R-=NYPAM%%J;O=HV>'L%>M6F#W'C@\)5A"!=?7H<.Y\T=AE! LU@$ ML'_Q#(L;H M>"M8)GW;3A@,84$J6+KS2UY$76Q@ @4^45%VZ]D\(E,6F;D35 M<0RHLFOU,<#@4._+)D,N;M*06Z\K"';@>W@9MI= >S#P$+:O8<'=6]*@,_7OV_FM M+W7TF?\:IF&X*8DBFZ4)W0>-HXZK7@1UMN20OV7I/MB/0008!,O8>7Z/6!\! M])UMW*+R)>Q$:F!U79:>M,6UJWW<\C=P)T84"5U\*0N)B7J,+6T8FB41D*S M%9Y<]&WVIY[V9];!.=%;YD?9-*ZD,8I/5;L#5(T@ZQ>[FMS67#DM)JU7Q]B> MM>9LTW/%;;CSU4$XX5K]GV(NYR9\K0LH!094-!)9(>W14F\96?6F;BFI\1LS MGGJQ62ORL!T"ST.A<SFDGK5LG"FC'U*S?CPX41R \T!8I&'[[E]"G*TD%8LI#_M,#\2']2Z MN47#5 )%E/'Z!&-*R(B&1D1M;W<&EE\'AX6&..F>PR/$\G'RP<_KJ&5>[.9# M?<1EK+MV83@BUAGS>X^2X]P\Q/Y6Q1>NW###]/XE4^Z^V>37=UKF$':C]+I7 M$( VOACO9S C-_C(="B^8[FZ,)J' ]:/ZC%[QS/O"OAQ:!T#Y"H8V-\;7 4B MNLT:ACL1I7?WJ)AKCJQ^E O*;B+:QAT.YW7;@CZC7IMF -"@7/M MP%5-W;(".R@*^(]UE7.31?B.O%N90',#L2W#ENX1JC@CFXC[S?AI>66:[U%/ M]@9^0 )^ ";N4"C%E1]# 1VX5+LE$0;0U.#;BL"XX')?#J^ /J!!8#G=9.W%Q?/'^O'@]8C2R>]43J;CN!? MO=DHG0P'\*]L,$T'_5[3,[RY/DYG@VDR&:3]"=P]S-)I-GWQRIW1R?VC9JE7 MCPSQ( M![,>_#> ?TW@SE$_@W]EO5XZF@Z^9\F!!QP(FB/K)7;/Y>,;W[KG/)SJQ*0HU+VQWN^U,IVE@5K[HS0;C>E/_^7$&O]UX[%9 M;*W+HATXHPC)8);VLF'2'PS3*1 DGL5IYNYZO[%M3^TNCOKI8-H'?I+.@+=T M!KUT.!YV:Z\%VAOV1C!S>&XV2,8C..#U%7AM)$F+( %Y_.,X,]YVHP#:#">' M"H@=&BC+7%W6Y8TGS1!8NJ$J[MBO;E"TA')]-/*BO*74<>8\G":+2/-RZLVW M/KCBHC,M+N)S<_:U4&L]",!0!U5-E/GBUJ*2ZL8DZ"I-SBA,)8(CMRCM.C!F M>'-L% B>Y+U#W;S+\18P!<%JNQ;I[^'C-7ZQB/*G5$5CZ]B5?35EAY'5;UVG M32ZE6_222'MMTI/=O#@20*U*2,P[MP28 YR$XY^-5D/T((-$_HSE64@;0#<, M4B+87QA'CZJPH,P-/,?6:SF!F(7SMUNKPXW;&DO+Y7S5$/DK-+8B.;T10) + M=0=AXI;I!AWR%OQ[\6;B#[H=GX3;:Y3=5O#])Q9HSEE8:#O M>>,)N854W7)5D'E(:]R\R79WY66AT]TYB*7FR#X2R[NW,>J3[[0CZ:GT7&>_ M;U>:SS!OW2,\DYAQ%ZGL.0:5%\ /I7J1:'!9K&X1DNG&%$]JT01GIMGG>""F M%H/6^?R#)& ;Q+V32C)7$K=8/98+Z9GN/.5 @SZDO-0$O>''L-/.E/BY/ZOSPT\0J.R^NAY+ M1]$\F:73T0 U!?S'B,WLZ33MP0^UEVG3-E\M\^T@26W@HA_!@LS76-H5QISB MZUZJAW>>,%.J^1T2:(J\_KU%X(W$R[J&)=XNHN-V#B08Y3!?K0-7L> ME[F8[^(2JBWSNFU8NN['[2/W5-(<+-9B*,Y&@YG]F$W3R62"[I8AF%R"2#&< MI+WAZ(\ P>K\LRLZLC_RG #'J>Z[?O/.2MMM_99\R :0=17V@&L"HU^Y:JZV MZGR*Q*(E20T5D]MU;H]MFBBFHA"WBSDEF']:U2]AV8\F9!'T9W-F*+;P)%&Z+F38 M DWGW.-;M/+J":%EXYYQ9AM-[\$WS,.!,MRC(( 9YZ;'"].[O'_3B7(B_FAJ M0?_A%@#G:+_CWAZY09+W$;L84]=EEKJU)N&UV07;H,77OK?W_MI4+<^,OCN?B7>,34;]_SLTM'8.JVR;-)PXMT(QNEP8H?8 M[Z>]?O!%#\8\,9T$F]E*R(C\W2/T#X8>AG[VEYV?Z4;@_J.1<4UTT LV'(<# M&PW\%S&3_TV2)TDI=@J75[_$#2*B-^-^:$9KD M)'$V"N],0LBKF?W>3R(+?XIC%,[5XK!]I%B>25A[76(&H8$P@GMO_]7X7M;N55W^I;A:'6XU#?/,8M M#_-+L7Q434@#]2ZEDDF#1&Q:@Y#.I#%4&I+N0[E\NEX#V\J7W/#"$?%RR8U% M-)?:;\7 W*:"ZV:QKC;2UMUDPC&)E=L-YB")C<]O= % A$AT!MQL M M\>0G6PJF@/JKN=Z=C9I>^]P%F.*+=BU W:_$#H)B)?I5&\- 'YW59*X7@U(NK[6*YB;3+\(A(4BUA M' GLNST \&#C$19!VS Y=Y9@&6":!9&D6DUX#1"Z1V0(L#/28=^C;DX+;GLB?L&H<"XV:ZO%M6=5H.8?D-XI]- ZM174$J)UGJ) M#]H.V518NSA\DS*FRE. -#V6'"Q487W=? V) MC!O&4R687]DJP#8A!FQ>_S.#<#O2=*H#[X^D6D= AN0OC)NU.3>2+3[1'!(! M V:0 BK>VW +1+"&,!-4-&JN#\3'?%FY-&,KI^.'*^'X0#_ MX+BZN S2,)WS)E\LL=J,"[8=5XVU>:KQVRC@O,X.>&I?;&*FO/%^FY">)*EKXQR F:ZY*_UMQOHK\LZ;C-=GB^#RAMY M8ZW'KOQFCLP&[7@B8VZG:?W4[T,@G50?3S%/B@Q MTH,I,=MFDQH66[S8P0.:,\5"&666D0(L:?1J/S-J,(..>7ZGJU8+I1:8W906 MB)Q&C/7[_"OIT'P&B4E4@34_YV)5CC&[-GNB%,3#- W!(R42!M-444),]("9 MM[V]QB$M+R%#G_QVY1T2 M,3COHDI^!.MU.F9O8#\=3I\+42M!@UI!A5>B CRG%@KJ0Q3U1?:,4?;OX38/&QC(37WUY(X\FRM(7 MD[1W"8^&\3QQ&_9\6=YB*T[TRSF50+.OL6I3)#@W?XT1]@T0K:MK13V&I3T6 MC2I\HB*JU#L@BYHLP$R<(;R6X+ZI?]&B-I+KACIH986L?1R@M@YNWSQCHYFU MA;9WU)XN;*]:UY_ L2T^G[5Z15?W5][H7)^LNR$<5M(AT)22D*F* !-)UH,K M"X0P=#^ZJ3JEB: U3NW2 F2@*,4V#@U]T(O$K21B5Y%EZYM1!8"'KJ.5=7<9 MK!!%D' +H&F>IA'1CC1ZMIZ!?+8;8YE8T5H7EY*]KN@G'FDL,"QV2X- E]@K MEG&GZ*QB;'M1UX!!*DK:,D*?^?)8,6OUE(H)J".("K5$WKK+&H2T-;OCDX'_ MP,*:VIA JUCC/[@_]'8EN+-5(WFJ]DX@)BM4NR6EEZ=/1Y5U;4WA]G-W62G1 MT[0Q:U#^+I ^5\KL$++(=@B4,EME*=7V&C'<,$)"&N$U5W/+7,5^3L!T(V(M MJ'U?F&Y=8^:$8;E=D?W+^(6VT"36DAWDB"#;8@VQZYL*]BI!D85*(Q )&78. M+A=QNUPGL]KEPAE,*WM)7\'H/_5 ]L+O K)&Q3QCZ1+X.B^EJJ7)ZS&E0)N0H MH+@-VD]BD;>=V&")(W@,]X4T]G& U 2N>G.#<#MDQ9((H)+5W/0:=1AG+>B[ M.T',\<2U 8NYE$"/XVKP0!LF:4 WLE'DRH S.P2P<4O MS@9U$"EN[KE$SY^D#)6LS] [$DZ35,BFZ78<[:TZRU#*=3RI72701XNO_XH7W6E ;B^PQ78Y18N)%+KXE,8 M9*.RV;\J&?%Y3KB/6T%JW-QY844N_'GB^RFZ,U2Z%SRQ1C>-!*[+YW),"8O+E0D>&7PQP3+MB/:>6O VQ5.%32)< MLW50?^LB8NAT+A@ND#!.N@Z0,Y@EC5C5K0@;!B,5TL_8][[=X:X0SP1\M2[N M0"-%$U! =3DQPV5HJR,!DU[$"]7F-.,\DGRM8U3_.H\/*ZV6!U)CRN7[,.Z/ MQ0J.U]7"L92/;U]YMG&V!6F=)J=@GL.+5S7^]^OC&W^7]B!M*YS&LP\_%M0IK*GO15E5+43_Q -N=$F@Z:@1.V!IV_H<3%98@4(B M\_-%Q9XL+;CGWXZ#HIE*^R@0R+( *;2/<,[]KPM%ADTE^GW83E6I6,TU,OH? MP5K)*?#8I=LQ5U$T]#@QLU.X)F3B?NM2TA68%8\,"+&@D+#HX#@!@;24)G1S MXR3D (7V6W'X[H+[AE<3@[_/?"8FVE9E3(&BQ M:E)2V5".-)^0?3NVC?=8QIO:'D$H(,C;N@I--8IN<+Y!2]".P^?F1FG3!. NCC0V3J[!9B%P&4Z)_I+?Z,F5KQ39 M<9U_L4@IIC7"<@N#V=[K311SSBNRHTO*GEEMT67 ZME-42C.BAD]BU:T(N^* MW$S&U2@5H/>? M,@&Q_SKW!"KOF@? MS3&VY. 7$-ZNJYU&NF-$&*AJ>\>URZ^E?R +?02"]+V:7-8L7U@G1WWKL:WY MU!8&1DJFU 5V@;A6:T2.,$CHS12= DEAPQO4'_*[#5(FL(X*888QI;A.A V* MA]!TZ!M1=NG&%_$V$KKEM6E!%;NN+I+,=UX1%C-B% M;Y:R)$%@5B"P_).K^-&:S>ZIW":$QP2;QM2:>FW.._\1K%!*=-$![3)9?(E# M11WO2%U0KD242\JG!XLY=3UY=APA."YWQ5(@7&Z"E5ILMD8^>_<2=I$1>$:? M?D$BS(;P):6C%B:1$!M?5#@ =EY:Y^2G.@57ZE4#&D07*W+0?.DAR:L":)24 M#=*C\"4>("L(H*GOEH2\P>.GW,ER>[5!,#FW,P9+AIRX#J,[OS6=4UW!-PU= MPSYPQ-;("QP&H*$=%!PNNN!'^EL4@6@D!C&*#'$$LLI_CTXH*V["E9!T/=37 MI'-TX[8$&55_,E3B\];:BO3V[)S;,^5"+;,%2P (;8VIIB95*]<<+<:?]J%8 MGH6:-%1#]WF+JUMP&[8KFI5D$35S M%9V:)8A#4&AK[Z?J25>O[/>=U#*T/GSF)V9P([F24=#.8L2C8M@I4>M"2^W( MX0\GIK7$[76 -G73Q'SK"NH-**C[[VNL?==."JQKN[ MDH0!OC+]9BN7FNI? MTNS2XTUWCYP7U-7'/I;"6YA"L1%?M4.)<8:S%, 2%K%6E+KJ*,=,-/O!Q<:1 MHC&+Q%80VSY A";-(&_+P)YRB@LP@\_4A''-UM!J$T^(X $#=FCG=@KK3<=I/GC*;1>-'01TDAS(7PP;MR.><496> -A\FSLE@AD>' M')-28W#V((KOY%6+<8LC%ZKSHB'E%C8MQF7+DX0$VI!C-@Q$Y]3U$&^'B2[J MGQ";[9'?Q7AI:G!YE(#4.,Q%%-F5]@\$2=5XBQ8*;@0MG3T!VG6,-'>3/1/I M+<8FFQO:0>V+;FS4](E[J[I/86Z>O_9]039@G'8X>@,T1EG!"NI''C@65;]I MLI@#+3#=>$OOQJ"V%8WK0'[HT+\1FC)42, ZQ+73V0MW,E@:E;Z\B;K+X&2- MANI/!FD!*-&*VR>)T\_1A_U9^;09@;["#]=_3P4WQ3U_$38OHY=S1Q>^DO26 MEB>Z ^"\1U()9Z+0]J7T<$U]4=S]5.JZF*VZ/'R\S>/Q>K8,NV-?%K5(1%G@ MUEP;)J;@!E(9A&;3OK.IR"Z*C M+11#XY#* #P:S"0UC9LS&E;ERE8\J5G'*C1B$:Q11+FD-)_P#=,V*3NQFG(F MFY5T<(NZN-])=0O-=]VD]>KD%1S":[?U^ON"RS^VDEA'QH,I;Y>KXK19 MU"K$H$3''S5WR=%_)!;0EP*KOO&D2*!HM24CIG9]"6H>JH.DHH2!9H2L7-*X MXC$_\'%RC]$=D);DSO*;X_T.*(B+9'>E<=ER)?('0+7"@0I4%-=9-26;5=3!ZBXOYA63Z1YUF]\CPV:;0= MN+AD"2,W+5^_7:&\=I'<8*_/@H*"[^XH7'6-6=U$MW.@ZSK=;DJMX+:4C.WOST=Z'=$F3GP M[9B1^+JX6A.J7M;KCUEW>GUR\4KO/;GX1+\<];(T^4$Z?'Q!TA)(*>#AFNY[W"KUCG'E>'%"G$#)^\\-JOV1I,:9.'T( M"D\Y<_SB2+'$;\5C@"]TS@ 85 2VZ/(-$#1D]QR62^TTK_4KPBGFTA=8P0@D M(XG'%2;'6MO* /*9%SXX/,9UX9'?1/&277O(KS\[5_"Z*-R^L"\#(0:P_53^ M&2TF[61,>ON2]%47<(8G=_I=\99&$'TT24:]4H&E/<6TQ7HGZW+%DT9H.+U$ M[N-MOL:":VH4L7'PTYU!]$Y=N: K2(SV'CZ8="9,QQ0*,+[H_.;&"6H?D9"] M"Z**F!ZV*+?5\BGJ+,AU.'HJ>N0HS35<9NBN%:G[.S$(RA%VB#,R!*1ZZD18&8O/I-YI)WB? MK2.#92\DP7.NN(DF^5+GCX)61&M,%^(3H%=H45.F2,EZY* MVW]3^7&;[()G\3_KBV5%OF,H_1O*/?D__T9>5SGI'O8$D_,-HYLS?M-[A MCEL!+=;<%17M55J(>TQZB$,2S*/)\:,A-.-HS%>Z"![.$Z:J^=7^V8%OU>C6 MIE@6WA[VT,6;4R^>?$,%TTY(5&8^EXN;@C)*W%A,( YWGRR&V%]L:@)=(!:3 MV\C-HQ$4,T;?D7X3)*?2XL\3LU$7$>R/%)3:*E@N MQLJS@5E[$%QW3AGUP>2Y-0 O6<6\EWL=<:/IZ5!,7:PJ P1]&%T>),@QF#EERYPK^V"1[PCM3%C+B5KO?8 MUC(J;1:R*T#Z!W:4UMCNPC<)"?=GYQ'T,8SO=/HD;[&@+#&O\:([I>B,_30]7'0]5H;^) /TJZT0=R:_YB8^V_@KI/ MRN>YAHO.1')$HA86(D? S4>]P7>EEVP&,CO\MY2?Y!&%@H0G;4K$7C=I:66) M8_)?C3C.:ZT&KT1W)_5M$Q16"GC*3C.<_-&QKJ5U!&ZXPD=P7 O<'+':7;;X M?P[5NN7SYD$#V8)F!=KN.?NG+_.O7I.;#)%<+V!,&)!0.^#$JZ^XW^&-0OWF MT7&!1\6/8Q14NG63?[4Z,= &$B_JRSE:S3Z%U^,W**S3IE2XMF!,=T]7:TSN M@ >#$ "E">OAX0.]6DO)3K04;=64 D=GB*,M#@8)LVI@XG:Q=3(M3<@#SE6 M]53;PY6R2TI3[-8>@/W7MIR$Y-1B,#,P%W*IO$@VI%SGOUO5=W:-^N0R<$PPDKN+)WWP>C?IM? ^EA!;AKC)2\ MW@*;Y!;B-XNOFZU&*>I N()QF;PM-_"BQP(8!.9XRM>[UM -XH8D'!#/0IK6 M%>T>^;:_E\7UW8K\D-AR] C3"AP38=H'->WU8H752-BH"GU'_?&$4,F&/; @AJ95\1BL,'@8B-2T-^G% MJ_+AX_M_/SN]3$XN+LYVB$B[QH*7_T(;_3]GF3\$8W:,Y>0:5"I)8J*HJ=X! M&O-XX'4IT(C[HVG;4\X^G%KP8OL<4,) 6>\;*Q:4+!C^;#*NC1F@^2=0:2+[QF,,K01W>?A=)#V1K6C M!Y3QX>SCY=_3Y,.;DW= (>]^3L[^SZ?S#V_A1*;)N[/+0ZEE5Z>U/\ J^&,H MR'OCAD/PVG<&V&:MAH-DU)(3OWV1G>S '-'.V>SG $[!PN MNMA><2GMM(>:1I;,X$$CL%I/;0>0A8O)(N\#XS09@74R&N")VT,]R70Z3&?3 M,:XG,,C>H*;27;Q_<_(Q^?#^M[./R<7?+R[/WEX<3KX-#03_&Q'M14/[0]]O MU?"$\3@=#SUM3(!40#(WW:Z11+-[CI&DP^G0?)H.>NT4Y8VY,1JJQKK+,J!, M4!<:WAZJFR#1IC/C' /U?C2I:Q"7)^]^.7_UYDQDW.%[_\W^Z$/__D((JONN M.E6/",6?^;=^U?NWO3 M?]WNP?DS3F8ROHP?9];O-^Q;!D+-^"+1F32=]?Q=( UGLVSWOF53LDW\,T H M#C6_]NN3\X_)KR=O/ITE;\].+CY]/$,%Y: #'E;%M%31E0WPF2%F M\1]M'L9_3<(7 6&X84>^[L.H:1>C>"7SO*#$[C>E!+W- /9?L6\V/^[XI699 M:M*^S^\WTX_4SOHK8_@F-[S]3W2$^X)[AJ.>SQ&BG._J M2_YPR#1FPP-?@Y\;7K%_K!;OVC'S-.N/7WBO_A83 '.+"6C;D^@[)_/3T7"R ME\3^L .W*YCS/_K4->SS,EJ+QH,P !6Q]^*[>V!)O_"$'O)\&^][[JVC T_2 M(0^+C\,S;P>S[AL&<\CY?,$C0!TP]@4?8J"&\4QUN3YI_3O3;1SJ?+ND/@CD M^E\MKVNK@_[:( R+_EO7-/N[O'/2[[>^?X=F\ UOQ/C< M*.E,,"[7F0TG=7IG-M#))AG%"])L@($#L-6 +;?V&O_UY./Y"=KV8.:??3R[ MN$Q ]S^_/#1<$+6^DT28H/I3L!P,6_GU_.Q/50OF$J*&NQ8ZN(#:U$@LAN_& M>W9DS@1^(B>@K/;Q$G(4K/&A\67/)F JCB7S)+HX Y8_\!HA1I)[:@#& ME_8F:69<1UD&>L+X\.2;"TQ[)##LY*IOS]^4\P M[HABU?!5_+Q0!_X QQ KVVZ+PR^HGXK.3]V6;S^>)1_+JEB7UY^3OY82)7CS MYM3C=LBO]+'_%_^<<99.QMY^&?IY8TQF,+2_.)1D]HN>KV[6.?M@J:IKNYI3 M\K^I04.7BR'\X?'8$V@?3T46_7BQ_>==N35(P!C:P)4^+8_3Y,UF?FQN@)/O MA8AY\#CMC7KF!SHSH @,R8S+^DB/&K- 8PI^ M"2YN>>@+_[]DWZ5;L!]Z,LH69@8TC0YZ$&#KL8EZ/&<=-9SS@" MRE5#%;Y>C";X0)4O+&Q8?"WF9@C^J9-T#,,U;+/A(GASUE,.5O]Y.$IG_?&N MA1:\8A'ONQ@;#**]]?QJNU-P0Y M$C[.SAXN)J,.WV\Q5)T^F0Z 2I_[OGCFSWDC'(PLR_82RZ&"*"":WV*0+LKV M5^B)>-1T?HYBQ(0.3( *#KI)_]A8OB]Z=@U-PSQ]<-P;'#S]IK?'[PR!)J*) M):-CX-L_O>A!\>_#8U /?VICZ#66C6DR DSVO=47?S@IEI]\8/!HQ\7#;YDE MAM\14SICN#9#8'\VC*CI7UBX%?#ZD4G^'<\QK&"-3/'EYL1I".ANUV(O^:84*Z&T#:FTQ: M;^!?"1^#:]C\#R,SD/IM^"LO.K>D2; ],'9]9[IP4-]NDOUT8E8)/O8'?I5 M\9YBID1157_&C(VM8-2Q@/6SRZSQ CK-V"QB!COQ[L.O7-9WT)C ZAA.1_9C M;^+G/)FFH]%^[T@K5UOERR>$>\BK]G(7(^T-Q5GU,P.1;N+IPR'\.C*&DF>6 MZ<3HZTAVQO0!Z3.9#0/%H5%9.6!!]O,$^V3*3'"H8+V:$H@UA[LWBX0JV2*O M04V!?QV]IHY-_%=AI;(7NTI61%*BJ$O556EL><8S?D7R[&23NC]HB[:9R)*CQWIG:S[\ M=3< F0#?,B>O=M+;3RV!() VCT^X?N9-?!'U!JC?C9[&@/86:]0/Y3WFSO MKJ;3JR]GE^^;:>H(#608(O[O1A>]B@596)%A?(D'L% &(XE!1^V%OM52T_%< MT8T^K$?/#'/S,2)RI /1<&$WE08C-+@.,=HM_P3#+'W8[%:CD2@H8@L,56/$ M>G7Z5AYTAD,C*B^..CX<&6O7X8A$>0^TM4Y_V-S1*57J3A3#GO=]]+Z$,;ZV M,AI"[/;G-2A'V3,5\\OWN@R"6%@&N>]>+<@^_5ZO$T0E\29 '3,8%B68 (YS MA-FAIJ2BNX'O1B6A1,3N6N0.0T#HA7')LXS)4*/.$"0PP3#FP"P*-HY.PZX?PW: +M\L/-6&!@JBJ)/?_4GJ(2;SVV2&Y M2>DN>#H=7][\Y!U?S:J2'EPIKCDFN@,%Y7>7(*3BV2)4E4:8[A"!.@+R M4]0;*,?C5U$[=X-L2:"\>Q+C7<*[?RDBQ>=K1\P[UAII /I+.) NOP@4GA M*G&?]GO@&XG6_; S"OM>""^! M"QU>%@-/\_.<'2PDM"==PWZ$NS[&[.<#T+ "-TD'&'T?F&$#P )C,VNZ+U+2 M6Y#U *3'V,SH1#>MGG@?B!J4B0J[TUR) ;!M@U2P3,%(TO0 UJ@7'V*X\6@( M:EUO,#1V"- X K$9%,\0I#U0#2)X\TE>7GI_FF+>.U8_\ -*ICE YA2[R(I) M=8%AVX#;9:3_/ !-U@]:D13UY($AS0*[,B+5@5J805ND*"Q*JD.1?S/RD;)1:&3@@M;N!Q[L5@P1Q?T!,N5A?J7F);S4%;P_?7V, MV !6$, %?C"">]Q)7[1@]@U9'2Y](V,)]A\C$;R.&4ZA%C-#( 'H M@B4V$!6L8'YQ1#B+2._8H>]3VBN6WX"]8'AH>[ */G(RK-#2#]#V6G6I/,E$ M,9J$41"X5 "\4$ :BZF*(EZX3L\KD;F(V-K%H!,4C;!;6,=D@;8Q=KW]/BXJ M+J# ]1[W,>,M]E$<'6*&D:S.*:HD%^A2 J-6RH!(? >^@FN(A51 CIBF\YU$ M!>+]*! P62UZ\V?GE=+%:4GD(,,AFH/:?I]1"R=\(G4VZ'& M=W=K+*#X4I1<0=$.^BB$ .=_EV#>VJU1G@!O*K2(]N![U()$POE7JFF0'LU7 M+R >4_TD(D9'5#H&3GP K+P'MU)>7I>AB5-9'@$'30JN^$"]$:TQ M1L(DL'M#)=9,P11]!H%9JP?O'!D;@]%FN!08?SJ0%[+E9':\!THU"WIPNZ#J MC,&144S!3'*;Y)OT8!BA\?L0Y0&0TH:'5=U*9)^?+?WXP: SB("Y8$9\OWG2 M7&&%C4U5?RAYZ@@*71@Y-"R>B3:'P"?1!_U=WYB0-:,-4\=@?(#NDLK,[[M%&O!SB\X MH_T![/$H=.X+D&H'F V ">8HH(>'SAG(D8L1-Q*QY&5GV=__7^2BH0\T&U') MMM'($V<_EXR N%.JZ)(L-H>D9)!F)?PD**X/(K=< OP#E(0A<)N(65N*KQ., MIFI!\- L[R@&U41@%M :=AM+ 82/()DH'E'%0MZG@[P4FP-7 MYP_&CTF>:(/E@Y-E2>+(I5/4\G[ 5%_QSV'A4?7 5K]FI0$V-?SG/W?K;#// M[HJ9*0?#0QD:A&SW!R\L](T]/E(\OBY7B[A.:A0'??R)C#?/92&!/E_4,E__ MP>OC8R$^=IQG-=CNP_QU$;8=YD_IP>FLB'SB6OW,VXN!2BZO]?_#O$&@0Z/T M,J,C!(0(\:/2%21KU>80'D(=5!").I6*D+PT.?\/\<-*T9]5_RPW,*N!4E)& M^LPSXC5!YLDV.11(-&7*8;A0#R,5X,X9@HX?8;BX?$SMGUN"$.UU>P/U RYM MWFPN<3N+#1FNZ7AZ28$#UUBPY,-XVBRN63#*/*I8# F7?5Y&"W4"I7XO_O76 MMV)E[==\M07MS8(XKG6_W#VATK!:OUVX#@HODLV6,6)9(+^,V=<;2=_THU%G M, R,#X)PB&6\C$\PX&& MM$<$C4_W%G9JR92F1"7E331Y6IKL?GW0=#G-(=/ M8^YPQSI(>TY5;4MC)EBZS/#_PVPQE,\PD.)L ])'3M+EZ@DK_+_EHAF=TETO M5L.$GE6#;XSC:U_8 7H>8"'-^$M087TL=*K7=D!U3(#]##3BKX0)1-68-K!\ M+UFH"A"SM/$1,%9WUQ]V8H.\@SY&ZIGV87A]$)4WDN-E]?L(&">6E0KYKG%_ M$_9'G= ?L)50F^5-UJ*\\R*LV1U3E$C^$6C6(]!XC9,6]4"=&Y+]OX08_5Q@ M]'*?=H?F1NYW>X53W(UCCN)L[RVN I@P4'P'#Z!5#I$+ZJ!2Y%."';+S,DO;6 MP],'I33(@ TQMHQO\I[J]IQ=GEY-+\8W9U>730(SM*M$XC&(;2 ,9=*^(Z!6 MZ((R,VYPRP@DZ:TZ#&F"P#;IPSYP'=]M[Q=$H(O93 (;>!.T,BXE1'F!O)I! M5/^&-W=.M@!3\JCJY1!#S?IF$:X>5E0V7!$YR #0?[,UT# VZ!L+^YU>%'C0 M56=HU(0YB)%[FG6XT&,- JCH?[1^._Q8+'O\F"]W'JH-; _3<N^BB"_17VBJO>'\'] M"C=P #P[-J,K,/]#]S>$@:+MNV;1?6#UA?1J[,;(IBGU&D8@W@Z^?R&AJB4? M_B9+#KHL_'_D12#*] WI!DX!*+=A9"ZX A=A"Q[05Q$A3UC9(XY=PH6,YE$!.,:C.+:!0_1>6(L, C/ ^,8L7Z# M"-U1O%BH*^9O:=*Q=&UH6]=#NGI8)\^/(!XN9!F6WVF0V&2'#A7#N8< ;#"; M_;0M$+O'N\UVG2RR)/\"^'PA5B,$CF0>2@POE($9\/Q[LD5^Q=!.3&L; 8:##(WW7\:PH"B0]'UHB ]^'D&O5;X,^AGU-)6A1A*'Z_CP&0 M&!D0105?3P@LV0<],QK!11O%,#^L##PB\]?X*47:[;_,Q3B?*(B)FX]&(QI0 MC+6GPYS:[];)KYGF:6&,:5]]@Q@CN"R,OV'1PUZ>"G21_I+=K2ASL8\AGZA. MP^[ *NA%:L2X5T;T#X@UP'EZD5D'V>_%5 P!5T+< _ ;^EC[OC?>9,G>M!!Q M1GW0/D98F3T6Z4ZHE41QOF(8W!3#>S$!, IZY"4._6&>2@E-/JW6J;&=8<)& MA%(_(O=H?D$&&&RKGCP#<3T!.D943\7O8T!LB)Z:>!265FR\3FZ]R5.V+@1H M@1(\,FJEHHFF;U:L""F_1/;T8Y9NEXFQUR,S\]2L#XB!6%&^S6\>DVQA&NKZ M^<$7C*$S\ M9K\HFI)?8QS+"L'5\!-^"UV*5Z;YQ9A#]H=,;^23K^)3,AE'H M,55+%S=K@LZ=*VN&+I9M;T0@M^Q%Z(FC/IL[A'Q,.N> M:DGD<*W%(JOH03/N)\'/?Q_1/71&@CXI\7$XH"W)-HT?89*B%FE"K+,/O*84 M[4<HB*X4P7/]T!''B-S'".LDX6:H(B)%&A'&X\+P=3F4 M>(111#UR\!OY/^;>H2@UQ-/#:*(H&J!!JK'$XI)62,F%[84!28@+N4G7/V>_ M5U?X7CB&PA;RM,(S:\)HFV=,$HCTXH'0%G [@9+2\RD?'+FP*I$NX;_^A:"D M<9_D51 K N!2R)>PE#IB1$A"NTN_12@ &<<"@X6#T+OZC^3I^2\7_/FH$-R* M>3EF'.N(T-SD?CO0*".&;#W"_ A]=?@4'I-_BT:S8&\8Q5F1F"*\)J(\GP?B4L8K_W@X#= M78N 8#;,[W52:T]HX:36S&C.A07ADC=/9Y^^6L9471!E+)T2YP67NE%"?O,>8TZ,3,T @/SO:88%_ MMJKK^YF*O@G0TH_)&?: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**LPH !I6/R %>&YW$IA2C.NE@/5?/,N1.&# M07VY.^XZ6U"#CL704(G'I?Q\8]&T=C^P0"%Z1U\^4^8W(YSO3: M(#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&DRH[- "0$^3N&7AY"9$?$4JF.RP QM%53"\3M=4XA-[N;_/(,AQS>>(,.+8(DG<%7FWM1U[&#!I4U2(__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$+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;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.;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(I.1'X5\.0:G;9MN=;7G, M9T9R>U2UB1NTB1QM3C7>G8$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)__@*'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&;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]FDSYL5#XWK!.>:->*R%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)>(?WN6H0?/\WXT6USNY$7R#L-PDD*"+HN$!!9^?64QY%+ F28TST[@^6$X]^;KY.790ZW? ><(A$);04:$G M9,[[=J1RG0LPLZ3@VP!6J\T:<3>(F<;0ZXX&[,-3-Q)O!4PQ?)CP+?3FV+X. M::8,[-MP29;H&1+NT*6!5,?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)#R#K4\QDA.:/ F(ZC= MP+,/5].;HYO)],*[O$+'T?7X)_+.[R$M.-"WV\LOY7Q59KUDB-7.%D6LZG*S M2>4QQ."$Z=GQ#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/ =-T7Z98T^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.(K)D7$%F$=@#WH^(7K&=)+)>OY^SR^.IBXMV,_Z;*4UF1^?9R6)PY$?@8 M#Y!Z-7S)KP\-"NE2,\IHYOP^P=* 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=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\5- M./G*3=ABUSE?R#'B.5DMH/ 5BW?Z-\)];T"GJB(4!E![@VUJVWV6);&FG9L&W;>YO=+1EIX;!HD2<' J?[!)"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"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*//: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)]WXE0, 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?CG24CKN\==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?^148OSF;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/'=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"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: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 MB,PFZLK^K!&BQ+JQ/U%(#Z.I'=VBFXD_SX.;Y&8Y4JQ MHW::D.8BX$+WY9!\)4JD%ZHBKT-K:K8^X3/K=?-9Q>])HMV68?WJCZW%: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/8Z4Y><\,M CD^Q5O*S4= MYW'E;-.L"07OJZAX\=J%-4+PSVSEWE\;]PNL:HG"AV56M: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:((:KSZL-%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]83]0Y0!$G7BZ_>,GE*YW_^ MUW+ULL05_T/YR0,,-DS$V#EX7Z_;BRQ;X#N]'=V9]8>'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),>"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'?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>;#1*GTK>-D08(9RLY$BKGV1$(RI+0J8R=+)49A9H(8 M=?JN.W(8(AQ.)SQG-TQE(! Y5SX\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 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$EVX2$(;9\S+3KP\]FQ*8;(T\S;Z V\# M7\>&.$(Y5;?FB(73AXW\T1#W1O6N60WAPT;^A$.2LV+:=YJOR.D/4$L#!!0 M ( "%*G%"1#RXLR0@ "!1 / >&PO=V]R:V)O;VLN>&ULQ9Q;<]K( M%D;_2A=/.57A6.).*DZ5#+*M%$B,))SQO*1D:(+.",DER8DSOWZVA$FZC?CJ MO&SSA,U%++K5O7KOOGS\D>5_/V39W^)YEZ3%96M;EH\?+BZ*U5;NHN*_V:-, MZ95-EN^BDO[-OUT4C[F,UL56RG*77'0,8W"QB^*T]>GCX5J+_$+])ROEJHRS ME)ZLGKB+Y8_B]^O5OR*B-WR78?1PV3):(GHJL^LX*64^C4IYDV=/CW'Z[;)E MML0FSHLRJ+Z[?NMNJ_$]FB7W&A_(RZ' Z/ M^T+\D/\_Q9AM-O%*3K/5TTZFY;X<<&WLR96J$]%5?6 MS'(GM@AN;3L,%, . .R<#5"\6T0*9!= =M\0,@CI86Z[!.A="V]A^PID#T#V MS@8Y\>8+!;(/(/OG@[RU7 5R " '9X3\VE$@AP!R>#Y(*[A5($< 6Z_QEA8[G"LN=BH7ON!-G85_J7OS:\\746UZ%U\M?H*IU3*0=D]D[CGM' M=Z+G.[:&A"1C,EMFX7N?[4DHK"#0]6PBJYC,6B$J4EQX_UXL2,YAW4#L/Y;. MHFK)[X6*B;QB,HN%NAG+%POOB^V+X#Z@CB9X+UP[5/F04DQFISAN:+DWSM7, M?JG?(SKD$I-9)M>6XXL[:[:TQ=RV@J5?]],J'9*(R6R1.\MWK*KDJ!!MWPY" M07!.^*KI(H.8S JI>I,@W+O-(8E<7SLSAVRG#;*1/#K,\IA1K=HJ#%)$AUD1 M5Y[O>U_(65KQP""$V0;!K>>';;JYYL+UJ-K$PKJO[CB5#ZFAPZP&LJ>_I"'4 M%\OWJ1.^IQ%]H$=P2!$=9D543=)W)M48C_JT8W]UD!@Z_!'''?FK[GGKNE7! MD!$Z[$:@L,P6H?6GSH0\T&'V@&WY;M4NQ:+2Z*WE:RT .:##[ #?GM5!Q,*B ML<@A41#4HY'0UP+'#A)!AUD$5*5SYT4$%1O=?=7@W*;ANE;+722#+GAU73T:)FKD5;7$=IU&Z4C&1*;K,IK >Z_"B+Z\^(_*AF328Y:)GE!IQ$-2Z3%+!696]!I&=NEQV^5$9N6E/%5, M./O!+)GF!$MCI2/E])B5TYQI:<1$RNDQ*^=TRJ5&53&1?50;0LWJF82"U][OCE.%YN+$HXK\[LE5>!ABHEL M,V"V#<8 +#0XHX6^FJJ%!LA" V8+X1255IK(0H,WF)S_ ME:*:RC**$VU<-$3N&3*[YW6.JHD/26?(GT,#22JUCH=(.D-NZ9Q,4M4%JF(B MZ0R9I7,J2?52ZRHFDLZ063JGDE0-F$@ZP_/DTMK"24N9JS'%$$EGR"R=DY@W M49QJ4>X0KB<^RQHPPIQ$>?Y3:T)(.L.S+0:K[T\5$TEG>*X58?M6I&".D'Y& M;S!]TXS9%F'TK&(B"XW8$VVG,;URJV(B"XV8+;3/\[;%3$:%%/*9+D6/34X? M(0N-F"UTP)Q$Q59LDNQ',R(RT(C90 =$988^5F;H54QDH!&S@0Z8WJ/,Z=7T MFTBJJB_J>?KR2<5$!AHQ&PA@WN29ZO,1,M"(V4 'S/WJ"ZF79:X:: 3WM+S) M;$X#9E66A79O(@.-F UTP RSDEK/J[(LU=(<(P.-WV)E\C'FOBS7&B8RT)C9 M0"48J6?,K)X3F"D-UNG-WU5,I)XQ^[Q/\\KZX\!\C-0S M9E;/J0GGADI'ZAFSKX)N6&G?W-+AADKV5="OUMPW(IH&WD[)'OHHD_=MLA9146B@<*.EP9Z&TT!]NBM"TAJ?I#L5[_-DW^3=@4D\:;Z@KI4]JH'B7/_=B MA$90.UIMQ6.>K350*"7NC?Y'"Z,:*QWJB'OC?_/NHJ;!IXF/ N ^"^#D(JXJ MM:2E%$Q\& #[:0"G0?U@J9F."IP^8^^,'+NJW%Y\^KN4F3N7: MI2\IZ/E5E*P6N:@>7J[5K]KFYBE))O2 M=R,QDIEGXQ4R?/?5M_%Y.3]N-]/Z<3==O+X\;Z;KQ7J>=U^&85JMQY?E=+G= MC9O#7^ZW^Y?E?/AU_S#LEJNGY<,X!.?*L#^]QN+FZO2:%[=WUXO][9U?7/Q8 M[A_&^7HQO#X/O[;[IVD]CO,T'%_\Y>$&A[>\[<;_N?WV_OYQ-7[=KGZ^C)OY MG15_;[ 8WA\4S@\*\D'Q_* H'Y3.#TKR0?G\H"P?5,X/*O)!]?R@*A_4S@]J M\D']_* N'^0=R.CTDPAKO=8>N/9ZKSV [?5B>R#;Z\WV@+;7J^V!;:]WVP/< M7B^W![J]WFX/>'N]W@'T#GJ] ^@=##YKTX=MO=X!] YZO0/H'?1Z!] [Z/4. MH'?0ZQU [Z#7.X#>0:]W +V#7N\(>D>]WA'TCGJ](^@=#9Z5T,,2O=X1](YZ MO2/H'?5Z1] [ZO6.H'?4ZQU![ZC7.X+>4:]W KV37N\$>B>]W@GT3GJ]$^B= M#)YUT\-NO=X)]$YZO1/HG?1Z)] [Z?5.H'?2ZYU [Z37.X/>6:]W!KVS7N\, M>F>]WAGTSGJ],^B=#;ZKI"\K]7IGT#OK] M[P)Z%[W>!?0N>KT+Z%WT>A?0N^CU+J!W,3AK0H=-]'H7T+OH]2Z@=]'K74#O MHM>[@MY5KW<%O:M>[PIZ5[W>%?2N>KTKZ%WU>E?0N^KUKJ!W-3@K2(<%]7I7 MT+OJ]:Z@=]7KW4#OIM>[@=Y-KW<#O9M>[P9Z-[W>#?1N>KT;Z-WT>C?0N^GU M;J!W,SCK38>]]7HWT+OI]>Z@=]?KW4'OKM>[@]Y=KW<'O;M>[PYZ=[W>'?3N M>KT[Z-WU>G?0N^OU[J!W-VAU*-:QJ'4PUS'H=1P%.\Z@V'&4[#B#9L=1M.,, MJAU'V8XSZ'8H,WT%&=Z@SK3G^:9TWJY'^^^S_O'S7!E&ULS=O-;IM %(;A6['85H8Y_%/%V;3=MI':&Z PMI'YT\PD=>Z^@Y-4:N1* MJ6)+[\889CCGPT;/[MS\>)RU71V'?K2;8._<_#&*;+/70VW#:=:C7]E.9JB= M/S6[:*Z;0[W34:Q4'C73Z/3HUFZI$=S>?-;;^KYWJT]/UY?2FZ">Y[YK:M=- M8_0PMJ^*KI\+AD;WISUVW\WV@]\0K+XT:;OM&MU.S?W@;PGM;'3=VKW6;NA#NZ^-;K\[TXV[Y[QWM7%?Z\$7 MCHY]]->&\'HYW&.OSPO9^%7CNC./ MYR/=^54;+1LO^8AZ>75:W;ZIN2]]O3_VUV0.I^_G?O _BS8Z'=[WJU\N1PS) MD4!RI) <&21'#LE10'*4D!P5)(<S$WM;U!+ 0(4 Q0 ( "!*G% ?(\\#P !," + M " 0 !?D !D;V-0&UL4$L! M A0#% @ ($J<4!?!R%#O *P( !$ ( !F0$ &1O M8U!R;W!S+V-O&UL4$L! A0#% @ ($J<4)E(\# "4$@ & @ 'X" >&PO=V]R:W-H M965T&UL4$L! A0#% @ (4J<4-S'7?&X!@ 0"0 !@ M ( !O0P 'AL+W=O&PO=V]R:W-H965T&UL M4$L! A0#% @ (4J<4&GV:"S# @ J0D !@ ( !PQL M 'AL+W=O !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ (4J< M4-L"H#1]"0 $#4 !@ ( !#B< 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ (4J<4&_.&HBV 0 TP, !D ( ! S< 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J< M4'R_\!NV 0 TP, !D ( !QSP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4,PBBJFU 0 TP, M !D ( !CD( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4,)&=O:U 0 T@, !D M ( !4T@ 'AL+W=OB]Y@[&PO=V]R:W-H965T M&UL4$L! A0# M% @ (4J<4-#'BP.U 0 TP, !D ( !&4X 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4'R+ MW*^U 0 TP, !D ( !W5, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4,_E+:VT 0 TP, !D M ( !GUD 'AL+W=O)*K[0! #3 P &0 @ &*6P >&PO M=V]R:W-H965T&UL4$L! A0#% @ (4J<4#T'0("T 0 TP, !D ( ! M8E\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ (4J<4/:I,(JV 0 TP, !D ( !)64 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4*081VBY 0 TP, !D M ( !#W, 'AL+W=O&PO=V]R M:W-H965TYV !X;"]W;W)K&UL M4$L! A0#% @ (4J<4'V$CS.Y 0 TP, !D ( !WG@ M 'AL+W=O@ >&PO=V]R:W-H965T&UL4$L! A0#% @ M(4J<4(3-&]BZ 0 TP, !D ( !M'X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4-^8MOK- 0 >00 !D M ( ![XH 'AL+W=O&PO=V]R:W-H M965TT?O=M0$ -,# 9 M " 0B/ !X;"]W;W)K&UL4$L! M A0#% @ (4J<4$B&PO=V]R:W-H965T&UL4$L! A0#% @ (4J< M4 A>QZ(S @ Q < !D ( !DY< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4"=EX?^] @ W@D M !D ( !_YX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4!!ZT&][ @ [P< !D M ( !3:< 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ (4J<4%/"DBBC P 3! !D ( !WJ\ 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4-^S M35N P TPX !D ( !_+@ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ (4J<4!+&L@A* @ )P< !D M ( ! L, 'AL+W=O# &0 @ &#Q0 >&PO M=V]R:W-H965T&UL4$L! A0#% @ (4J<4+XR0'DJ @ ^@4 !D ( ! M9&PO=V]R:W-H965T&UL4$L! A0#% M @ (4J<4'R@Q-G# @ ! L !D ( !O=, 'AL+W=O&UL4$L! A0#% @ (4J<4&9A!5X' M @ < 4 !D ( !5MP 'AL+W=O&PO=V]R:W-H965T@-XD@( #D) 9 " 8W@ !X;"]W;W)K&UL4$L! A0#% @ (4J<4/3J:N+% 0 *00 !D M ( !5N, 'AL+W=O(40" M!P &0 @ %2Y0 >&PO=V]R M:W-H965T&UL M4$L! A0#% @ (4J<4#-E/@B3 @ ^ @ !D ( ! ^H M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M(4J<4&&PO=V]R:W-H965T MH%&Z=@( *X' 9 " &UL4$L! A0#% @ (4J<4.H3"&NQ 0 P@, !D M ( !=@0! 'AL+W=O!@$ >&PO=V]R:W-H M965T&PO=V]R:W-H965T&PO=V]R:W-H965T$P$ >&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H M965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H M965T,P$ >&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H M965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H965T%2;_DH" F" &@ @ &Q50$ >&PO=V]R:W-H M965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO=V]R:W-H965T&PO&PO&PO M7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " A2IQ09\48B*T" M [1@ $P @ $ XML 116 R44.htm IDEA: XBRL DOCUMENT v3.20.1
SOLAR POWER SYSTEMS, NET (Tables)
12 Months Ended
Dec. 31, 2019
SOLAR POWER SYSTEMS, NET  
Schedule of solar power systems, net

At December 31,

At December 31,

    

2018

    

2019

$

$

Solar power systems in operation

66,641

70,449

Solar power systems under construction

4,484

4,830

Accumulated depreciation

(16,227)

(22,322)

Solar power systems, net

54,898

52,957

XML 117 R40.htm IDEA: XBRL DOCUMENT v3.20.1
ALLOWANCE FOR DOUBTFUL ACCOUNTS (Tables)
12 Months Ended
Dec. 31, 2019
Allowances for accounts receivable, trade  
ALLOWANCE FOR DOUBTFUL ACCOUNTS  
Schedule of allowances

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

26,119

 

32,941

 

32,733

Allowances made (reversed) during the year, net

 

5,345

 

869

 

(1,386)

Accounts written-off against allowances

 

(174)

 

(297)

 

(309)

Foreign exchange effect

 

1,651

 

(780)

 

(1,493)

Closing balance

 

32,941

 

32,733

 

29,545

Allowances for advances to suppliers  
ALLOWANCE FOR DOUBTFUL ACCOUNTS  
Schedule of allowances

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

19,527

 

18,762

 

20,926

Allowances made (reversed) during the year, net

(833)

2,287

738

Accounts written-off against allowances

 

 

 

(1,452)

Foreign exchange effect

 

68

 

(123)

 

69

Closing balance

 

18,762

 

20,926

 

20,281

Allowances for other receivables  
ALLOWANCE FOR DOUBTFUL ACCOUNTS  
Schedule of allowances

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Beginning of the year

 

9,251

 

10,349

 

9,704

Allowances made (reversed) during the year, net

 

549

 

(175)

 

1,919

Foreign exchange effect

 

549

 

(470)

 

(192)

Closing balance

 

10,349

 

9,704

 

11,431

XML 118 R63.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Revenue recognition - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Revenue recognition:      
Net revenues $ 3,200,583 $ 3,744,512 $ 3,390,393
Recognized at a point in time | MSS      
Revenue recognition:      
Net revenues 2,238,310 2,095,743 2,705,985
Recognized at a point in time | Energy      
Revenue recognition:      
Net revenues 668,476 1,542,906 633,195
Recognized over time | MSS      
Revenue recognition:      
Net revenues 242,828 73,175 6,938
Recognized over time | Energy      
Revenue recognition:      
Net revenues $ 50,969 $ 32,688 $ 44,275
XML 119 R93.htm IDEA: XBRL DOCUMENT v3.20.1
BORROWINGS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Oct. 31, 2018
BANK BORROWINGS      
Short-term $ 819,031 $ 856,876  
Long-term, current portion 114,089 171,051  
Short-term Debt, Total 933,120 1,027,927  
Long-term borrowings on project assets - current 286,173 265,770  
Long-term borrowings 619,477 393,614  
Total 1,838,770 $ 1,687,311  
Secured short-term borrowings 708,787    
Secured long-term borrowings, Current 283,409    
Secured long-term borrowings 513,622    
Carrying value of property, plant and equipment that serve as collateral for short-term and long-term borrowings 192,103    
Carrying value of inventories that serve as collateral for short-term and long-term borrowings 55,955    
Carrying value of prepaid land use rights that serve as collateral for short-term and long-term borrowings 28,763    
Carrying value of restricted cash that serve as collateral for short-term and long-term borrowings 138,950    
Carrying value of accounts receivable that serve as collateral for short-term and long-term borrowings 226,938    
Carrying value of equity that serve as collateral for short-term and long-term borrowings 373,751    
Carrying value of project assets and solar power systems that serve as collateral for short-term and long-term borrowings 579,695    
Borrowings from non-banking institutions      
BANK BORROWINGS      
Maximum borrowing capacity     $ 93,975
Amount drawn of bank credit facilities granted 93,975    
Credit facility      
BANK BORROWINGS      
Maximum borrowing capacity 2,331,226    
Available amount of credit facilities 579,545    
Non-binding bank credit facilities      
BANK BORROWINGS      
Maximum borrowing capacity $ 513,566    
XML 120 R97.htm IDEA: XBRL DOCUMENT v3.20.1
SHORT-TERM NOTES PAYABLE (Details) - USD ($)
$ in Thousands
Dec. 31, 2019
Dec. 31, 2018
SHORT-TERM NOTES PAYABLE    
Short-term notes payable $ 544,991 $ 369,722
XML 121 R67.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES - Warranty cost (Details) - USD ($)
$ in Thousands
1 Months Ended 12 Months Ended
May 31, 2009
Aug. 31, 2011
Jun. 30, 2009
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Warranty cost            
Warranty accrual rate for sales of solar modules as a percentage of revenue       1.00%    
Term of insurance policy over which the insurance premium will be amortized       1 year    
Unamortized carrying amount of insurance premium       $ 1,486 $ 1,286  
Insurance receivable       79,888 75,617  
Warranty adjustment       1,446    
Downward adjustment of other non-current assets       800    
Warranty costs (net effect of adjustment) included in cost of revenues       $ 28,044 $ 13,188 $ 19,793
80% initial power capacity            
Warranty cost            
Warranty accrual rate for sales of solar modules as a percentage of revenue       80.70%    
Standard solar modules            
Warranty cost            
Term of insurance policy over which the insurance premium will be amortized       25 years    
Guarantee of solar modules for defects in materials and engineering design, installation and construction 2 years          
Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity 10 years          
Warranty period of solar modules and products against decline of more than 20% of initial power generation capacity 25 years          
Minimum percentage of decline in initial minimum power generation capacity for 10 years 10.00%          
Minimum percentage of decline in initial minimum power generation capacity for 25 years 20.00%          
Standard solar modules | Material and workmanship            
Warranty cost            
Term of insurance policy over which the insurance premium will be amortized   10 years 6 years 12 years    
Standard solar modules | 97 % initial power capacity            
Warranty cost            
Warranty accrual rate for sales of solar modules as a percentage of revenue       97.50%    
Standard solar modules | 93% initial power capacity            
Warranty cost            
Warranty accrual rate for sales of solar modules as a percentage of revenue       0.70%    
Solar Power Project            
Warranty cost            
Guarantee of solar modules for defects in materials and engineering design, installation and construction       10 years    
Bifacial module and double glass module            
Warranty cost            
Warranty period of solar modules and products against decline of more than 10% of initial power generation capacity       30 years    
Minimum            
Warranty cost            
Term of insurance policy over which the insurance premium will be amortized       25 years    
Maximum            
Warranty cost            
Term of insurance policy over which the insurance premium will be amortized       30 years    
XML 122 R21.htm IDEA: XBRL DOCUMENT v3.20.1
LEASE
12 Months Ended
Dec. 31, 2019
LEASE  
LEASE

12. LEASE

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.

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.

The components of lease expenses were as follows:

    

Year ended

 

December 31, 2019

 

$

Finance lease cost:

  

Amortization of right-of-use assets

18,900

Interest on lease liabilities

3,213

Operating fixed lease cost

17,619

Short-term lease cost

8,920

Total lease cost

45,916

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.

12. LEASE (Continued)

Other supplemental information related to leases is summarized below:

    

Year ended

 

December 31, 2019

 

$

Cash paid for amounts included in the measurement of lease liabilities

  

Operating cash flows from finance lease

(3,213)

Operating cash flows from operating lease

(15,866)

Financing cash flows from finance lease

(33,614)

Right-of-use assets obtained in exchange of new finance lease liabilities in non-cash transaction

7,300

Right-of-use assets obtained in exchange of new operating lease liabilities in non-cash transaction

18,222

    

At December 31,

 

 

2019

Weighted average of remaining operating lease term - finance leases (in years)

 

1.41

Weighted average of remaining operating lease term - operating leases (in years)

 

3.03

Weighted average of operating lease discount rate - finance lease

 

5.82

%

Weighted average of operating lease discount rate - operating lease

 

4.36

%

As of December 31, 2019, maturities of operating and finance lease liabilities up to five years were as follows:

    

Operating Lease Payment

    

Finance Lease Payment

    

Total Lease Payment

Year Ending December 31:

$

$

$

2020

18,953

27,439

46,392

2021

12,980

13,087

26,066

2022

4,666

604

5,270

2023

2,541

2,541

2024

1,077

1,077

Thereafter

1,504

1,504

Total future minimum lease payments

41,721

41,130

82,851

Less: imputed interest

2,236

2,056

4,292

NPV for future minimum lease payments

39,485

39,074

78,559

Analysis as:

  

  

  

Short-term

18,767

25,998

44,765

Long-term

20,718

13,076

33,794

Total lease liabilities

39,485

39,074

78,559

The future minimum lease payments from 2018 Form 20-F as filed in accordance with Leases (Topic 840) were as follows:

    

Operating Lease Payment

    

Finance Lease Payment

    

Total Lease Payment

Year Ending December 31:

$

$

$

2019

 

18,287

 

40,945

 

59,232

2020

 

11,790

 

23,483

 

35,273

2021

 

9,379

 

11,842

 

21,221

2022

 

2,485

 

556

 

3,041

2023

 

838

 

 

838

Thereafter

 

7,743

 

 

7,743

Total future minimum lease payments

 

50,522

 

76,826

 

127,348

Less: imputed interest

 

  

 

5,024

 

5,024

NPV for future minimum lease payments

 

  

 

71,802

 

71,802

XML 123 R25.htm IDEA: XBRL DOCUMENT v3.20.1
RESTRICTED NET ASSETS
12 Months Ended
Dec. 31, 2019
RESTRICTED NET ASSETS  
RESTRICTED NET ASSETS

16. RESTRICTED NET ASSETS

As stipulated by the relevant laws and regulations applicable to China’s foreign investment enterprise, the Company’s PRC subsidiaries are required to make appropriations from net income as determined under accounting principles generally accepted in the PRC (“PRC GAAP”) 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 reserve.

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’ 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 law.

In addition to the general reserve, the Company’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’s PRC subsidiaries are considered as restricted net assets amounting to $497.2 million as of December 31, 2019.

XML 124 R118.htm IDEA: XBRL DOCUMENT v3.20.1
Financial Statement Schedule I (Details)
$ in Millions
12 Months Ended
Dec. 31, 2019
USD ($)
Additional Information - Financial Statement Schedule I  
Restricted net assets of the entity's consolidated and unconsolidated subsidiaries not available for distribution $ 497.2
Threshold percentage of restricted net assets of the entity's consolidated and unconsolidated subsidiaries 25.00%
XML 125 R110.htm IDEA: XBRL DOCUMENT v3.20.1
SEGMENT INFORMATION (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2019
USD ($)
segment
Dec. 31, 2018
USD ($)
Dec. 31, 2017
USD ($)
SEGMENT INFORMATION      
Number of principal reportable business segments | segment 2    
Revenues and gross profit generated from each segment      
Net revenues $ 3,200,583 $ 3,744,512 $ 3,390,393
Cost of revenues 2,482,086 2,969,430 2,752,795
Gross profit 718,497 775,082 637,598
Income from operations 258,879 364,657 269,345
Operating segment | MSS      
Revenues and gross profit generated from each segment      
Net revenues 2,582,635 2,413,889 2,850,859
Cost of revenues 1,934,062 1,923,131 2,390,686
Gross profit 648,573 490,758 460,173
Income from operations 279,715 141,609 136,419
Operating segment | Energy      
Revenues and gross profit generated from each segment      
Net revenues 719,445 1,575,594 677,470
Cost of revenues 635,716 1,302,779 473,453
Gross profit 83,729 272,815 204,017
Income from operations (7,031) 211,539 159,518
Eliminations      
Revenues and gross profit generated from each segment      
Net revenues (101,497) (244,971) (137,936)
Cost of revenues (87,692) (256,480) (111,344)
Gross profit (13,805) 11,509 (26,592)
Income from operations $ (13,805) $ 11,509 $ (26,592)
XML 126 R114.htm IDEA: XBRL DOCUMENT v3.20.1
EMPLOYEE BENEFIT PLANS (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Employer's contribution (as a percent) 16.00%    
Defined contributions schemes expense $ 11,738 $ 12,544 $ 9,412
Percentage of applicable salaries contributed by the employer for housing funds 8.00%    
Amount of contribution by the employer for medical insurance benefits, housing funds, unemployment and other statutory benefits $ 11,409 $ 11,211 $ 10,447
Minimum      
Percentage of applicable salaries contributed by the employer for medical insurance benefits 6.00%    
Percentage of applicable salaries contributed by the employer for unemployment benefits 0.50%    
Percentage of applicable salaries contributed by the employer for other statutory benefits 0.90%    
Maximum      
Percentage of applicable salaries contributed by the employer for medical insurance benefits 8.50%    
Percentage of applicable salaries contributed by the employer for unemployment benefits 0.70%    
Percentage of applicable salaries contributed by the employer for other statutory benefits 2.50%    
XML 127 R29.htm IDEA: XBRL DOCUMENT v3.20.1
RELATED PARTY BALANCES AND TRANSACTIONS
12 Months Ended
Dec. 31, 2019
RELATED PARTY BALANCES AND TRANSACTIONS  
RELATED PARTY BALANCES AND TRANSACTIONS

20. RELATED PARTY BALANCES AND TRANSACTIONS

Related party balances

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’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.

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’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.

Related party transactions

Guarantees and loans

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,225, $155,956 and $82,937 respectively.

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.

Sales and purchase contracts with affiliates

In 2019, the Company sold three solar power projects to CSIF, the Company’s 14.66% owned affiliate in Japan, in the amount of JPY 5,889,000 ($53,874) recorded in revenue.

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.

In 2017, The Company sold 13 solar power projects to CSIF, the Company’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.

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.

In 2017, 2018 and 2019, the Company provided O&M service to CSIF in the amount of JPY32,119 ($285), JPY122,529 ($1,105) and JPY 223,598 ($2,052), respectively.

20. RELATED PARTY BALANCES AND TRANSACTIONS (Continued)

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.

In 2017, the Company sold solar power products to Gaochuangte in the amount of RMB11,352 ($1,648), before Gaochuangte became the Company’s 80% owned subsidiary.

In 2017, 2018 and 2019, the Company purchased raw materials from Suzhou iSilver Materials Co., Ltd , the Company’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.

In 2018 and 2019, the Company purchased equipment from Suzhou Kzone Equipment Technology Co., Ltd, the Company’s 32% owned affiliate in China, in the amount of RMB41,635 ($6,056) and RMB 61,174 ($8,787), respectively.

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.

XML 128 R122.htm IDEA: XBRL DOCUMENT v3.20.1
Financial Statement Schedule I - STATEMENTS OF COMPREHENSIVE INCOME (LOSS) (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Condensed Financial Statements      
Net income $ 166,555 $ 242,431 $ 102,983
Other comprehensive income (loss) (net of tax of nil):      
Foreign currency translation adjustment 319 (50,577) 39,305
Comprehensive income attributable to Canadian Solar Inc. 172,127 180,955 137,352
Reportable Legal Entities [Member] | Parent Company      
Condensed Financial Statements      
Net income 171,585 237,070 99,572
Other comprehensive income (loss) (net of tax of nil):      
Foreign currency translation adjustment 542 (56,115) 37,780
Comprehensive income attributable to Canadian Solar Inc. $ 172,127 $ 180,955 $ 137,352
XML 129 R13.htm IDEA: XBRL DOCUMENT v3.20.1
INVENTORIES
12 Months Ended
Dec. 31, 2019
INVENTORIES  
INVENTORIES

4. INVENTORIES

Inventories consist of the following:

At December 31,

At December 31,

    

2018

    

2019

$

$

Raw materials

 

47,759

 

75,722

Work-in-process

 

46,817

 

74,105

Finished goods

 

167,446

 

404,243

 

262,022

 

554,070

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.

XML 130 R17.htm IDEA: XBRL DOCUMENT v3.20.1
INTANGIBLE ASSETS, NET
12 Months Ended
Dec. 31, 2019
INTANGIBLE ASSETS, NET  
INTANGIBLE ASSETS, NET

8. INTANGIBLE ASSETS, NET

The following table summarizes the Company’s intangible assets:

    

Gross

    

    

Carrying

Accumulated

At December 31, 2019

Amount

Amortization

Net

$

$

$

Technical know-how

1,428

(1,425)

3

Computer software

 

38,205

(15,417)

22,788

Total intangible assets, net

 

39,633

(16,842)

22,791

    

Gross

    

    

Carrying

Accumulated

At December 31, 2018

Amount

Amortization

Net

$

$

$

Technical know-how

 

2,369

(1,458)

911

Computer software

 

25,882

(11,890)

13,992

Total intangible assets, net

 

28,251

(13,348)

14,903

Amortization expense for the years ended December 31, 2017, 2018 and 2019 were $4,659, $4,666 and $5,310, respectively.

Amortization expenses of the above intangible assets are expected to be approximately $4.4 million, $3.6 million, $3.1 million, $2.5 million and $9.2 million for the years ended December 31, 2020, 2021, 2022, 2023, 2024 and thereafter, respectively.

XML 131 R38.htm IDEA: XBRL DOCUMENT v3.20.1
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Policies)
12 Months Ended
Dec. 31, 2019
SUMMARY OF PRINCIPAL ACCOUNTING POLICIES  
Basis of presentation

(a)   Basis of presentation

The consolidated financial statements of the Company have been prepared in accordance with U.S. generally accepted accounting principles (“U.S. GAAP”).

Basis of consolidation

(b)   Basis of consolidation

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 (“VIEs”) for which the Company is a primary beneficiary.

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.

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.

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’s expected losses or residual returns, a quantitative analysis is performed to determine the primary beneficiary.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

Use of estimates

(c)   Use of estimates

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’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 (“ARO”), 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.

Cash and cash equivalents and restricted cash

(d)   Cash and cash equivalents and restricted cash

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 acquired.

Restricted cash represents amounts held by banks, which are not available for the Company’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 Company.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

Accounts receivable, unbilled

(e)   Accounts receivable, unbilled

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.

Allowance for doubtful receivables

(f)    Allowance for doubtful receivables

The Company began purchasing insurance from China Export & 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 expense.

Advances to suppliers

(g)   Advances to suppliers

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 sheets.

Inventories

(h)   Inventories

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.

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

Project assets

(i)    Project assets

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.

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

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 “project companies”. 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.

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.

Business combination

(j)    Business combination

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.

Assets acquisition

(k)   Assets acquisition

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’ carrying amounts on the Company’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.

Property, plant and equipment

(l)  Property, plant and equipment

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 incurred.

Depreciation is computed on a straight-line basis over the following estimated useful lives:

Buildings

    

20 years

Leasehold improvements

 

Over the shorter of the lease term or their estimated useful lives

Machinery

5-10 years

Furniture, fixtures and equipment

5 years

Motor vehicles

 

5 years

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 time.

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 changed.

Solar power systems

(m)   Solar power systems

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 (‘‘FIT’’) 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.

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 20 to 25 years.

Intangible assets

(n)   Intangible assets

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:

Technical know-how

10 years

Computer software

1-10 years

Prepaid land use rights

(o)   Prepaid land use rights

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 (“PRC”) and Japan. Amounts are charged to earnings ratably over the lease periods of 20 to 50 years.

Investments in affiliates

(p)    Investments in affiliates

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.

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) nature of the investment; (ii) cause and duration of the impairment; (iii) extent to which fair value is less than cost; (iv) financial conditions and near term prospects of the affiliates; and (v) 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.

Impairment of long-lived assets

(q)    Impairment of long-lived assets

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’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.

Interest capitalization

(r)    Interest capitalization

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.

Assets retirement obligation

(s)   Assets retirement obligation

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 (“ARO”) 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 (“ASC 410-20”). 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.

Leases

(t)   Leases

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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’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’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.

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.

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.

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.

Contingencies

(u)   Contingencies

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 incurred.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

Income taxes

(v)  Income taxes

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.

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.

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.

Revenue recognition

(w)   Revenue recognition

The Company recognizes revenue when it satisfies a performance obligation by transferring a promised good or service to a customer.

Solar power products and materials

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’s accounting policy for warranty.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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 million and $7.7 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.

O&M services

O&M services are transferred over time when customers receive and consume the benefits provided by the Company’s performance under the terms of service arrangements. Revenues from O&M services are recognized overtime based on the work completed to date which does not require re-performances and the costs of O&M services are expensed when incurred.

EPC and development services

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’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’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’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’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.

Solar power projects

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

Electricity revenue

Electricity revenue is generated primarily by the Company’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.

Disaggregation of Revenue

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.

The following table represents a disaggregation of revenue recognized at a point in time or over time:

Years Ended December 31,

    

2017

    

2018

    

2019

 

(In Thousands of U.S. Dollars)

MSS:

Revenue recognized at a point in time

 

2,705,985

 

2,095,743

 

2,238,310

Revenue recognized over time

 

6,938

 

73,175

 

242,828

Energy:

Revenue recognized at a point in time

633,195

1,542,906

668,476

Revenue recognized over time

44,275

32,688

50,969

 

3,390,393

 

3,744,512

 

3,200,583

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

The Company’s contract assets and liabilities are as follow:

    

At December 31,
2018

    

At December31,
2019

    

Fluctuation

 

(In Thousands of U.S. Dollars)

 

Contract Assets

 

  

 

  

 

  

Accounts receivables, unbilled

 

38

 

15,256

 

15,218

Contract Liabilities

 

  

 

 

Advances from customers

 

39,024

 

134,806

 

95,782

Other current liabilities

 

51,381

 

20,917

 

(30,464)

 

90,405

 

155,723

 

65,318

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.

Practical Expedients and Exemptions

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.

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.

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.

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.

Shipping and handling costs

(x)   Shipping and handling costs

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.

Research and development

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(y)    Research and development

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.

Other operating income, net

(z) Other operating income, net

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.

Government grants received by the Company consist of unrestricted and restricted grants and subsidies. Unrestricted grants that allowed the Company’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.

The following table summarizes the Company’s other operating income, net:

Years Ended December 31,

    

2017

    

2018

    

2019

$

$

$

Net gain on disposal of solar power system

(27,803)

(36,098)

(1,666)

Net loss on disposal of property, plant and equipment

1,960

2,565

1,227

Government grants

(6,473)

(11,013)

(10,097)

Business interruption insurance compensation

(15,238)

(47,554)

(44,546)

(10,536)

Warranty cost

(aa) Warranty cost

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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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.

The Company has lengthened the warranty against decline in performance for its bifacial module and double glass module products to 30 years.

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 warranties.

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’ and its own actual claim history, industry-standard accelerated testing, estimates of failure rates from the Company’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 products.

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’s solar 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 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 assets.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

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’s accounting policy is to record an asset for the amount determined to be probable of recovery from the insurance claims (not to exceed the amount of the total losses incurred), consistent with the guidance set forth at ASC 410-30.

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.

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 insurance.

As the warranty obligation and related recovery asset do not meet the criteria for offsetting, the gross amounts are reported in the Company’s 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, 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.

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.

Foreign currency translation

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ab) Foreign currency translation

The United States dollars (“U.S. dollars” or “$”), the currency in which a substantial amount of the Company’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.

The financial records of certain of the Company’s subsidiaries are maintained in local currencies other than the U.S. dollars, such as Renminbi (“RMB”), Euros, Canadian dollars (“CAD”), Japanese yen and Brazilian reals (“BRL”), 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.

Comprehensive income

(ac) Comprehensive income

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) net income, (ii) foreign currency translation adjustments, (iii) 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.

Foreign currency risk

(ad) Foreign currency risk

The majority of the Company’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’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.

Concentration of credit risk

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ae) Concentration of credit risk

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.

All of the Company's cash and cash equivalents are held with financial institutions that Company management believes to have high credit quality.

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.

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.

Fair value of financial instruments

(af) Fair value of financial instruments

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:

Level 1—Observable inputs that reflect quoted prices (unadjusted) for identical assets or liabilities in active markets. The Company’s restricted cash balance for all periods presented uses level one fair value inputs.

Level 2—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.

Level 3—Unobservable inputs reflecting the Company’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.

Derivatives instruments and hedging activity

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(ag) Derivatives instruments and hedging activity

The Company’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’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.

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’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’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.

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.

Earnings (loss) per share

(ah) Earnings (loss) per share

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.

Share-based compensation

(ai) Share-based compensation

The Company’s share-based compensation with employees, such as share options, restricted shares and restricted share units (“RSUs”), 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 period.

Recently issued accounting pronouncements

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

(aj) Recently issued accounting pronouncements

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, “Leases (Topic 842)—Targeted Improvements”, which provided an optional transition method to apply the new lease requirements through a cumulative-effect adjustment in the period of adoption.

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 “package of three”, 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.

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.

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.

In June 2016, the FASB issued ASU 2016-13, “Financial Instruments—Credit Losses (Topic 326)”, 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 “expected loss” 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.

2. SUMMARY OF PRINCIPAL ACCOUNTING POLICIES (Continued)

In August 2018, the FASB issued ASU 2018-13, “Fair Value Measurement (Topic 820): Disclosure Framework–Changes to the Disclosure Requirements for Fair Value”. 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.

In October 2018, the FASB issued ASU 2018-17, “Consolidation (Topic 810): Targeted Improvements to Related Party Guidance for Variable Interest Entities”, 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.

In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes (“ASU 2019-12”), 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.

XML 132 R105.htm IDEA: XBRL DOCUMENT v3.20.1
INCOME TAXES - Movement of the valuation allowance (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Movement of allowances      
Beginning of the year $ 76,522    
End of the year 70,627 $ 76,522  
Allowance      
Movement of allowances      
Beginning of the year 76,522 65,399 $ 71,469
Additions (Reversals) (6,156) 11,051 (5,361)
Foreign exchange effect 261 72 (709)
End of the year $ 70,627 $ 76,522 $ 65,399
XML 133 R101.htm IDEA: XBRL DOCUMENT v3.20.1
INCOME TAXES - Provision for income taxes (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2019
Dec. 31, 2018
Dec. 31, 2017
Income before income taxes      
Income before income taxes $ 208,621 $ 304,400 $ 143,934
Current tax      
Current tax 56,685 18,375 (38,261)
Deferred tax      
Deferred tax (14,619) 43,594 79,212
Total income tax expense      
Total income tax expense 42,066 61,969 40,951
Canada      
Income before income taxes      
Income before income taxes (61,880) 10,570 (30,524)
Current tax      
Current tax (3,420) (1,846) 346
Deferred tax      
Deferred tax (6,558) 12,117 (6,464)
Total income tax expense      
Total income tax expense (9,978) 10,271 (6,118)
United States      
Income before income taxes      
Income before income taxes 8,319 61,377 (33,205)
Current tax      
Current tax (4,803) (14,786) (54,482)
Deferred tax      
Deferred tax (2,412) 32,696 67,426
Total income tax expense      
Total income tax expense (7,215) 17,910 12,944
PRC      
Income before income taxes      
Income before income taxes 204,632 178,050 173,266
Current tax      
Current tax 44,622 27,285 (7,383)
Deferred tax      
Deferred tax (5,333) 2,653 23,452
Total income tax expense      
Total income tax expense 39,289 29,938 16,069
Japan      
Income before income taxes      
Income before income taxes 29,335 27,555 28,164
Current tax      
Current tax 13,229 5,325 31,266
Deferred tax      
Deferred tax (2,953) (3,381) (4,499)
Total income tax expense      
Total income tax expense 10,276 1,944 26,767
Others      
Income before income taxes      
Income before income taxes 28,215 26,848 6,233
Current tax      
Current tax 7,057 2,397 (8,008)
Deferred tax      
Deferred tax 2,637 (491) (703)
Total income tax expense      
Total income tax expense $ 9,694 $ 1,906 $ (8,711)
XML 134 R109.htm IDEA: XBRL DOCUMENT v3.20.1
COMMITMENTS AND CONTINGENCIES - Contingencies (Details)
$ in Millions
12 Months Ended 36 Months Ended
Dec. 31, 2010
item
Dec. 31, 2019
USD ($)
Class Action Lawsuits Filed in New York    
Contingencies    
Number of subpoenas 2  
Number of lawsuits filed 6  
Countervailing and anti-dumping duties investigation    
Contingencies    
Period of sunset reviews   5 years
First Administrative Review of Solar 2    
Contingencies    
Amount of provision reversed | $   $ 52.3
XML 135 R34.htm IDEA: XBRL DOCUMENT v3.20.1
SHARE-BASED COMPENSATION
12 Months Ended
Dec. 31, 2019
SHARE-BASED COMPENSATION  
SHARE-BASED COMPENSATION

25. SHARE-BASED COMPENSATION

In March 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’s operations is largely dependent. 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 options, restricted shares and RSUs under the Plan to the sum of (i) 2,330,000 plus (ii) the sum of (a) 1% of the number of outstanding common shares of the Company on the first day of each of 2007, 2008 and 2009 and (b) 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 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’s ordinary shares and expire ten years from the date of grant.

Options to Employees

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.

25. SHARE-BASED COMPENSATION (Continued)

RSUs to Employees

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’s common shares upon vesting. The RSUs were granted for free and generally vest over periods from one to four years based on the specific terms of the grants. The fair market value of the Company’s ordinary shares at the date of grant resulted in total compensation cost of approximately $13.3 million, $10.2 million and $12.2 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.

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.

A summary of the RSU activity is as follows:

    

    

Weighted Average

Number of

Grant-Date

Shares

Fair Value

$

Unvested at January 1, 2019

 

1,781,271

14.18

Granted

 

706,637

18.05

Vested

 

(696,853)

15.40

Forfeited

 

(131,288)

15.01

Unvested at December 31, 2019

 

1,659,767

15.26

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.

XML 136 R30.htm IDEA: XBRL DOCUMENT v3.20.1
COMMITMENTS AND CONTINGENCIES
12 Months Ended
Dec. 31, 2019
COMMITMENTS AND CONTINGENCIES  
COMMITMENTS AND CONTINGENCIES

21. COMMITMENTS AND CONTINGENCIES

a)    Capital commitments

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:

Year Ending December 31:

    

$

2020

 

9,000

2021

3,000

Total

12,000

b)    Solar power system commitments

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:

Year Ending December 31:

    

$

2020

600

2021

200

Total

800

21. COMMITMENTS AND CONTINGENCIES (Continued)

c)    Contingencies

Class Action Lawsuits

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 York, or the New 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 York cases were consolidated into a single action in December 2010. On January 5, 2011, the California case was dismissed by the plaintiff, who became a member of the lead plaintiff group in the New York action. On March 11, 2011, a Consolidated Complaint was filed with respect to the New York action. The Consolidated Complaint alleges generally that the Company’s financial disclosures during 2009 and early 2010 were false or misleading; asserts claims under Sections 10(b) and 20(a) of the Exchange Act and Rule 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 2011, which was taken under submission by the Court in July 2011. On March 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 19, 2012. On March 29, 2013, the Court dismissed with prejudice a class action lawsuit filed against the Company and certain named defendants alleging that the Company’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’s motion to dismiss all claims against all defendants with prejudice. On December 20, 2013, the United States Court of Appeals for the Second Circuit affirmed the district court’s order dismissing such class action lawsuit.

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 10, 2010. The lawsuit alleges generally that the Company’s financial disclosures during 2009 and 2010 were false or misleading and brings claims under the shareholders’ relief provisions of the CBCA, Part XX III.1 of the Ontario Securities Act as well as claims based on negligent misrepresentation. In December 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’s motion on August 29, 2011. On March 30, 2012, the Ontario Court of Appeal denied the Company’s appeal with regard to its jurisdictional motion. On November 29, 2012, the Supreme Court of Canada denied the Company’s application for leave to appeal the order of the Ontario Court of Appeal. The plaintiff’s motions for class certification and leave to assert the statutory cause of action under the Ontario Securities Act were served in January 2013 and initially scheduled for argument in the Ontario Superior Court of Justice in June 2013.However, the plaintiff’s motions were adjourned in view of the plaintiff’s decision to seek an order compelling the Company to file additional evidence on the motions. On July 29, 2013 the Court dismissed the plaintiff’s motion to compel evidence. On September 24, 2013 the plaintiff’s application for leave to appeal from the July 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.

21. COMMITMENTS AND CONTINGENCIES (Continued)

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’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.

Solar 1

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.

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.

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. The Company did not participate in USDOC’s first sunset review. The Company did, however, participate in the USITC’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.

21. COMMITMENTS AND CONTINGENCIES (Continued)

Solar 2

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.

“Chinese CSPV products subject to Solar 2 orders” 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. “Taiwanese CSPV products subject to Solar 2 orders” 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.

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.

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.

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’s sunset review will follow this preliminary decision.

In 2019, the Company booked the benefits of antidumping duty and countervailing duty provision reversals of $52.3 million, primarily associated with prior years’ module sales based on the respective updated rates of the administrative reviews carried out by the U.S. Department of Commerce.

Section 201

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.

21. COMMITMENTS AND CONTINGENCIES (Continued)

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.

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.

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’s withdrawal determination at the CIT and persuaded the Court to enjoin USTR’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’s further review, the exclusion could be terminated as soon as May 18, 2020.

European Antidumping and Anti-Subsidy Investigations

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.

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.

21. COMMITMENTS AND CONTINGENCIES (Continued)

Canadian Antidumping and Countervailing Duties Expiry Review

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 “cooperative exporter” 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’s finding expires on July 2, 2020.

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.

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.

Please refer to “Item 8. Financial Information—A. Consolidated Statements and Other Financial Information—Legal and Administrative Proceedings” in the Company’s Form 20-F for detailed information on antidumping and countervailing duties.

ZIP 137 0001104659-20-052010-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001104659-20-052010-xbrl.zip M4$L#!!0 ( "%*G%!MFH2V*BP .TP @ 1 8W-I<2TR,#$Y,3(S,2YX MYZRJN*Q/3.YS-3*WB7+LD>)+&E)/$A&8ML7+J_)BZ-1O<__^=YY5J/E OF>S^] MN7Q[\<:BGNT[S%O\]"849T38C+WYG__^O__GG_]U=O;[U61@.;X=KJ@76#:G M)*".]<2"I37SUVOB67>4<^:ZUA5GSH):UL>WW[_]X):M\]_8R?=.-:_6]3]:'\W<_GK^[>'=A7;[[]-WWG]Y]L,9W*>4= M='/.JDF?A?-)V$NZ(E9 ^((&0[*B8DUL^M.;91"L/YV?/ST]O;6)1QQ&/.&[ MA+^U_154=_GQ\MW[RS<6"0+.'L* WOA\=4WG)'0#D(_W9TA7Y[W>#J>QE0FP+]F?M'D9%7.;]L5/D^8&[ M21/OS_'U T@^(>=T7DK]_3F\30B]<*4F= )^'FS6]!PH*&=V6L#W:I3QO;-< M.21R@K1#;-=H5IFBC0%X0?MW/Y M\>/'<_DV1=8/O8!O=MD4U'Z[\!_/XY>([0]G%Y=G6W3A>UP0LDZ+S8EXD"W$ M+Z0Z%(J@J(6RC'RC*.10INX:O%"WP7VWI WY1E'(HPO\S$OE^_$<2Y['9$DI MP8,R?M)7V<;@\[OB(L:,EU2&H@W%@-V:]"EO4GZX] Y\YCL.ZCL MQ85U9J75P-_=T7 Z&O2O.[/>M775&72&W9XU_=SKS:;_/,]7D*\[A'%XY/VW M_'O-J8 JI93P^XE+QR2ZDC9Q[=#=H^"V9^7EXJ<)*B\%5OI0C.:C->62&QUJ M)07T\+W3PS>=P3]WO>%L:HUNK-&X-^G,^D#0 KD?D%U_!<)84D^P1]J'E$V0BEC>N_U3W8]W2ZP'] MKA&@G>EGZV8P^JW]5@^%<4PX/%G2@ &+33'=+5P%\'?[ &Q]L]/(/UK E8!? M,V&[O@@YG8:K%>&;T7S,F6>S-7$[MESFPC9S#&C:C(H1B)/'TZBWB ;<(0VN M:4"8&W_91ZU1IQH?8)[^".JP;1#UY/[NKC/Y@KHPGL"(W1]W!E:GVQW=#V?] MX:TU!L7I]GM3()5-6W[2ML5DX]]:'@VL;^(.M&I3I39][Q$X]CE@6:(&"@H] MK!\N+O.P]H>_PB<^FB!R+39UL1ES_]_4#CI"P):E!!TEC1Z?[XKXC">CGWO= MF=693F%'TT+4!"(8@(+-&#:70<=S>G^&;(WS7/FP6J>('L#OE0#"/F;VY5MK M#'M3 ')X;?7^==\?X]3ZK37LS5I0ZT^E^&+L/U$^W0A8M@C-'*DAU8/X0Q%$ M6!5U)C#%_=:;6-,O4U@735OHFDYG ?$6[,&ET8A8CIR&4@_QBEP/XN7%^SR( M5Z/)9/0;[!)P=X!U6J =JQ1 Z_T_K&^P:NM=BV45E@-*1/2_WO.:>H*6?(FE M='KTWA4_P4&O,^WAOUB91:/:VJ^O&6+I3ES^$G9SF $]6_M]UBM9A?)W#5"635A.VD:+=3.L;YB' MAY5-ON**(E7H?E^&;EQO^P4?&=4&WV^=N/9;C*6MNO]JAX-OAFJTM5(5LX&RE!MOU>CX9O?.)5$]<<=06>EQMZ >5*6!'7VWK%GG=WGTGU9OS7T>'_Q; ;;0XKP/SM<4 MU@Z<.O C.@SI>,Z D0?FZA:OS2NHPKWP,>=P3YI!K"TB&[*(YUCNMJE6 ?91 M@ FU?<\&$4HVJO%6TU?!6[ 3YN#=K;5%LC:2/<(]G#S'E$^7A)=M3,K(]+A] M+ ['OBU8M<&*#"Z,N*E/)%Z.<4*7]G?N*)2 V+2X%MQW M/UR\RX.;-I!QVDR:L/JXPMJY_M B?PSDU?< M^G\'F[I7L'*E],!^:'2Y[G-G> O[\/Y0>H[/OK3(5DR\([X@'OM+]AP&T,PU MJ8 ]2FM4?HZM44*'Z"5\JH7-^&ARVQGV_Y]<=TN__^S%J5G_5^G&VF)YA.MS M^UR0J\!3X0A9]PI<"VD%I!T7EJDX(][X_-H/'X)YF !4@%)+JX=0<5C8&@!4IQKWG3Z$^O7SN"^9]WU.M/[B=P=MP#M>7NS M[K5-/5#-[FNV8-586XM FI/Z7F<^E^X6ZG6VBDP/E<(\@6ONZ2RR,O6'5N?F MIC_H=V8M4@V\)\O=)2OPT#JRM@!4+=V6/@_0&77H@^J/R08'K\+:34FDAT6Q M-9U^'DUF9S"8W5G#$7P=UKCS!4>X%J0J*X]M\Y ZOQ'.8<>SZ?I"8=U1T>@A M4NQ:.]WNY+YW;?W6F4Q@,_3%ZHZF[>ZU$J )S".H2/3P*/:J MN R8]+MXL('!-UK;0BUTNCY,]#S G8T

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*@=^]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>Q42 R@*A.IH3O[_YV<_!*VKB\=ALQPO=W?ZOY"^F M\(LY!X1&B!&^O_NSXA-IC#T=<32OQ]X9Q C?KWV+V3Y(@>3P[@^[C1CA^XW8 M0[9"[%?2&/NUXV.,\/W==^C,OA 0FWWI-F*$[^^&.X=X)*.V[2A@PB)I=^-( MO1W*&U?\S$B$T/1QQK#F))'72K1EQ''&INO*)M!0*D.(!&RM(B.,'Q+R=@2^ MDX08DTR=!&(=-SLWUG#)KVPZTG#-< BW_5"_"JD MHO1=2(=74?:VR[W"D]PK'/H(L>UO[AP>H'\P258&T_TVY\7A77V^ZX82WU4> M@+W>3;>2H$4P01J,&4::$ MVC>?:G. &@$D$X0C4PJO4*9B)RD':">QXQ6J YF'N$)/CG?VA*P!=*P;X%%NHPETMPS\%D)KC\ B[=?'@UP9S%%.:%H6 M]YU>OW4KC$4$U!Z?1<+30]P,70>M!UEN0PJ>]4TMPE- 0 716_+7Y1%2PTNA M!^9X);>V!V)!&;5'?-'BAXK/!^CQ+O H>V]*LJE2)6"LG0DRTX5Q, [;132"_@S"'=C6BS:J'=]32Y M&GR=SD8OP\E4?3P1R2E:%FOWB81 (79S/25-? =B5J:L=Z._:!$_]8W+;'W? MN^[=Z1G1O("42Y1PBV14[$WEN^^W]]!W5FL0_D4)OV%U,P;+!OAP@,LCK>$P M%]]/C:5A=3,?9AZD> #GD%N[/U!2C!7P8)1O-EYAO16*VK8#I.! LTH*?F$M M84+?22_M(9D=Z+[A^9)*!E)S6_D@)*]VCZ&R[<(,O5-LIU#T,)\8+3<)5$%5 MAOU(V+ZC-XIM#?8]S,>5 0W/]IXNK24K0'$(JHA/70@8O$R.%JHP[ SK$9$)"-Z 0X%5"O8 U' MB]+7$L-^B6V-@4U \V6XQ$33/FL3C,B#8+T!_K9/]C"76QB%FQ@$1TYD#KF, M!2T7=N13@KDJC2R"CDLT[6LA [W9]X"-WJZ1?>C11=/NZV:AAUIQC+Z#9A8B MR!!.>TBL[-":W(I;4MLS=R -M;PQ#_ >P MA#>\)NZ#+I;RHK'HVK=YJER>K_ X (O:UG)>\,NL8/7?KPFW)XLY'*XW7K"% M\![Z<.'&8P^U%8L\?%>-/!R^C)]'OP^'5_?#U^'CT^QJ_-Q_/4$ HJR9=+V! M?@3RZY$3&+MAFM*&&;HHU%-K)BIJOK)2(V,&? -8:M-$D:7BR MU>SKS]03X M2U)BDMUOQJ CH.:R>9HNRLE2=?%#0BQ9=/"K,;"P-5R#!D4&[9;F%GX[UW?7 MR9H(7^EW\P"D?->1>XXI1Y=!!#_H(![^7A;^KG=S\[$S(#+EL.38NELO6.;) M:D-CX&VT]@G*18%;[MY$&,$'=&[PX3R]L^5^2_!WX5-$?K (7T",5.8O2[]G MAVT"TLT?:"XCZ.!662%9!V;E;E+*NT$0Q>CT'BQ]]Y_]:96/8N6^UK.)0URS M$CX2+-^,P7+X]WZT-_2-%OW-QG,=/%E/@0=P!9C'('R!OST=>>O?>Z%O.U4I2*ZFE\!K M[,1LR\;T(6=(+;+J9O>10IKZ6E@H=&97<)?M6^C7\4AMC8#\-6#5A3$QM& 5P$''UP7HU;,4O,HXNK'AKYE/3J48,[W/XIPY&1.J)!13DB5,^HP4&V.9T5&55A*RTLX\YIQXF>/3B+FN\]+W4Y>MFI;& MH<^'!@-%^Q>.*NWWHZ*8_^A)Z;@?8#9%A%:&ED);QQW"M$J:59G15:T?;!S7 M3KT8*5*A)1>/&FNGN,27_AKUDWB%UFQR9(_T]YC':S4\DTAH(54J#4T3WM<1 M?"]]WT^ MWNDS:D?_HAE'\ +:CQ1 XJ]$B33[P.P1A-,;? M-0OP?X\6?:2N.5;98Q"F6HM2A]5L!?RG]&ZB^P:S$U#VX#IOC@&?=7[#PVC- M=R)>KXWR!L!#:@(AUADN%6'&8)+S59>Q9)+B.Q$SV!BAW/^:'LBB_@)]Y?#' MQLWNPZ.5>P,==^'"^0.(CYUT)WOOF0X';:KM1 1B8^VDX1X[?N+6>I9%U)BAU\@^&W0$9V*-T>^2.E14]^IM??H+M1Y*B35[Q M.SH".<0PH)-^Q!F/!/UZEA19V;51)*K7&2Y*^(1C5?W(=7X%7M)X[$AX]67$ MG%R[DBH"6S9.1DD-([L*O940\0GS?F8^0DZFT& =M705)G8GI8._P=7]]Z#>+?X4$Z'<)UOY.]]WS'A1[5%N-#C;]8T^CH M>^G#<_][18G#'_@_25,^7V?C>*J'/E4:MU"?C>G>)*YVD\#S'H,0_ZA^MW+P M,N.HWL6M"DN?!?>[7I;'"IMHMUDN3KX3VTEE3_B;S ,>@S#6FA+8B&B("W3VN(F<:!HY_/!H;\R3T>-1]HLE>6_G(9IM;S/'";%J-XBE'I=G/6;<%%;V&JN9>USN1E#H4,W22\#1)?" ME5FJ-%6TF41)FW(VMP+E;";3KY=:-I=:-G73IXHTM%KGR([4LF%O 3I7RT8K M[*1T,8%H;G8=?-<$1W5^]=TX M0CL::A4":I^RLGJ]ZW>Z)ZU3,:)*1G%%F(1[*0 U@[\HU^- 9&MU!H [!Q]+Z[OKI,U$;[2[^8!2/FN M,H1L.;H,(OA!!_'P]RZ#R)3CW".GGD]:M.>L5F+%*CSWHCW#OQ,WWC[Y:.>; MI%CM\N^7DI07!FK9_!9\O7FC0 TK)=)?AH;-7*-/-TC2__D5G0YW-RMO9 ^$ MFE=XT^XGR'C0%ZEE3NYPR&C9I$4:+O+X/X MKL-U3N1Q6,O HL!Q7DD];/0\7,:525Z*\K"2F_;>KB'U:XJKMB%5?OUE2.D= M4AQHM+48UR8$W=N,/]HVOA"T"^CJ'&*5+[B,,KVCC ^0MN9RQD#K6NDB"TY= M74V6T,U1QH6'),MYI]/\\FOR*#%+N@%_0+/+(W##]&:R$79"D:^T9RDTT)#8 M&@A)!9//P-+(5+7!P]&>,7C"H6'F@+[8-F69L\P;T(+?=QG5AH]J&7AJ#YHU M?5"7#6KF#6K![[L,:L,'M0P\E<8$6V=VRHUY">*^><-;Y.,N8]OPL=T:3$D! MV&2P=U2R@O]FOA35$:1&S*CKO\,9?1:OAH%09/68BY^JRL MR;<(_IV@9PW?L"K$$K!^N+ZI)&#]>C\=_N_7X>OL:O@K^M]I5[*L'FN"D#^5 MW$S+;%K^&FJ2TYJFQLQ$+.67QCVO(&;EG#SZ:GIZ44)K8_ 2QH(-(TU$TY&D MIP EM3<>31HD7(!2Y+0ELTA9:&HZSMJV72 !!48F#2A2VD(!O,F: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-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"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>>N\6%[# #://= &0QX21'KG!_HQ@B?"HK3%<$,".!#B/:);@/@#1JN_/\?_! M5XS>@(?'2S\>@##8FB-"AZ,V8 MBH@/"7Q$2IU #YOKQB#$)S8Z1VA=RJK[B%2G.5-(&XX("RHIB\811W308AS" M#7#G>FUYU+RB2P@Z.G521I*J\EA?EX*&$O^-PPM[[EC_,)R RF>DIS M+.##^9//"H@BM3442DX,Q453ND>\40!L?[%P/17J3"8=6(X)EB:D8 M'@/>[L;0095#J94BK"D9>* %/H\3N8,QC)&",)4P/));XF88X!1\8>QBLVB M]LYCL,4F4OHQG]ZIK*Y/O>O;3\80A0?9&F>4N+Q*[Q_KNB686])S\6!H%>!T,$^3@C**LE(03J5ZO(\P=!] ZF?HZ)/HK6" MW,5"EHA*:V,2]_30SDT00FO[N"$BJ"1KAF'3!S9N6K;FDP *8=6;J%MV6T>F_D/%"K@_"CWLITE3<17O!75M,DH M!-\^!N%7WT&'>N#Z2"'C-! G*TE =YL(/,%V6K55A8)=K.;]"7MC4E+$S77O MNM>SDA,D464YW#1O3*IZ0G.KE\QQFKD@3.&+X]#]EJ27Y&8!'@F!'Z-O1Y^R M?/(19V'$LL7+?8DQS%/E\3F!NBRY@#8(UNO 3_5%O75RU,P8!IT0\3IG (=6 M))G_#3N)ST((HB3<,IE3;7CACH!>E(8?:MIY]^=S-Q-C#%QT$D&SO(O6\(/1 M1/(A,3M>N-5"3Y8L:1.YXH5<+ M/5ERQCN0-C7(X[1%(5RA+:S[!C.SRG,086/*:(%.P&1WN,A3+L23I30%89[: M%]0J&-S'R+*.;@RH\JV#6)QZL<65PK#S-(PG-89*NN)(:9QIO>I5.&-,HN+] M;O,@.ZMH]N)>V^S%^Z^X.OB,2U+C2U+CHXQ4YLU,NI(:'TU1)B0U;I\<4S>\ M;<$H0RL@,$B8RUSN;S4]+K!%8*#C21%P@Z/:#FIZ4V$FH)7&6Q> MX3J,LKZDQKJ9(7V&;ZD'2QQP?<\+OF/[T&,0/@3)MWB1>-74>XSK@B+/,(I4 M[6E0X_AHK0TSYZUM.HJ0XLN3!P('Y6 M+OHIBI*]-9I,F,/6YT02IMP*%BSMD6T5^4=)',7 QQY(7JH<=#D_OK"$5WIC M]=8$]]A>J:/%: /#]&7"!3W?";O$IK/^;/@R?)U-KT:/5Z/Q<-*?/8U>+Z4] M+UZPRA'&N)E(FQ>,M4/NI!>LJR=KAL6-*;#E7K >DE+O71U>()IXP7+IS#RK MZO:"&0<]!<'&7K#N,T"Z%TPS[JIF<@Z1.;Q@<@)N]7G!C!G4'' T\X)U?T1+ M\H(9"#7W#,XK7(=1UN@%LVV&;ZD'&XV*$_@&_:RRT #?5D#GU]_<>#5(HCA8 MPW!WQ0$GM4;_;TZ^.-3@24:QK3T_JB9(63I1+ST$P3V\JP/#- M=6 T#3RRLX/4P7KR"(INB2_LVM)X28Y(HKR&C:LTQA>J4RUP"!(N5&QO"B&8Y5'G"(9^:91WQ! M@#Y2E8>6P/Y\[?HN5A-.0TR'G]'+.CXTD=>2'<,$@844C6LK/Z#]MA=L\ Q+ MIP>U3UE9[Y"R/G:;'.+26A+PF29CV&DO2\20BTU.Q$KO9!TY&HC;=EOQ*6.' M#Y?8Z&=*LHJ*(GDWG\90XF2;3AHKNIXV\V@HX+PM+"+L6YX/%1@R2\I(8EAJ MYM? #VIG2L9YE=G/>MXTTT#.HCN;+.Y%)B#Z!O6HE3'\:(=GE1<\BYF76\O&$ZI)TX-ZD M90W>JHO=)TWL#D+H+OWL J"SG87 CY#^D6R%-N[A K4ANY4%GF O#UOJ0.G% ME@^:S,*YY"-_OVJ0IKW:MF5-O>_=]&[M8 N_M(IKL6F:/Z"=+'_EI<-J?NZE'!Z,7UTV_>Y7+UY^6G9-DV7V"\"N;L M6>F$7V ,DU69%W3K,A\C'^TR5.2ZRB>'>^A#8ZM+PYIJR_VE+*"[WK7[RW;-LG01T&XUH98HQ+)'V;*(%3S$$V;\;YE MVHS!Z&4\&7X9ODZ??AU>/;VB?P^O_N_S:#K]KTL>C4L>C>-+4,9-5]KR:!Q- M5';DT= ,;ULPRM *",R11T/+W6M)>33TCUI>(%@(4J0S,S)==QX-XZ"G(%@& M7US(#C- >AX-2V=R#I$Y\FC(.6[JRZ/Q$4FJ-Y2/'PXVDA0).SRB)>71,!!J M"EYEL'F%ZS#*&O-H:&:&]!F^I1YLS*.1W=&FA-[M&QC%C?9H5JV*#%'-G$.: MW2UC%/JM+0R;S;6L&^YRGFX]UU3JR9((8Y**R%&%?7^>_LL#AS&&_="-7'_Y MD. 8US%$,^Z<44O\!&\VAN"G("0__55KV)(YO$9S#$I3>AA#155SK:CLRI+3 M&.,8!-'JT0N^"[L"/[1U!?:G7ZX>GT>_73+H7SQ_E6.;<5./-L\?:[7JK,VX MJQ:%6N.3D,@<_C\Y-U+TV8P_:1^__' TLQE_,GD7>4J;L8%04_ 2M!EW'V6I M$1N:L58U9S,%YO#RR3':ZHG8,&8(,X%H$K'1_3&L,&+#..BYYVYQ(3O, (V> M/]OF_)9ZL-'S]PIC; <:A\&;.X?S^^U7I*$G?YK!TKV<6R)F?5+_V?#BK19.2O-F&I7%X@.CST6*#A4'_[<'GV[D*Z-JI3$,>SG_<^ZB'@TWH#W!!#,EIP7*JO;WTA6CW11-0EZ4A+ M6E;O+EDI9:19O)!;A[;EU@F0E.]&VEG\S8V0.(]!^! DW^)%XO4=)TC(DS"M MRX6LQ-.]F,Z4I#3L1D*EVYNL[.D9TZ:YTMHF.>29JHS(=*@Z&].%A1*4U[;N M 0\;->7MG:X0?&@S >FXJA:*?2<:U!"=FJI!VR)=C:-32]1Y M:,2I!8O*O1QKX"&K!3^!'OZT,0CQ\,PN:?'/4+2'G".MA/71UAXL@6"$,V+- MF)F_ =^!LV":;#:>BR;%NG,B3S][J=%.!6W7*X.GFW$(-\"=/^1R%,4"_'EZ M;30U^5$.?@T>9B_'%.C%SBJJ-1K'>L#GHFQ*%J1=;>]SY!F_(MK:0 V>T8HM MY!ALTUOS(9B+[\(/.Y\CD[CU(*GRBWE'.;1EQ,:9EKMPPB/*JKP]"TH):D-! M75G09/.$=:B2E#:1$>6755JD+NO.Z/0?@5'5C"&+@^=F = M%"OB._3Q/,DX&DFW8\I6CH+JB69,5L61A M9 S53GP;4U0EVM-J$G;F8[#-KD,'?>?OQ TA*SJ/VL$8-DA&[VB?+:X#)>[= M_9)VHXH-_<4"'1_0._FXL&]>U@*NQ79S%DQ@:$")%[8%#Z3%A3L0SM.(OP]Z]YYY 358DEUQ)V,WN43^UY$ ]K>3QJ;@QK M)*-,60IY-&#-U8/#/:8@97BZG@]]&FM#:=(933NH0P6@J?X-G7-=)/\#_$9: MSR@]SH=#HDI0@S?@P?36 M-%*UZZ!9%?_0]^?E/QRT)!!2P9N,8:XJX\.I=&9)C'$KQ61E1ZNQM8Z7S-'< M< A!!@N!YZ?]".N'@ 'JE+6ET&PE5C&I7Z9O9=Q5N079I.,""1C&I@1E=X&= MFKQH7:&G/(=:QL^A;\R5@32'1ZIMX!5EEP_*RC+<:IR]RRK]@&"SC'!M]&!- MRK@L(' ,7%SBGGCAK=3*&&+( +)*"QYI+2G<<'!!C\6 XX;6DX!+8&6W-_[G M7XOM=C(9'US]=]7^X>C?Q3/O\*_ MI.^X.GS)5;"X&DR?KOYO_J+_0L]<>WY$T11^Y3=T7OH_,@(Z*U+O/YX4E2+0 M3\]8WF71?4J+SV0)OW L[N[JP8R:IY&S?WD@:*R]+@QD>8"W$9>C[GJC*-*H MX$$$G9^6P=N_YM#-*(#^XQAY]*<_]@5+MS7%F&M:&(.>'"#VP/+*2H3N!&AE MGU9;8OGX9V-PXM5K&0FF*-IW4(2% 2U*4[QFQF'@NTY6XR-:)8/@.9[75DGF M[&44GDQT]F"V$<]TC&?06?F!%RS1LH$V?&QX:SM8@2R_9*9>6$:;UE?X?>C# M<+G]$GC8H#X(?J*/6GJ7;@/;0#:E]_QD744>Y">;E+8OP$\6:(>7X*),STFP M11,3?21S]^XV^NW$U.Z %<:^6)*07#\U0;_:WU+\.055$+>D8"J(W 'TO"B; MV&BXUS7L-L#<$BF]O*9D4O\Z[?//X8>-NXVHD%0*4]MU&6%2PPO1Q;3:^A\0=O@S[G]??OG".X7+S;J,K*%J/G%*Q WS^IU*$\:N>"#[-/&8? G=.+<]O/L MKMT8\N+.^R![J-!*XH(='3*D"GH6\O:<$"?;?[^,YG2;P:@BCN1WBE M@_S+/[%GIW%O(6(!N+X:0-R ]Q>AZXCM]@C]+ .;4\ ":GU5>7B@O@_!/ZXW M"-9K&#KP:;T)PC3-X@_\'Z-%=F8%/O0BL0U@P^>6--F[UI?IJS559"J@H%*' M;'HX/6P<)@[^T*\1>'X>9@A)6$"OQLPG?$F;!_K\\,-MJ3]J;P_0 M/((5P3"&F_DB][/C57W!OP/?6<$B,(1NU^5_0+<9T%K2@A+F1;V5'(Q_\>\+ M#]IV&UL1H0H8S;;X??TKGZ4B$3@K?9 MP67R"K\71@EN\XU ]VZ#WE+. G_C#'A%?-;,0Y1F+\S$UA:@RRU6 :9Q=K@) MS.N39W&XG\,@V= ]Z/0>G0:U@6@%L,;9VXYD>?8H'A126YO I M5P&B<+6T< M'SD!YX$/(Q>0P:3WZ#2D#40K@-67!D$X4/Q7%\8^6#.OAH@\H-.PMY>T8(%, M(Y>"\*9THAJG%6:AF#68 _ZS40MB&"V/:RT?LU6P/6 /V>?HL4> M80\5&LI:<,$\XUG)VY_X,*5Z%N@CQ@):9WOP%Y:R0-X\LQEQAINB_P\V00C1 M8@=%*,#U%'NXT%S<@A3&F=_JN7X/@KCQ=%#3N:P37,JMUU$*"$M9(&_VY=)L M5 '\9PUUBA ?X!KT@+4C+%1;+_XQ.DT**L 4WU%Q1E1;ZDM^C3OW[ M .^'61E#2,T[C;BH7 6XAH>T1>Y+,$\\&#V !>0!E]2\Z^ *R56 :_C=U-)! MQIW//8CCN!_6#G?ZEYI.W0:ZD71%LA?C8]CVF0+1N14LTUROQ<&%-;"Y^G8; M_#9"%ASHT(W6PSC<9K=;F4\HJ^H=4E57_3K-1"U8H:9LI[R9(?DKVYU.MQ%. M_UX2UI]_QF>:%*6?(]K2(/Z8;O-#DKP%20R__+K; _WL@A^NP%ZPVK[CL L* M5N KT^2G!-_?T.8VS-/;L=$EM.XZMB)B%<@:GN2-[+ [G<<'M@PD*/2O=O8 MMY2S((/9IKRR&SM<(@6FN7B*?6^1LH'?U<]^ACVT:"ILP0W#L\WE0(]5U*?N@/)$+MAAN&SP<&-5,R0U"2'@>TFV. M2)&VH$>'K(OUKE$I[F2:>[7+]&@L;9%XV'!K9,EM&L$H_0,K.R*KDSWP3Z[%%[NT!F"5;@:X@)L;;45A3&!V6VT+^.2_=D!2@3G"(.J3/> MOH(UK*FV1&I65LP'?0<(V267A 2FU UI[-1O#N<$;I+068$(]I96D/UN:@R?D271L\H*_,.*?.]'5M#>=JPA%J[$K7;43C\ M.T'[W1<8KX)YIB (!\DZ\1#2;W",,PXBU)=P]-U'7[UR-_T%^OR^Y\U"X$<@ M]="3Z"?]/9VD*)U259J>1FNF[IDRB8NZ]U^@-^]'6?B'-T:+AU^_-+)[64V= M-CI0L#NJ,8K4UI#_GW]E0+I9,?7_]_\!4$L#!!0 ( "%*G% UI1'6,?@& M !5Y2P 5 8W-I<2TR,#$Y,3(S,7@R,&8N:'1M['U;=ZK*MN[[^17CS)?] MQ)P(BCC.6G,W1$04!46\O= 02D2N-)C'1Q%Q,B@Q7:VN.)")4[]_7 M+]6KZ/6?_UT[]J\$!*'IN?_]G\+?Z/_\ J[FZ:9K_/=_Y'X=(?_G?__]/[^R M_^W^\^O7?_XO@OPR1]4>_TOWM-@!;O1+"X : ?W7RHSFOW_U/=]7W5]M$ 2F M;?^J!J9N@/U7*G\3?Y>+:.%OG*P4\5\(\N_CVU;5,+N+Y_[>7UWXN_#T$GK_ MJ.U%Q7\P\A\,Q=!?!>QWJ?0;K_P2VT^_<')/V=W1J]'TBI=/I+ M$@@24P._FM[T%U?[_8M U1F*%U"DHLTTI(B7,(14T0HRS7X$)%G0IQAX=*?L MG__,HTR]F8K=\'<<(H:J^O_]:QY%_N]__IFIX?1O+S#^V7^025*H(&@!P0M_ M[;]BFZYU?_UJM?I[/0WLW7W^8=N;Z]'QL_9?*_US M]^']N$)S>?0$3755W53=T+/5X&_-X*A1ANKV+B4$)1_)%@;1_MW<#P=V/IJX#=_=C=D$]4+6MS+]BUXQZ6Z+)V0^*E*E05P-=D:6: MLMX$Q%A3JR0J@8&O>K2Q#LENIIKPMVO:F8A!G,FPDVA]=P\J5(294L 4O*!D MRB05(VYO5$)&1=EAV5*Z*$B]E#+^^N6J3C;@O5OZ37N.8T9;/Q]2KDYG-\QB M0Q8C3!#^]NMJHX%NI+A:PHXKH\ MZ4Y%8X329(,?57H$H?*K]PK)60-[C),#"W4(LENIK7$QB+OGA>QD 3(PM:,A MUN)@QVBEH.S'V/<>CUA#NR6RPP8(NO2HRW<.(,R_PF\F&%Z5T-MI MM3E7!^L62._&V=<4>>-.R#I'&0S1V;1 N=%E;,U0,*7PU[]H9I9XN426RX<1 M[T=XW0'3<1!DHZV;H:;:8Z &C*O7LCA^/^;BL#$7"Q,K1HE2><-75QYKEB@% MWXX900I8YO"^=,"U?6KS,.)Z]I?P?KQTJ];G S]V& F5JX6HW*^CQ:Y2W(YW M^XAO'*R8/<'3CX=K"F.S0ZT&H64NUP.N6&T-O/)**6V'6Q]_Z6"I;*3Z;K2V M:MP/4*_S% [43D4&M&/U?:6^1">40FP'.%/M$'SI&#M>/U"W*;"4.E//?ACI MW@ML.@&&U\$895B4K@B#Q&C) ?77OUMW=&:@KWF[<*X&(%1:JRK7[LW\&HHD MT<#11@TKP^V=+DX'FNEDROOO7URG?LKC>:X4>9HE[9[-A6$,]",Y23>@1P6& MBF4'[:W0"EWM5@:9MRM5\'*!((OO=>WO%_9\T'J;L$(<;1.2+<9'$FO33GUN MHS8ET^4J9DW0A&BS.XD+)$I@9R5^#P^S-%3IJ5F8H=9FN/NM;;JF$SMMX$Q! MH.P'KXB!YX,@2D5;=:,L.C%9LN)O+:B:]K-$9??MP[5M59MG^5.0/KYN?[_" M&#?8S4J@&;J\X3"\VZO$Q>Y359U]FAR"66SSY@P<:6Q%=\<3;U,NH3'%U.JA M$HTJ;>.O?\729_J5:^B*L8$690-A0::PW=.?:BR;SI)](6@%%F!!PY:X#8=, MJ8]JK#)SD]J\9V19JLQI2U%@(X+*."9BZ'>HK)[]-0*\F0"=M!W: M&P;<,_6=?_X9_=4VJTG5'#1L%/.DC9JPL]&2V3*ND!?U98+U3&,>A?M[%3=B M9CD=LLT(DY*X$&*W@8!GEOEF194[U;D_0,@Y Q;-S7*#\W;*K;Z<:,LYNZ@P M[0(CIP54;."A9J_Q^VG&MCCPFW/#["'9_%#T;%-+^R!PCB3ISJ1)GZ0+96:Y M]!-UJOL+<[B3Y$U>YIV3 \'?^0?7X($:@B'80@=T*LG^:H!>-KW-Q-U_N!UY MX6CH;:2+J=@4%QA!:*'8HJ\6JHONCJW%-D;6KC_\C#=;U;YG\"P=@_K,G4J, M.BMJO?6XN6S:6[WCXT+AW- _,K'[8)Z#'K$J<\R)N2WWU;U@F/GRN6=O WY? M70MNS4S,3$*]9H99#)AFSDROIMEUF7Y 2LGAU4$]=F6B M+59&]3)CSZT,4?0CR4'YA%'QV;.-W55TAL[.NK9R90JDM\4\$"2J:6<"93&' MR@9:BQT_^ZT6;T>\M[VI5.R7^\T5:]&=4F'9Y\N-DMP]UM)NOB#,I-C-7$D/ M)"98'0O,&^EBVBJ%C"Q$5F..;SBMV?NV$$]E 4=_%LQ[8(NCEL&XR_*VC M[ MDKS_;LI(!=$TK 8S'%3ZLZ#^S,'N4L-=#7H;WX ;[L9+!<%V5'=)Q,,E MHIIN_[0;S>X_@VP$F?KOU'EL1BV>7Z^02MBT!')08\61Y/4&W941E"&]CNU+?IE:5U0N& M>-TK"D:W,"$9=5Q=%= *@6_2-^CXY9G1;)8083PI8@PK3'2RUN49 M9T"]/C.ZYL0W?SQ^67R/N\<]?L;NU]"+@]UONY6.WWO$=G(]0^S@KK=&?.==;=M;;=.3;=TU M<^)94 /AO7??A;O[2[+P+$1S$/2 !LQD"]$!EJ4O<@5A7O!D<]HIQ:BL#L-% MIKC]D,"N7GKX;1OW(W-F@N#73C1PAGP_P'].:S6::)=#?-0=CW^Y/#[X7O_'*'^)22@]&1W<=^38C\3&00''H3E:6,X!:PL M.UW-G'#3DFI7?AX/SBH@9U0@K^4/>D.ET:EMQFW4X2Q",L-NP,Y^'@^^U!^0 MT)+@O#]HQ'C7^P#L-TT*)Y74XG MLQ"QU77/X&_^ !HJO%8S/C!C5QG<%>R7\79GE.?XGKO;S/6X1MP/@!K&0;JK MQ.P9T)J1C3(^I9=,:C>1;D,)O#H)+0->E/.O?P^7G1#T,Y'.T RB[?:M?P_; M4=%[K!\^N]>@_G#I$2T.GWP^+71@*@_5N_3!*]"A*6WW'(O>"@3TW'15SM7^ M/BH,[A96_$R(M*,ZX.BK-+#MD/;^YB/]\)W.P$%+(E;O6&JPH9:+V6;3@L^! M;/9DF?Y_2Y,-#GZOR1M ]R]J>'F>QNJ;.@&O07J:A M2_EYGMJ32$"$M#@8R\ATY8[[::-0;$,W_WF1IN?4<]4UPGG\B+P%MT"Q6(M86Y@L;%B7ZK-3#KID'3+ROD'! M-S)O*2G%F[D72ZJ;AG4A=CE.56.(V&0H/VT M9-(YBOMODO9&D >"L*JGS>/,A"+0 2O&!8&1UD ";&^WY?,Q1WAV/5IAD1!: ML5P/^%GB\R2 ;A'B-8Y<+O"-)EN:](!V][++G:IX6SOL7Z+E<-/<4)8%],EL M4R7Z&WZ1(Y=Q3K ;["=@9P,O]A_E,-&L,YL98UZ0L4) >QQ1,,M$CG*8E\6[ M46!+ 3$ZRKHX5_=<$)KJG@)#3L56/:179M3I.K2\-(T&Q1S-P5X6[T:!NQE1 M;-U9B)2&VVUEVXUF41#O=FM1KO[PJDDS/,2%V<*HK!%YR,IL<R[*?/PVQ"&/"QEZK'L^?"9- P::6B,VE'YCAL9K3218["Q7G1;M#O MH)>XG1.- L\UM? P)W],@1&FJZ&?:'.&5JOE 6VK!3',$P5>%?%&A<=4N)]Y MFR#,,JL]"\ H6&J,AJ.,B2XI?H,E-)_DD 4GI;L18!\&[B?6C;LWE.X61@[Y M 5ZMKJ2JW;40=-L0.H80Y(L! %C;N(@ M&G57OJ[EJ)#TDG W^/?P/[QTV,ZF67?OF]U5X!Y3@6U&.--OD I*KX=)?XP; M$W2:IWAPH: W6NQIP6KV\S6IF>![\Z*'&-%[6DYI%B6N+'M2Q040*F$WD M*U!<+NV-((\WI>Q4]&0.N6 [06?9HQ,Y[O8FU36!+.IHONAP3K8;^.=W)/D& M.^@8I.VCTKPLEV?#,$VP',)^L_;G@._FT'$?&'&641_6;,\L4,\,'BA4);92 MHVW4N37N6_T\)0J7RWHCQP,YYO$HBYBQ./R(3>7!-1@A1*?IX"PBL"WFAP@@8/\+L-C1_U8@RSU!9?;O@Q MWF2&>:HUGA'L!OLSV*78!7?K]OOJV^,$0&_6R";1'E.,L/(FML]NUJ5"7L/ M2Y+>B'&>&%4URZ>?$(.,%Q,)2:MM1FJ.-OX I8-PG=?X\)*D-V(\)T8(PL?! M(BS+6J'$T9]0PHD)3%2/PX!'B*5_3Q@E/RW$?GU)VHU:. M.[EEPSDQ;Y0X30EJ%IA:IJGT@1"-)58B-H->8*751:%HS=DU@^>:$,^%O-'A M!!WL>'N71UO9>D1I;BY-I&JQ*168SJ2^(*S<)@O/Y+N1X!D)]K675FO/@-5R MR$E=5HA0E1$V?;Y9@]N@*#;BK^QL2)* M2W:W,?6'J!CGU0V<%/%&A6=4>+X!=->1F3<=,P*'5,&<4*"BBX;,##N-S;HV MZ'I%*D\[%]XJ\8THSWM!F+IN@VW.77.T@\N00]U7^>[7 M<4K"&Q%>;@HR,$'DJL[1MO@%T1K-.].U+K>Z;K JN.*,]/,ZL7A-VAM!7B9( M?ZZ:MKH]N/-QJ=K"_9FM5C('(@F;7M]V>'S(Y36@O"[OC22OD$0U5]O-( \^ M9"#RM#I)9X'%VH'+HX&)+(IYG9"\+.N-'"^38_^FZL,\A5M0/&4U#=*2T.%X M,5ZG#E?^$<[CJ:A_%#4^L2]9%4%Z2G'64=&T2= -QM8- 4#'D%NCL"_S(2*O6-,,\(G_#ZF"&A(O=:<$!B9L#6GU6OPPQ"^)N47 M4N2\G#=2G"'%WH*D[/^J[P5 C,#C.D=;)OEA@9*:3.I/M& 16TP#OE..WD2/ MER6^$>5"HA2>,(6;3%P6+$PH+I5FG/"@F6]'\HK(-ZJ\3)63*W'6>,/3 M9G-=E+&:@(J43 6S7#4<>9.X-XH\ITB;H5AGVCC428V!+Q*!M*ZW=*;;((R2T$M4I%8:FB;O.89YZ2\ M$>)%0E!Q]J-JF\>[/)OQM*PDFJDRRZY37NE4A0W@.U?O'Z-(L\H4@W4 MC6EO#SH'@08X9WN&.N7JS'K[@S"[VS&GNL .CS.-&CJ=]OF595M$)>H*.&IO MHFY>,XUW*N%&IV=T.NUEN*[:BE)SLK;8\M+$I6:2UKB\DN7F6=Y(A<(1%ZI+ M,@"M7G?# *HYF-71AB)A>4U)3\MX(\-S,@3&5LKM45R')H*'ZO(],QAQAK0= M9XHS#DM2EJ),Z1Z:URSU H%_,DTP=$L3_(XEV2_WYWW&TQ LXTP4)LG^S87LI M_LELP$Y[#4*:$@5MKJ,6$2L )+T%O:E5>=T4%(Y^8 MTEP-0 _X<:#-U1"(@6<$JG-D30^?4D8 =@U;#P/XMXVWG0VYF:YSX^ M#5K$VS(*A@V>(0KV>L+6-*\.,2$O.PWZF9@_.6,HD$>4(#],";>^6)A5LVA; M4LAM1LOZU %Z$I;T%*"O)P2Y+4H43ZB1/G#E"BVN$)',C45E0;=(.F;]9%6 M@JX. 2TERI=3HOQ9E*!"19B]/U+T0*2:+M 9-7"SN=2?":5D_DPVFFV&>7?L\#!P^^7* 135X2$LW$].C1Z0!K+10CKJK MM,8X)G2UI3?"^EC"'PYFQW.W=PL\VS:W[SE$( #A =RN.NB/FSU$LA"Z.0PF MJ[ QZN?=9E^2^(>#3>FZN=]NJIHZY]*J;T:J?=A_KUE"*LL=E&D5+)8>;?0F M@&]A\HUHORCR3X=;TV(GMK-+=2&:@V![60#F6TTF@,NLP %[Z)<-+GC 9OG:>=2LV M!7-"1D("\%%"AM 4M[*POF7(JW". MMI &.NT,EZ(5YSU$?T-"!@O8+R=D=260_(DK8=9POI[R[8+5WJAY1_L[$C)H MX+X\(5M/6W:3->NH, ;3A1_900>^[3LY2\BN18.W5DG/)&3M?E0U:W-4D(FE M5HYK(WN;\T(2M# O!10B;'=)$GQ:'.(.NYO)"4V8I6;Q6RW(#Y8D(6 MC$*O'HY-@5&7'85J:-R:A^_L)_@3,EC ?CDAVS!8<\KUW)*5^O4EIE/]+@_? M,:$Y2,B@@?OBA,RQ&FH?M(0A*NFUJD1)4FT8YA[Z;T[(KD4#XG,2,G.2\@GE MCKJR,$.T,5\/RZWQ+2%[ \ $) ?)63#LF+R<[F+,V!3-K"VAY>]1MYC]A. M)]6[FTJ["-^!.CE(R*"!^^*$+&YU#4HG2S*#$4QE/)@%8U/-/?3?G)!=BP8/ M*]?42@WT9UO>&<>WO12 W98ZP=^R_\FF>3;(!K*]0(WB8\KLMII7U1#HHIIN MA::"[%KC3MO[^^YOUF$'QEHQ:1\51@$N&W7,;?#0!HFYF=O_[?2 MNLN,-E(#R91# **GETBMMX%W6>M&Z_R\G_"]>04^*&/S*//5CE%9 82NZ*D$ M;7'P1FM8WK&H*#BZI3&JQ(1.Q0)@%8M8A8S/B,28OO[;$6_+P% $K2 X^MT9 M6 ^$46!JV11IQU39-:.P)\E/[+H'=K,H<=O&O9\Q*E1W/8K":OKXD]V-=VWN MYR:8,6N@Q5$VTQ)F,U,#P?Z6:SLTTI(LC.34+'5*\EP>D2FT]<(SUOVBUCYN MX9>K^Z]_=UWVS^O[EI5]']79XG"TL.D-:Q%14N@:IEV;=O(V0;Y1/8>9VI=3 M795KGQ0[J>&TCFVKKLZ:1MZG(C>K?DKU= M4T@9J2":AM5@AH.*&_18=Q;4H%O(U!G2H5JVJ5'55RP4)'ZO@1L(O(:$8>'JL14(@@2#)(L*3*HOI M^Z9K4*[>4%U]N[Z]Y]ABT1#QU9J;6H0Y,3;T,!U1(^@"])94IP1\7.$X(^&/ M)L+3B+C[7\:%YZI&2/YX,O8;.(P,X!<]5!O \-WL%V!_EB\_N MPMGKO@<VMXI,#<;>2YVS=WOP./][3=UYX'C/<7&T\=:3D+U+NC M,>( U&-7?S@N6YS;C=4PID:H$W5LM<]VZA,3NMAQ8-8+ZGOBT;^C['CJ6,VS MFO_1,ZYS]'\KC9DH4V.\NT3RXFA.S0)34P47B%&Z)[!O&2@],_B.)=FE!<6U MVHLZ#RV!WTRGUS7PHXET;HT2.C^ZH%+ =SO2&*4QJQ.VI,)P#F_#LIL?A3-) M_DSZ[S;M"]FSLX^V+^ILO[%-NMP0?)51 %RGI'E3,AC$(,8EURS1(8"N-/\F MHWA5JS=3@-\K.!KK4YA(^7Z:OKZ'W"4W?Z'U,[SL/$&;@[*+N$83;[ST[/^]]_KJF MKNMST51XE"U2]&B:^M&RFDM^7ZBPF__^?H+O #I$U6P @:G:G\1GJ^T5"\V5 MK* LLQBM?'%$@#ETU>]7^/R"?F[TA8N^C*]E'J<&$F![_E8!^ZO?0>=3Z<>@ MJ]:L9>J1:#RK$%6I)\NFGK=T^@WZNJ4?$- [ ZA]@.53)X?CL5KG6;PR9&+= M137?X:3Z,G?.^:QZ;K[Y*W=PO).#AZ\?=GOMBDPS$ @SUO/TTYNO#]<$0!<2 M$&1?/B9;L2YC[AN+R.37-8H3B>@6Z1YI6,Y(QN;ND(9'[ZU 3O<],1NE;OX,$2 MTQB'BN>;=%6YOJ9U'J70E*C6"UC7M$;+')'NOE7G4\G^..#O#80% MGA&H_MS45/N^T0T3!YY_<%3-I#+HT-YR;2TG_<0*''8P+4 7/;>@GQ7JKG?- M8ZEN@!\!3H6FNH>[,A]O6H1JMM'8;-G..L 4"\YM+*_ _2#3#>Q[L!]6)6DO M=C,?",(C8U^.5P(K!AM%IOUZJ;M$I4V]F#?T'Y823PIYH\-+='CD"L*-87G$ MHIA8Z42M-*G LB#M%_,V,MP\PX54<,#V+9H]&T9A4Z%K:F)8JL08,WK"S&1G(,N2DJA3SQ^H;DEN-;NH,AE978S*7>3>@RQ+-Y"? M@=QO* UR8N/M&IU-=; -,UW0^J;4S5ULWH/<;]Q ?@9RAU?T0&?Y8A*ALKF> M5&W#!>0&OO,E+@2YP]] ?@9R>Z1H(['N!,6P89EUJIZ*Q<&R5LVKNVZ/;B _ M [G54T2.,2I115PP"#*UJA.4+;7D5N\&\C.0FZ*26HQF47X4H8Z#H)SC M=BLIF5>0F^(-Y&<@3)WFT(]!YFM*CB> MV .J7NVB\:AL-XMJ90'@/$SA I#9Z@WD9R SDA)%I8@EY6'*2.-$ PVR'..S MO(+,W.;)ST&N,8K/C!#"92<1LXP:!A'U_969N_7M \@UY@;R,Y#IB3*L5ZA6 MJ]TBF67,K1I%MPU;Z\I+36,R1IB1'YS6[KM[FR<]!IF3%$2L]IYDL/<943"8U M%RTJ7.5UGDS)-Y"?@\PHW:[!E00#F3%.EUWYO=JLT1KFU9*IGYUX77SZW-6[ M!)IN+TXK&Z,M8ZYI]%<@"5<=*.=DMRZ!>U;"T!#Y'03^HBZ!%5D7^\.&9L7D MNE!M"]H<":!,6F]= G\4O;^H2V !S()R2ZKT&6E57>J\*P\U.*OAMRZ!/X;@ M5^P2N%25Y8*4(]UB:8)VUT8X7<,Y-;EU"?P)]+URET"3LMB"1WF$3"\[?*NN M!PP9YLT]_]%= G-([ZMU">Q3_*B?](T4'9)&D+ M59? (*W.XDZ_85MLS-LSWV\KXCC7Z0A4G=-NZ0A$70*3-3-C:J59%1UR4[[5 ME+JQV(>N-));KM_2D6_H$BBY$EZ7"V6+86DI'$Q5:V[E[HR;/Z9+8*YH>[Y+ MX(0:UIQNW:TPQ)Q@YOV14O:<'.7 7]\E$%;@S^_K>M8ED&^-B')I."DR@$!Z M%5%PT@(.7:8(2Y? ? +^J#58NU8/R)KI QD+Z7)Q8*?S$IR5]U?@_H)>8/D# M^[4N@=,8]VHEBQE;@B!.\=0#N&Y"N2GOI:V'F&=[3); 1E7 3"V",;OJ1A M7$X)<4R!N-GF2+Y1'S.Q[P:2N!Z+ ,X:^&L4N('^:I? 6$[%4L5M:$S*%6F# M8/#V)+?-:J[8)3"_( \Z2KO;0A8#T>0M E6'+3_N""&7.XN^?I? _((L2TKF MYRBOH4YMAI8$UTF#3J,KY"YR7[]+8'Y![C>4)2%24;$K#IG8&#$B4H_P9OYF M;M?O$IA?D#N\PB=F,^6&$2*G7*%,AK2+8+E]9_J*70+S"W)[I$3%C;VJ**LE M.NP$-=N7,I*$[LDFS98]A@VA_, M!T2E .>+-Q> ?,4N@?D%F:TJP]EL0A<$J0K=@G,+\B, MI)CK A)/ACZ-ML"\M@H'>*/+YC4F7[%+8'Y!KC&*T4:[G>YJ/D15=2.9&%\U MZW9>+?F*70+S"S(]40JF%EHK;[*2V>%FT%\/^'JGE%>0K]@E,,<@=Y28!T7# M)P0332=ST-C4!V9"Y;5V?<4N@?D%N=I3='Q!-)GV@KP1+D^0>BFU3%!9 MHT+#[C?[>;7D*W8)A 'D\A'(Y6_L$N@8;(<5&#!$AP-FC*)U1Q_DKDO/G]4E ML'PY@^3*Z3I#.!=W;ET"?Q2]OZA+(%E-2Y-- M8LT8HL^JIE#CVRLXH_RM2^"/(?@5NP0VE^[$LILNATK+@JH(%7FJP3DUN74) M_ GTO7*7P.&@7TV0#<-8+<3$08 X29J[)JY_=)? '-+[:ET"AP&*T^ZZ9J,J M,^B1?)>/U&KNV/P'=0F$D;Q0=0EV"V)HLH2N+Y+8%U6DH:$K3H:O9));KO_I M?OU;VJW9*.G9*\SS92D:;IJ=FFL&!>C\]ZW=6@YI>[[=FN1YBZ41X)KBQUF@Q.S_#A6FX9?6PLF3)'B5#N!W@%[B]HJI0_L%]KMT;&$W]> MJ!5-%"&;C<*"K\MH";I4&=)V:S^"#H]<06W5'8>!6*VA+0T;"C6M-TGR][;H MM[1;^QE4..JU5=J,)U$KZG.R,-%2($Q]U9OD+3!\6[NUG!+BF (*RRCIIN6O M9'8]B(NA3*\W>BZCPPWT5]NMD6BIT1AK99W!A.941P**F_&Y _OZ[=;R"_*@ MH]"+R51?VF6-0<)VNU(>(Y-4S=OD[@O:K>479%G*OE/%$WTVK0;YBN[7\@KQMMX9-.[,H<$*&1IS^#,-Z32Q_R?KUVZWE%^0.KXQ*9KU< M*"5=66CRS#2:XQMJDE>0K]AN+;\@MT=*15R(KFH4329M]G2QVMM4ZUA>$Z\K MMEO++\BMGD+P6JV/M)N^C- #;[+6XPC3\FK)5VRWEE^0FZ+2;+,\ADR%)HIX MH/"HUQE2%:[8VNP$:,ZW2JM87 ML 7(787[^NW6\@MRC5$Z1*_0[!I<*@LL'BV6#6-F6'G-KJ_8;BV_(-,39:6@ MH]J<7M89$"0NY\<.:.3NB, O:+>68Y ["K%"PD)';"WEH;UDNDFMY."W=FL_ M">1J3ZETZC)/HM6F#,:> 07YBNW6\@LR)2N2UYBOYTJ'E8FT.I!= M26G+];RZZRNV6\LQR(PR=R9:4\#TMDPS;&BR%7;+?VK2!C=R!7 MMB!C"D;>_7+8$/MXK3G)B"(S*D-MI_OMXP8K4J]O."K M%5D(DGZI/$H]D$*'^F%C^"D!'[:-GY3P:CRH("AV(0]VEV+DQWE A8HP>[#N M!^3%.-#F:@AHSW',:"L0L];L6#==XZ"SAX].]3&[:S;W<,VA?4B)[WD!C0:;@W=.?4M:,YF1?"%J!!5C0L"5NPR%PKAU"1-E7 MU?JG$U==7]'+EJMQJ\2%RD(6=',1S$NAW=9S0=G':KEYV1]#UM>]K*V6P8!; MENJRTZ*:%6;>1F+R1MF;E[VEOA'F%<)48]/>EA;V)&D)6''5F&AS:]DP$R5:K:^V-*M< #88D$K.PL9R6.;-+D$OT93+A>3/G:TNDG3;LJKJ27 M\%5805F!KT7-2F^B=G]&]O!%DR-H8>>!&H*Y9^N AZOG/3KW37OU Q? M)JAI@+>)%NC#V\'Q3;"_(/:? ;OJZGN4EW:K")!"54?-BC=0J&Y$L).?8=P/ M4OX1H+Z0VH\&O4@K"(DHL_7J()!U);&D6VK_ T!_DIZS3HN8S,=4*IN$UF@E MZX$31S_#9U\O/?\"<,G/R+A[O-PG2W;;M 2#,-NX4F'#VL^PXB_)N$FHP'TI MX]XPPXGF+%R+83M^SPJU<;BI_XR@_/49-URPOY1QSS#XWLN./3#/US5 Y&:I2DZHV9D=XW[HG?"2,ME M>=QB:&T,TKD48ZP+[?SJ15$?<#XMZX]: 'E*#O*('.3GD&,EQFJC56OA3.S[ MKE3JK0=4"&WZ!BLP&S@TS=KD:D$ 4V>#1'-\=, TA M))IE2^W@;F75DQ,N@3:4O"CM R'.BIO;>MU'84Y9:4AF82&1:1G1TN&P[P@F MM$$!4IB_+$E\]T:.U")U+?_VTFD4T5A%2+56YZT6TXM]NF1I$ %%=Y1JF5@MU\U6PK#%(B_5T957G.45J,_M$@D3 M4)32Q:>X/!G[2\OTEYHN]>J-T0K*6,0 47)2H];@J!4P$5+]?AY M@'5[4Q*^O3/?TJWQ2Y8^/IC*B_B\UW4*Q:[5$KE%0@X%DD]SYQ"_)Y6_WE:G MBU-Y-U8GRHS9\,*95:\ETCROUG>U5/Z[@5IO%!<1F-?0)1?4Z0$S M&"=^7N/9U5+Y[P8J2^7I<;I8%_6QC0I-M19/"VU\!N=JPG>F\M\-5);*D]T& MP'"IL&*<6D,8\%;:\N#;?__=J?RW T4IE6ZGQ4[$5<-"B@*Z&>LZWM3SZOJN MELI_-U!9*M]Q2AXP9(6QS(&1E!%@BKZI-:44CB\1*:5JD@_98-UIY7PI]2>(?M73UN0OH+Q(E]K1E M<4AQEC=FB5ES[$/2[RT.@?.N_SR:1ZTR$! M'1]MZ6R9,RS60'N39DHR@@-M',O;(0'?3K6S[WG0 =#-J*YJIIV-_OBE;M,% MPNSN@L-;':L"M>[7VYI%2VZ] MJ-I$-#5ST]L.2Y;(_>Y7XF7,X6,EZ$<&?_ M67"NFN[.)IXCV;%F2%BY M( CGIO\HR8BGH:F;:I#NKR/*/8NNZ>Q,3MM1&4D&P@.I\XRNZ,9 MT.+,"JLIYR:9@-ZN%PZE[ M01=17N/@"4V]GVWW(>KD:6IWQ'N+CJ_'RL)G!C8%^VP_^#I7MW^YUZ48 %\U M]6V7%SD$/=.89]-=5V=C=?N>"=A>0F^;.X7@F2K3I\"NW+E-^Q>G-&0>DVW[99!HDZ<)XC M+.9+.2 6.-[=S5*6^I M0WZ*\B=661ZO+SQ?:]D7(;9KB"#03-7>POW43_? KH> N&5'/U#=4-5V\]AJ M^OB3W4UW1CHWP8Q99PJ.S"1[]LS40+"_)5)ADF)E)"3HL%%M&?6IC-43Z$SB MU&+;B462I*,W'-$2FJ,"Z!:+OCB$SIE"0-H?4+W_)MI_ZO1M1K=! M#8VJ!10;I4V]Y!9;W.+/+O/"-GV#BFB7!N]ZJ.%5+.FM4#.=S06M4NJLIG\V MK_[4,/T56S_F>D?2&9HKH,A$B+TA3BG2]3N*04VWW&S]R!4MWU5TXGNXV;"P M9(BVNF#JTIW$'/9SEQ3^P97Z'$QQ5&\=!ZT^/V#,VBIN>/:$'FFY\X#?O5/C MLX%&E<+7SV7KIJNZ6O9MR@C XP[[K84PU"?EDHH.9_V&9!L5,W)SYX?@F)R> M4_+UB(DBA4\C)J%@Y).:]-OI) 3E%X3&+0%>A@Q!(E$(S\ M]&A"0KK 4+&[N&0.IAQ*;_#BTHW& SF!ER>W!8:7R'NM5AEE2,D;5>VQ7D*L M(4.HK-0Q$KQE$=#%S!MY+R)O^>I+NV(\S<8K1UO-FR!\F%C?$UAV-<^VL[G, M=FK= ]GG\:&*X8R%W7/M_.RYB1_/W$ MZD< [B=-OX%*S8A!:A'GD76E-F*@C80P GS]$VZKJKT[KVL.0,1[VNZM^J-E ME$.!3%33K=1W);,@!CIOJM.]KMZR+$-[F6*#R,SN]6AA9D.(F([9;L!(@/ B M8KZTC#&T<>>N3FI;]CI>M_?H?*HNTSE:%>RE"&OQW862.\: MK;1!-/?TK=6&T4/[E<=_!>"X"L&XWHISM4/5$K?H0;\C([(P*I']>>#6_25T MT6C7D>P#DN\=V9'HGTF&I^UF*A>WF\DN?=@C^Y7ZP^Z(C5BKAQVR MS0B3DK@08K>! .CBWY92]QJY2U6/5/)Q!_4&73Y:<3Y6YM5("F/[FFN2=-N0 M*L["A>3-HI4:@"=?/.3F9!=GALS,MUKTO&D[M#<,."@7M"&D[D4J_M,)K:ZO MY'7KY4G=]9&^SRP1EU7+4BD5R[F@[F.5W+SNCR+I95ZW52G3R0RIS%%VL6@N M]7Z(="8WZMZ\[L>ZX+V'L#60 -OS@=X'VMSU;,](C[PLPX]YP8LG308H/&G/ M%7HYA;:%.U_Z M+M?U8A\PEZ1$\9LU*C1&L]%0)/ N?&E;OB+4ERX57,-3X''3J8^+=I7!O-5\ MI:QG:W3TLTCQ/9[B^@L+U_,4"(A2VAY-1$;29NJZL@Y8 ?]9I/A.3W$M:E0^ MJ6R_.WSMU&7W>T.Q6"M;X^70<@"&UC8:325UZ-*+3ZKDOZ:-W(63+R+)G+.J MI<0LC%!$7*,;@@(=(8'.B>2;)-?U)"\5R+^(1'*/ETOCUG2.MM(T<@DB&76; M4)+H.E7R?-/SNJ\YO%1)_")ZCEK5FCJ5TR%*UTC3,]3^R.I"MZGB>N7$&SVO MF8=)\6;NQ?O-Y*K- S4T78/V^$@_;*EH%D3=TC"307A_V.@*'N7+4*Y_?P)+ M7E5'[FCRCNW%.V+TO! $GF8=IFO8HC;P@U6 FBTR(%^ M+&WN0/X<7] #!S4T/'M[ID3(VX>-5;B"6U2%)'!YZ3M^0'8"$H-S*\$G>($7 M%/&'4H-6754W57?W"BOGS@(UC()8B^( U&-7?]B M[);!81+-XFEHH$@UH5> M==']J3RY5"LY(PT)R\RLU8ZK9@C*@BQTS5ZUF':$*0HEF6XSLZ^L3D,R,VO- MQ?*JTK%9.593/B1L=>H:MYG9C9Y?-#,;RE/!*XV=*3JL5RE#-R.]%4+I'G,\ M,X.=)B\E[<42CI-LFS$8AZ([PY0+>SJGH> MSN<=GW#O,DI?$$WN]W>HOAFIMNR:V\T/)_9_/'R^^[!Z6-&/9H#55X,ZZE09 MK9RD\XE._-05_?=$HU?'=K^QY#0"CW:>G(;@2J0N??H+HQFO']X8/;$MZ;T4 M'*:H1=96R!(5V&Z3# D:"<;0^3.88'[R*F@&]*6O@EYG3S/Y:-=A8";JM@O' MMHM6$&]%ZIFA=40$;MN1*[//7O9P::7Z3US9J7N$K&JZO)=I,VT WA4N+_T81#[6V%BH;U> MR.J:039!A8YKX<;EH4O@'S9!GD?D@;2G(?FX4WP?EH^-Z028'Q_6:18\WCGZ M*@WRD8F>6'/\B(F:_0Y>:!3&M+4$VE1U)K2LP5=OE M.>%-T)@M2E@CM$P W\M\-P^<2P],?'[B_/([A!^QV F'LHUX.C$9,%=Z;;E3 MP 4>NND;; [YV]\)_%1JU+T 9+;"K+7Y=D5)\+=WWO-#8T27$B2[->5&AS6K.+YFEQ,E9HO8RNSJ75U2MWPYD(OJS$JZ/EVDNIL:GE6D^E1HO MA1F04EH@*&7< NL5KH^"!1C.&Z+*[GO5'ZV*_4,AYMOK%8:9\.37*4%+C M10^RX==%4%L"3G;,(%B, J+&E&X>Y ^BR6Y!?*@&V[,Z#UL^'=2=GI1V4%CYJ\]SQ7"T.@H?"\&<6 MP5^I4V?/UN]KE(?ED9)3UB+=63'+NEROFU6^6=] FP:?;[6]/S7M$I5?IT#] M=>7QU^K0)V#.V=+0QTR,ALF^F K!^4%CS$[;R8V'O*2;=S PZ,WNR;/)^.Z/H M9L]9JGC$F$/?2)214DQ_6*8(@YU=-IF^&=I;3B_*5SRKX5:RDEHE2_6:I%Q@:!G='N=T"S^@^'%"W[0*"&L-$<,75])DT'"@K8CDA#XP MO^+VN?1!.+SJ@G*K*9M#LBFG5G-*X3?O\S'Z0/%JRVL'-A"CM35=MPE.!B.Z M7O!FPYD-W^N.[SY) V3% MY5PS\.FH@=*5A)#)XIQJF- 9W,%[7J:(!V_[!DWDC!SD5Y #+43%@3]MBTQ: M+\V*+0/0 ;QI7/[(<:T9?_DKR*%'*=Z74G=[,#H;=HJ"'AKM&SD^C1SEJ_?% MO"(YW&X8I42\GE@2G:A57I+&M'\C1WX[,G*NYCE@*UPKKB">MY>0HM"TZ+^/CPIQ,R_NABT5O)X,5N M%*2*+"GD'.,;4DN9RJVR41H-N+47=J"=P9]%_DZ@W[)T@_DYS$U1"07,='J5 M6BQCM"XU)FNV; NYA;DIWF!^#C/=40::92;$JF0P*0I:3#-08G$![23Q-9CI MS@WF$S!3BES&Y4&%+ 4H,97 LEE;+T()VAU7K\),_6B8SRWDO"M1FU4UI)^Z MKF0YLU6;;%O-5=2])6JY699Y*QD>$C7:J'0*9&2(%LLN1Q+GQ5VLD=L(?L5$ M+<U73-1R#'.6J(U+3#AEZLE4QEJ< MXZZF H/#=](N!(E:GF&F%-M:5J:;NNM9;*?C=)89/'4EOS!?+U&# >9S6R;> ME:C%<6$(RF[?9H:QC_2ZGCAU&[=$#=H-$!\EPT.BAC"#FM$6=%I&4$>W(LIF M^4IN;?Z*B5J.8JNRV_A]'J) M&@PPG\O'*7T1WYVG'=:]H -6E+;3B.D:8N"YV8\:V'UZM%K^<)$4J:ZN!GHH M^WHVTNS>1;3RY$VC[)IH=Y.[([MIS_$]]]D]>R!231?HC!JXVZ.Z]S=95J5A MGYN(#$.874?AEAK8P%O#>9,Z'];<+]+G67Y>/+H7@7@8S6DD?O0\!G[S$-5' M;P.F8!(&1&U.R0#)_AG4B])X#6V$_1%&\5C_-U/X9%-8A[5):S,E:6:9]AOJ MS!P'G?F-SS^-6N=RS=UIQ$#/3"Q*^X'JANI=S:2:/O[DH8(DQ9NY%[.JI\UC MU34BD&' N" P,NOEH_M> -I()]MJWY*1M#.FDJ34QRAH276Y#O8EIHN4\*-S MVJ>; ;:O=M"9RCS;U'<7AGBW5G 8"I7"DEN@*?4.V-P,<$ MWK5IV@O-V*9CWK4RV/.P2!;I4!V5<-1D%[QFUYB82G/I2%^4\T>3XND$XOO" M,AT4E]7)O+AAAEYC4"L0#:T7WKP:S&$9AFG*]Q#X5%B6+)F+8Z ,T%8;U8SY MIKZ0V5RZPS\F+.>4P"^'Y;;B]!L=%E^^ M+RS/'+6ZD0V/0].TNED/NJ4R[T*W< B]5_O*L Q#N>=["'PJ+(_7_-JF1!MG M3*44U$1CTN7AJRQ"3^"O#,LY)?#+85DG.G+?"]L=&7 U >T0I7A YW)^\SUA M&8JN40>H>6];Q ^<&IA&S]H39/I+0!"94QML/S\L XM3J1C3U(+!J@Q/))5Y MX#6AP_^ \2D!'QAP4L+/1/Y+^]:\ \RE:LRQBK\6&,$=FCHW;!"* UU0@0_, M+VM&>MYNO>W_6TVKP-7FCAH< M-VW>+P^'/: !,U$SU;U^I^?4"H!N1L^NW-\)HVE<[;6GN@SX93\>EGJ)"%_C MT[O69D_UO,\9GBGZXZG*:P@]6\%_!M%5QG#"JEX"]T>7E-]EBO, 7&!"WV:, MZRK?]Q"TUD$!!C!?M4HR#=_1ZY<9XX.J;^9X,\>3YBBX,!MC83IFJQ6*]5!I MVA?1:J,SY2+HDJ^+C/%>T3=3_ -,\52I/]])JA?W^$ZXQL8,-AF/2J4Z$:0+ MZ-X"O26I4)DB# LL[S)%R)/4EA<, ]3B%K)@5#E\BH R:N4S+MZ2U)LYYCM) MY26M,4)6<\Y2:_W^0HR!4H>O[^0M2?WC3?'L&L=EK[KU Z"&<9!*D:<=N-_L M.YC8->E5;-BC'D@ M@YJ;#*;+)@*8O /[3,R^%M3WG(JD&5@NFM>FQ!;PKC,9KZ%(02&&]_J$'[X5UW'.:?%*LSYEE<=4O M=E"[(,]O3O@R6#_MN()GUGJ\00CHS'9 )KA#<_OAW4OI6P6H;KK'\H5=1;N3 ML(#O!=$V^>6!H=J'6QYV%-5=)Q@N=41>&C4733QW.:Q!1X3C'47'>KD[&NN$ M8MZ?Y;^T@6EW+-=+*LV9+RDKUH+UW8WEX RQY-HN%Y3=KG1U%P^'],0WF%SJ M:ECB\Y7$DO1!W<9MSPZ)F\G!9W+7\O.$4J#]E;2>1A+*MN5Q8IE$F72O3H%O MDO[2EOY4-B[=M./M">H2T.)@AS"SUNQ8!WH]\)PMU^)H=S-A=FA6)() FF=4 MK*:G;_"HB\0V,Q#\79>%NQ.1MF>79MS>?2"[YOUV\5JOJK'UR3BVV#ZF8^NA M-&C 5WB[+W-=3W&'UA.7:NZ/6GJ%D+B&.QS09%.19+-3;$X'(:"=.K2S\#^! MN#"LC)QKPP,1<6M.(>Q9=4VSAAUDKM+<))G#>_;2GT!<&%Z@.>=QW[';/N;] MMAXAB<\@ T[>,+6:%-+0+6Q#LML^-Q[L'418;3S67Z.L83GF1%73V,68#;0A M$B8B0/7VU!N/>[V_JNX%=^NRO!<>@D_)]FO5LK+!435A,-GHN&'@0QM\WGJ^ MZTNBYW:9ZC/A#\3U-!E,O%06]&FO6"E:P&I"ZQ%R #]T)X&_"#\RJ8T=ANJU MT"7.KKQ8FU+KU0W^]\,/W5G?+\+O3'"#; =^%T62=*J-B5ZBP=?*,4?P?WWA M<*4&^C/03TV9>I*\1[T^Z3)3;6 %UG(Z%(5A$MFS)G1%^'L4'TOXN&_["R+^ MF:6X=U!!ZM%>/-S@(\99:6N)3;1FC$+K *"B LQ3P_=0@?0V]6;2GR!HVI"& M_1DG*XTAM*D 5%2 H5QT+D"\X\"%82T65W'1)!BBV:?#?J/6J$^@=0HP'6D M0WCX&!$H/4N3LKNIMJB:.N?2JF]&JKUG!N<**YI!_*FU7-8GI5FEL5F%T&8. M%S+C19%_-%7.91*?096(G;J!,ZB0%E%B8KD]6510^-YLS 558,XTWA%>"''* MQZ7^2I*=ML31;-W<;'B/"RS\"GX5STD/X$!2NS#Y9XTHPB M:&O14/L,J-8KWGKD#1-)WG9].+M$\N)H3LVRG%X57"!&AUV(Q2*?ELI*@;"0 M-CYJUI!.R2"@I&AL_OIINIF05\-.'<6J&$4Q%H4!Z >NUG2 MJ.T?P+LF,<56RSY*&.VQ'/7HX1J#SF9>27L>&=!+VOPXC]^<=EV*0\ZBQ?LS M\;MS%[G0M!,0M+,+ E.U#ZO'#!&&B=TO#RQA3OR/C:F9.G9?]C M",#'7JJZ1M-]OC-OQ\.(45%TBFN.LL:0QOEVL!R-QTN/_A/LO;7G(X\"!+ Z),?7L> MS()*75LS2< 08B72>QHM]&;0U7ZS\?]^6<2__MU><6ZGWRS+CE+51JNRT5__G)U(;]#$C5@?W-,6 M+1$6E6LX8)8UH5XL8\82N]Y, MB5*%(:1IU!0(?1[ F]->RIZ[N=:KTM\(] 8"47JRN[CO2;&?J0L$!PZA9$MP)=^O-A#IU5P(^FT;D]$U?,C7I(*1FBFXZ-8D2?T3U$ MGV!X[OD$4VX$PPZ+3R+6B[G1-)JEO3OBICB9B6T,'_ M9^]+FU-'DG:_WXC['Q0]TW.[(X"66 2<\[X3@4'8> ',XNT+(:0"=! 2UF+, M^?4WLTH"L1JO"*R)Z6,04JDJ\\FULJJ&Q+P_/@Q]O6\4!AAMJ@W[1-^H4.*' M3Y54[DPB1B[;*%V/K5SS:"Q:&'RC,!<=?J1O='ZN:(VG>GLL%9W;F\O>3:.7 MO3YXS;17W^@(H+.K;U0@VJVH_,J,AL5)_JKF#SSKNVS-PH#C-8=(UBW3-55G)KEU;T$ZBZP *5N M3H@%]_PBLYG5[BB>S63+SG5;S#V<7-\.;:<:ONTZZ ZI:\;F%U:L']Q1I0TW M%F# D*$59UK79<,!@<'% V,PP]KG'\N+@PUYB\2$0H"Y^VU")A3L$TV(TH(2_DJH] MON^YW=1)^_1VZOS*71JM3N8XN+]MW ?&^-PGR7XO?>4T;B4WV8Z?#9O-!TW* M#L);;740LO]9]<5O@\!6V<\^NCG[]+Q7&MZ62W>YLV+M[KD2VHGJL,O^AS'^ M?6[?B=:3%4W6K^ &G0"=2J8+8=:I+D.L3J_YY5*R=O-\>MV-2W*\WLORN>*I M- J=YG_!#]QUM$?E&,X DF&8X"E"YE]>B L EJILJ=2%7D!$K3+Y-9*F\3X? M_W6B=2J]EFJ9T& !PAD GS= H'E6S^_,N7%M2BUJR]>?B*V MKI/2H)'4VZ+5L9+U\H63GX0.9+LO/UDBX$:4O?>5X5IQ$AX=^%X!V.]BK*?3 MT^Y(O+FY']X:SZ.G7WDYV4Z'U@&/%F,=HFALFID/GVUX'MFD:=F=$3]2^V7M MZMSHUC('+ V1;0A%3<&;!6"_MN&J_A#/98KGXC I54ZOSN*]W)0_8$\IL@WA M$XU-,Y/ALPU/5O=1N,_V?@]'#94\:*.SJ_/6 4M#9!M",:?Z9@'8KVUHR>=# MM]%[D-M3YRY^+EZZSW7M@#VER#:$3S36K>>>GQZZ";7 1+0 M1PLK_'W9 "*:(X(EB*XS,*U9B[@AC37MW%0[\L@>-<^OQ=NAF^X-+AOR8_7L M)G09:ES?O426=2AZB2[O1_EZ@D)?&$5_W%2/.LQ]90;HA?U*+GZ;!IE-,^M00S>_.:N;QB23/BOS M%P.2U1RKU+]6#LV([W_SF]"!YY7YAO=IHIMF_^I7<^P6AZ<:?]FQ+[MUX3FT M->>'I8G"$*%_+)@V:**[QKE;NSXYSTJ/CZE*)V 9%.Q'PU2M*O\X&3]T*M>MWU4U,F,'%_^MW6X9RZ=,75.1,C3 \0^HGJ]A M 'IT=5*!ABQB.RP*JEO:2+9PVU'2 [K 1P\L([E8OY#NKFZD^*]D]=G(*4^/ M=Z$S5UACLFGDP:5UKQGZ)Y6=?>[VP!_-_MN:=7\Y/D_7A_&RH%PUG=3T*7SS MW0?$_I!4'6XN*O.!O+GLZMRIA3F[=3U0P">GE@$2 KT%S6 MZ2*/HCR6@60^BHA82CNYSG5J*,;3)3?E#DOF))1*Y$,+U7:V<2_1VNO!3L0^ MZDAMGR!ODB=BU(F%>U]OP7I_^G3ZNV^>U(=B.R-WS@?UF\XH=*[Y@6!]-YI_ M*\B_#KJ2UA^ C7L1M>;3[R=$>\(])@!M(&NZ9O0+AEJ L9;FF6%S MD+X>/ MQTFF'SO2]\BRO+SGE+0RYIW>>#*DH[LBE"1FZ803>9I$!$OV)L)E. M#R401>;3::'GM)-7PDU5&5GW3GA7L.YZXMNNPS]J"/$+$.*W&ILB+ODJT%S> MI3RQ@;AV6=.)6C&J9')O6OZ10>6JU2?9J?''!A_BXI36 PUQ"6L"B/QNO*4UEDG>7N6:Z5_/4W;\=JS_GA_G39/ M[T-GGMY2GK*6,I]?H-(Z.T[7.=_)(4@S"-G99]1E34 "QL*U'K,&5P3H F+\ M1&QG;B."5PFIRB.R/#%3U@S9P&6PET2V@7]%*XN#.W"\"6;OW@"9M-]K&L6;934$>:H=GT MK+4GTB!/&IG4>E0!M":F'[L_WQB-F[JMM).D->65)U)KY$*GU[9:R)T'&_9) MF5VS-Y>: 7+#=N4KRPH$H LV<("GSQ!P(D?$0L$XD8VAO63P7C$G3&>&!AKI M2<]$<9&ZM5Y/4XCE-7E13%]UNJG?S\/:_5-&.CE1!N7P[D*VB7:^F=Q"O/?; MQ-=,1]-IJ5?+5T$@'_4($?@O*C%^I/Z$PM3:5B:DPV M_(FGQ8> KA6'C.:/-,C8M!RLVIC'Q/-9B.=&NM:_%AYRDGQ_,A'XO)CZ/0V= MW[*].H7.Q*X2YNVX77Q=D*+L95M)&O:JE]?5O'T*Z*S+4V?8;4A:6SY/3?K6 M>C+TR4^-5G#>!*6!XW00!LOM YQ]:"LFQ/OOJ7&O:LE8FM] M0YZMCYV_FUTG:L'V;IUWPFLJEQJ?&)EKNS8L/N4[4Z(_G)\ZH74QLMYO]8R\_W=6H^"^6MW@,&G.3+B[HZ,>%Q%9GZE>L%0;TUK.)*- M)@#"7^\Q*-P[Y\]*>TBNW4:+'PX%>10ZJ0M]4=DV&A]U-N:C()VU!JGL*)6[ MEC11ZCT73EVU$;[]A\.VX^1^(9!C$! 0 CD/ 4(8E-I5Y;I_)]Q,'J5IMU8@ MKJ7+SV>AG+>(E-HRH@'.N1T136_]4$2+G?DNNF(GQ;]O%]T/1+234Z[O,]W" M[W9\2F[B]G-3[JNA# TC1"\A&J=XQ=T0S6Y-\6$IDFDW"_.-AG8LAVDW.]UA MX4:^OQ(RTNBZ6[E*94Y5-WP;=.U8#A.DP><7OK2;Q^DJO N&Y_)8-BXN7H?# M\WJG5+N/%^X'N?.VEAORFEHWG'0U=#[ECCA<(,+G _&\'@%QS3YL8#Y88D/6 M7[V/U=E%)Y4ZU^S33/I22A;2V9-)IMNJ3P]5,ZZGQN=#\^PB@N8*-"6#6/UI M07ET-5NC=5#F*^M8P7!7ZX-<,7MY?B85B30JN*W?Y8(6NF30CO#<3)'(C.\' MHE=2X734/7L=+$M2Y_S2=)/U;.=)>KQK95.35N^N)80N^-D5E@M4^'PHEJ2C MAN)R-=BG!C;CZGWGK/9@5(9BLU-\[A0L^31^J$ \FL F#+59;X/A6P.;LGXJ M&A([PYL*B=FOEIYZEZVIZUTXTG4[JX: M5X<::A]A8'.XT/R0P"95JUB="S[S++F_N[)].W;O&_U#A>>1!C8'#-&W!C;E MWY,FGTZ=EX?%\MW#\'JJ/US_/E0[?D2!31B@N%SM_ZF!SWO M>^/7?=(02J5#!>+1!#9A./KA;3!\:V"CZH5:>90=I*5D*M-69.WJ\2)_J';Z M> *;PP7BNP.;\D6OV+2[8DL2N^U;S\W;0TWY'&%@<[C0_)# YG<]/VDH M':_V8GI7:]7NGJ>UX>F4U#JY9N'!/CT*P![?]F+[A6R283:S@-F/VF&L01JF M32Q3&9Z90#JC;U_JRZFFHCS6'%EO&YICGTS9]H2+JTAGO[,?O>?[PXOF3;Y? M3DJGW8>^_)CKG]2-T(59'[0WV19"OA_[&S@07/NYE@6?)A$9A/EN$I'9?\&2 MK5$MQ3;S'FB&#+K$U]C)NYJA%"7Y=_LB_=04*K],H5P_)*]VR^".NDAHW2)% M;XON,6ZQLJCG@$Q%HNOVHKF^5#N#FU3\8LC':V.I-KR^3O7TT!EAMEO"ZLCF M"%@=VC=D_5?NZG'^\#!X_C4UKOGD^6-?G]Q,)2E\L?!WW=4C=(!=GH+^>L . MGBZ%Q\>Q.Y3$R?6O\N#:4BXO0JKIOCE@PSA1_?6 %<;2K[/FI-49WBI%7>R< MM"TE?*=#1(#=ZW9R>;:<^]U'G[YP"/-U6I+;G?I]:RBG^?AEZ[S^2^Z&+I ] MF$.8 YMN97&S[/G:Z _1!^M!U-*;+4O_?PPU-1O7%KE4O^ MMMUWDU?3@J2=A,Y*[SBCLDJWDMXZL1QV7;SIOX4WXNVP\7?PZEZZ& M[8MA>CJ6KL732O@.UHC \+'K!#Y:BSE:*=5I99Y/VJ-DJ6G(EU;A1@F==8NT M6(B2-9L.SW@3_LRKWIUT8]RD>6(\/]KV><^IJI$6.Q@PO*TH\*.UF)+/E6]& MYN/U<'K;&5[*S<+SE1JZD"O28B$J(=QT$LJ;\%=V'ZM7OPWG8EA,F;?)IX?> MW9T4.BL:@>$U,[P-V>B3V>S!E69H(W?D\?MQ9#QUS9P=*K1G>7#NO&=^!I==?8"1U%_%*DXWS9%JWS%]$<0JV31R[8*CS M"K3FU,8I28_-Z[LT MWV0>;Y]OU61=$OOGE<=R1B5.^L#8_/72_%FS*R\P\NW2/)2O?I4K#W)?JDW' MOUN-^F-O&CXGZ["D^<- L/-1PMN$NV@:3\1RM*Y. N)]F3TI2N1I]&),R_O ,(UY<3-7TV;N3YY$6G MD)L43K1S.[11=9B D([SR;BPT_GQ2[=^7IKX=^:7,U;.)U+[-GF;N\AF;A]+ MEY]NM8\AI]K)7%FG1J/X,&S6?S_F*M54CUQ^NAP<0A['+\O+?>0:-5:?5M8, MV<#C>B^);&M&OVC.UPG_-LU>VQ'C]O!".=>G!>WAX>DF=!;J@U::O4B.3W)5 M,EBKQ\\4TR=$GZ\MWJQKNC8&.MA5,G%,@VTU430M_X"=O/O0U>ZO'\UAK7-1 M3_+]3-L-[XS\J^LV7QC^@<6?^3>O-SWQV%VOVF<*[V;JPV*KE?]MQ--2N1-: M]^35:SI/OAE;_67$HCD6I6=!;[2+PVJ69']?BI-1:*4X#$MUO^)4XTWQY6MU M^-)>5CU+QK-C<2L!4G8-=3X??7([(0.3KY:&-?W^K*8\"4"ZT,+@UFV&O+CGS^\$1:[N/G>_+?!U1AC-X^'51UZSY^.NP; M3?[1?ORE7-P7NL:OT*;##P]4>RU0R#-0\0@J?_D9WS'L4;Y[=F/>M66^T2UV M'B^UV\^?K'XMX7@:P>U$.'YQ8=;GE0$H_'4F5SVUXORC6O?LMBFZ^W1Z>GF>DOH=F8 M%C[=__O"V1P7(@(Z= P-9B<0=TY/ZIV2DCQ5C:'9Y^/GO?*5-;H_%0.)C!&1 M;="^_]5L,YT4LC_@$?\=_D_^=WS)"R_T]')'D8K:X\BYD*2D,ACEW,&YEM56 M7TIM@O?,.][Z4&ATBC7Q/IX7A?8P63LIZQ<7UV8OL+)K>9CPR#M>V&Z6.L^_ M+?%>D4]R?)/T))(;2 MTQ[(%K$[J=3O7[)MWIGMJ9I_SG5Y*==LSM^IT@>"C57=$0$S85IOI/S*\WBQ M1 QSI!GKFO6T..WMMG87FOAGL?>[\Z$":D!S: EQQ\[ULPJOZ5:Y?3?LD]/"9IS#(^_1'PP$%Y.3 MRE6C-R[Q\2?G9J36JS>=_+3^ZQ9N15_M2]ZA5:^,Y3D MIU^;M20\\HX7ECJM4N;BO"K&SWCM]BQ[FNQWLOG,Z@!9Q<'V-_VC/?^ \9NN MI1";?1T06:4&"/#VW_^!?SC;F>I@QT;R TX]=H3^?G'4JM67S/BCCG^D0A#98LS_XL/4;L"GV%1_\89C62-;9E0FA@_#]+=PD@S-[7!&-L.$ ]K +0&\9_ANOH;NB$]GZT36=P<]E%JS0 M%G1&?,!ZD$OP&3;BUU,0Q^?W36=3"8RZ_KYQW_;U4I+*G'-5J$E-?_GGVYH.M:4 MBNU&I561FERA6N*DN^)9H7HJ<<7:U56EV:S4JF_O;?;5G5WLVZUL#T!B'-.( M_>=?@LC_+"6*"2[)9]+Y6:<"HKYSMU"6O&[XXA>X@N)&O\ZU@9 0\F2T1F,L M*MM 7[JR,NQ;IFNH<<743>N'+[1^BZ@05IJCKTZ(\"K6<#*3@):9&@"E:) 9 M\3C9=4Q\)U-X[-\W*'L*BVT\H@9 F!N ;?PJ@]IFC*+L 7,(?:9.GJ9P7MC4 M0.OQQNP"9\@8$N+ZKY*IN'3#F^F8_$$55U6VK XOW#_QG8LT+\6STE//+F8[ MG>OK%[J=Y.-EAJ>%'B]HQ5Y:Y#,Y1>XDN[U4)YTD:B??%?A.-M-+BCD^G9:[ M:4\KLB=:2D>Z+C6&PU8F(UW<9>MY(?Y4G>2N.WR'7[XS+@URS=OJG=%V2_Q5 M6KB[22L7!:3.\IW37]U^.M.ZGTH7Q:>;7)6_ZA;.)IWD:IOV^%PPF\5G29K> M5IM7IIB]; T+G=1JF]VSJS,Y57YL\L3IFRXQR\DS9]))K]YY=U9QA.I5>C*< M]J6'CCQNB .AW\FL&9%QEAF6F]YD5^]\'I[=/H[<7F=8N^\]E\;W.7APTLFMOCT[ONF7&RVA M/$R>)[,/NGS=*UST,0FX?.W(+FF-V>2.?_#&I9KV%?X[Y:2XB!SM'>;K!"](IF8!KF1UR8:U3O MQ7]=R=:0JQGD;^:I.>J6\3"U[ TIET]D/G1$JYW;X'6(N[M/=#S_4";MBU$O M>@?+RGQ10_?0ZW;^]P\-&K") CPP]:ZLZZ;3-9__^"0%WB!]S798:Q"E.00O M_N&+Y^TTK\A/P]^7DB;3]$W"M2M</Y!\[" #_X93[*%>FUM@\QDBP=Q'L@F&XLLZVMIS)\]G5>'2A MCI*GP]K)^>2Z.C93<7(-3LD'R+-X;/)MF\+MS?QBX?:9:8Z>=7H M2T1AI1$I(<9AMS8&<)&)"J<(A\!$T;H9FH)9,E.WEG#=OF[K]^TDN;YIIZJ7 M_;*)T6OD=J[B$#S.:K-"G<[(5!V3J7H[)'S;Y,P$C&-%%%S/,D<\ @"7S4(Z7BM.S"^=^F,R>#PI226M7'PN=?&0>UDTP MG4F7ESB=5"]4[R,+<616X27NH^>/\_7D":C 6>31U?"P2; .FLW9*&(@OE3& MX$<4LC6<_(>FX#\SS9OZ?I/M26T/ [/H@"+332+.Q+ARB0)UPAHLAT8]U M >#'ZDB)UE66X9U5^LI ;)=M)M._1_I%A=?&XVRSE+E\D(3"JX;%\T(\E1+X M[,:8[O5,$':0R<^GF)_L-AQ<'!R@FJ3>J&>/C^D;/EX1U,N3Z9UZ<])_0;:* MA6JA5"E4N6;MLM!@RK!2+28^CFP[>20!Z&J+/*;E/;AJ3E-P_D=ZEA6'T@0U MPIP6G RJ8$P4K-U5.O -$.QGS[=XJ4?NR-;;,)^_(XX_/ MMS'E@MN16F!"YU-IWL:C15,-ZAKQYMDZ2^M\GR>3<3%OC.TGI[1:([$M^T;7 M$LD;]4PD+:&1EG/7TFQ54WQQT8(@X2!,-ZV^;&B_Z?>OE9//D(&"JEK$MKT_ MEYI!A #R+Z1?A8LUKFQ A0LY_)".)P3;O;78"S,?5!M[2A@'^EF*V"<:>U. 8F:V*[:38JX@C9[[U7*K MTNF5LA^F>7=OY*L"!(\0==,&??2@C9<,46VJ5%JCQ]^/4EP6](>X47Q(N:\# M4%6X\)( DAB9H_";(P\1:(G&%M@B;2SK''DFBHN#@\L]32%V>.T0'LNP@&WB MVYK97GQXRXEK@^E!%0"*3?'WX>M9^;+R+#U9DEC/.VI#*=8:O4E0;+S[Z\2R M3<,@^E*4>'INJ)G3=$F3XN5SS2[9=ZV+D]?ICS-7ZQ&CSQ4'LM%_M[XM#C32 MXV9[6G$URC_KD^O;0\N^77R0]K4Q+@D7]QKO&M=\YV:@WJ<&JY'^-_!!OI(9 M:QV8=.;BKGN=39X-D[].3YVKNU_#Q_CKQ.FP')@OI?B*]U,[$;.3J52Z:R?) MA7HQO6F>-6]>9^Y#X?U\)14WN4ZIO)D;M_FZ.FR>/?W.B.)#(_T9KM.7+5#: MT,D6T7]P?X6;8:A;"A:1EUATEK[G+5TO5(:/]B27K[0>)LK-AD3XAM$+\-" M+B=\74K\Q=((^1D033G[-X?=2V8R?)1G#E^H@KYWC ,%1,:(SA@GQ4>RIG.R MH?YC6EQ95FQM-)]UP^M<(+SQ*@ HY&UPU "/$ I^"XOQXI[?_P:N8%Y=KK>"V1__W M.J%5)ZRKM8N2V!KB)Y@PXP^3&LL4]R;I+ME36O9Z#'VUF]E)0 M> #V!:'0K%Q_%-,^6-$?"-<^7KV_<^!@TR&P\,?X0FD-:.K/F)X MBN[O)4UVV#7]X4C#]3\H#??N0FG3(%$&.WP9[%DZC6;2/C'KO'T%RT;H@S?' M33"J1@Q;A--L3O96 >$2(;,+;V-UJINE@"X48U+ KD2B$(G"5XB"M\^9D!NO M+(R<]ZIBJ&"G'4*5M#=/!)TP70=WF$?#[&4QZ!(Y3'I["EVS;9=8LQ4-"O:: MW:6P'H3&$[+M/ZOHIDW\+]ZR:\5\HN:D.Z579;HW#Q,8)G")KR"' M%\V5+796"8>[*--X[34[42_L90(T54U')8HVDO4_.-P)!7K/+T:#NY[(P'GM MV/_[1Z5:7JW)8'DG&KXU:1=K#"]J_3_^ MF\G'4EDA)N;2?I3G$^*_,U8R,%#NJW1&,0"5& ?AKNY2U(A\/I81Q*7G .. M17>JGC)4Q#Q8K.R6\D9VS]W@W?B]+1J>R09@4AD0@/ (]P?4&&ZM^>HP:A8F M1-?C0\.<0'LP0M WJBY%V!]'!*'WQ7R8VR1 M^,22Q]"U-)_QY2=@KL"R)#CNGM@OM.[3\188A7V2,6XR?/-6/W_NWC;E[M/DI02* M^99L[Y>S*Y?/YY?9M7]QZ[$UUTS=4Z$R/#M X_Y3AWLCAC(TNX":IC^XFX0 M0G#2Z')DUI"]Q7M+P:O?*:M!#S HK7[B#L46?\9= B+QW4U\;TS=Q8)6NL+; ML@-B.[Z['S8S9M5MG^8GG69=%,_9X>.1V'ZIE9P,",9,RY+XE_ W(]L ;"+* M(#@1NCX3Q*"$=HEW S2\22A?(UNU2WT86]HJ_17,C#X+B% 4[?["U-0 M\!"]'Y[$3GF-X28O+ BE?99MA\OS[]1&JCRU$U\IJD77LN@NNE[4C.M^W:#$ M7@SJ=ERZNSII3YWA8T-(]K1:H_\"ZN[?-J\:"I%]@V:MFJ&P"0>F;%#,0,)& MFN. 8-)DKV4:F)?6I[C?"P0A%0S:,<9Y(EQ)=F2NS/R"!34T;R/H*,S=>,\; M;Y"^RY;]>\4^\1;W%W[,>E4OR50R,?/<-;J#Q!AWD'B=9GHSC-ZCTA@)9DJ* MV']_J1()L FYY.F48)G&^$$:->NYA^&C2"Y(3FJ5XY5(B1R-$MDEC2.L9K5V M4A,T?->A+<+)B@)JPL+3:2G,,78WUEZ%@,*(K_R @0H\ )8;>];G^I8Y<0;^ M!E()<%$(RP1H_G8'F$%+\C]77T%_$'[Z-VSHGW?7!CCD63'1.H9O0 FZ*?]Y M=$WGYX8QL!^YQ3R&D.S&D[X;%O2]$MQ?1:2_7ZA&_O[Q?EORJ?78GU1VG4H$ MSZA@=[%K;SI"(Y5+9#?.'W.I1";OVU7Z\>TSRA]PJL9+%3)4P5,PH\CVS<_; M?X8&BT7O)<$5KT(A63PWA6L^WBIWU%:N.7"'+]7*7*X7R-<;E!?#Z3U&EKON MX9<2-N_A]T%PW&7B:P<%5UA1V:^B\X=9P%TIFQ02?/)K24NUTR)EJ^N,W>MV M>4QDOV(8+]B&3^?H:S;V/"@E_M&E0_M4)>':_S0<$BZM=_<;?B)L]4,[T4QPIX5" M_143/9CQH7D>L%$XX^.8G&NSX@88+#M\9,V6[ZQ48:Q/<0#TY=AU R@'OU@$ MN$!MGM]O[*EKT!(@VRL)L&D@EO[)X3:*FKJ^+HX34G_)?Z^-DQ871ZU+JWSI M%N/,7_9UPBEEJ;=>.+C;3[9;&N53ZI37)BU3[[5N.6"M"IM,2G)@U'1%MJ7^6S_I;3;3+#?M#(JM'FW0-^^HE)IAUB'9DT- MB@, UGP3K-E<#.>SE%;F>$4]7@76XL-S% 2>.3'ASQ[BIQV&SG$UFNK;3W 7 M!M[/4HN4$'XV<3;S2)474RU@F,>F@6;2]*<@GC33M;E'E]C(_XT&F*F]-;H+ M##T9;3/..$MJ@O&:)#BN O=Z><3LZS/47X>H0#]S>^KG_NV?-W6U4)WS0CW. MMK3[X@$+?\E>[993?7?"S[42A7-WIVIX&DM 0M:B$OWS_EZIMW6 MSK+JT(U?7TF#M>N+/\J'^LR9HU>?@_GYRO*O0KU^62D63BXEKE:]O,<#72K- M9EMJ-+E*]:9V>2.5X -W4JA>--KU5O&>JS=J14DJ5:JG3:[4;L!?>LQ+O=!L M<>7*C>1!3"HTFG]_CDA^_#SXO-9&]1P[F]:D[%AY8_LB&.,VE=^L P<*5UQ[ MCK/@]<<9_=/Y7;62J3*YYZ53OIBOW3SU+]K6,N87*_]?@PWVC=;7&RCG^L*^ M6]ZE0#8$TV(+ZS[>/=6ZMOS(=KLV$)FPD! IIB*#M*[KSP7:\P(FND\$Z,>Q M#N\&==33K!%CB Q?7>O "WU#-!7]G=? <#S'?\@ZF,4,.[P!;I$T?1 M5+4>:FB4;+F'Q3:%L:7I7(:N;DB^9W7#OG.'+YC?G6/3-UHPOSX<"0OV2W8< M@F$'$MKC"/17[M,P9+8\B2Y.LFEDXEDKTNL16D]D>-OA:33A0F->G3J EJES MN"@I@*KYTC^FG_V\7II/![:<:\I65X9FX[5GG4RI#?A+R-!\9C'!99,B[D_W MMX^UA:6T71VTOI%#I&EP/K-ACV54UQ^M7XI.CW9?2(9NT/=BIKX_# M.:SI?K.,^?K,4^Y"X!*J6&&="'BE(]XC*;01G&WJFLKYJMN[@[:PYN=]"_:G M+EP'7P=\F2DS0HLQ@S9JNM 1W!7+MY<[]&2' ?&[]U.F$5DGJY!\2B1R)Y7. MICMIPBN=;D_@.]VDDDDIO"#*:A[MI;Q@,__O_]G)4)"Y@86AN+_:M6*;X0" M?<,; X,6+1"C.Z:"?8# :08ZROO:;4MIA^*@5DS7>VA;-=WZ'F_=6S&UI4+C(Y"^6''XR?":]D, MK"GS$8X%.N5:X[;0*%W6:A>5ZFFE"M^O"A1'R4PNS>?W@"2O2W&O3UR@4Y\$ MK*_%3NI8L%,O-%J5CI#-9K+"'G""K^[WB:F5NUJ\8QWK&S;O&%:HEKE"ZJ32E1C.2X!!*<+)6+@-O6F!VFZU*L0D, MD^[JP%"IU*I<22V/08)#2F#:*V[>+2JI?L>X6<\BF0VAS*8NI/N@ M!R\*Z9S([TM*4\<@I:$A*?3CZ *A8Y._=(!!M6KK3"K6KNJ%ZGTGF\^FDON2 MP_0QR&'X2#OO#P?_Q[HVKTO'(9K\L3;D,W,)(I-G)\JE4 M>A]Y+B:=A:,0S_!1=]XACO:(\[MT%/(I)H],/C.UNM0 =5H]A8"C7*D6JL5* MX;(AW52D6[A2;]2:]7W):.881#2D!)[UB@::LWYQK&/T(NT:Q)^1Y(92\L4B<<@N2$E\(OY7:]KTG'(;2YW9'*;O2J< _?."@WIK'99 MDAJ8@FQ(EX665,*IM?M68^OZJ<^4V^PQR&U("4Q[Q06[1:75ZQA'>\9!UZK- M BWF. [Q%?CLD)CRW_*_#'9E/S MK3.)SJ"!1KW$";3J:2>33&5R>\LOY8]!(D-%5DSULEE2-)M>=XY#'H4-I6D' M*X\"7RB5*J@P%Y5YCN?%7'9O%4C\,0AEZ&@[[\[Q6*H=#+Y?#J5V=LJ MCN-8QK$1%H>KW%,EJ5QH7[::I7"HV&5&@43B7,9I6RV-()X4:R6I5I9:9Y5BLY-,Y=/I?61#/!$].0X1#0E1L1?HT+)^1"(8 M4A$LUAL5T)7UPF6A6*RUL;RY599H%J0I-6XJQ;V5D4/?CD,@0TGB69^X>:,0Y5"2>-8GZB4OS]AS)_=4N-EI/VSKKG*YD4%'0#_*MF46JT*N5[7 X,3M?^Q+I\'&(=2A*S/N&A7/-> M>4=Y-+EY[P)N]Y&(U&ZF!246ID^7SPEYVZ/5D]_0X M9#=73 ]R:31[&11<@H&\GDXQ?T48R.GWX#@D+K5A?^+#"UF:E=-JH46KBS/IG)A, M[P$;\SX<"3J6CV?[AYYP>:@GA;_0B>,\0CBIIKKIG"IWDLE,KI/N\GPG+^=Z M';Y'>)+/=55"E#_^&SA">-.YL=CUV6G2V(^//63WC=SXFF./L^E$)K_AV&-Z M0C$W_X@#B8X]_H3]HK[FV.-U9X#N_Q#DQ5-!N^]1@"L'Q6_L4=O0B6US0#]B M332;'J#$.D$ L8BCP*LW@G(%F<[)AN+(.OXQ-R^%,@RL#*__S+T'D M?R;Y>)ESS!]KCFW>>D#SZT#K:Z? @]HS48/"XLLUX\-BT.'= MEF._+=GQ5W5RR;Q3/D#_?DX&FD/B@&4%!6)BR>-9WQ*Y%4O_GW_EQ6S^YW)/ MEMR!H' NJK^O$%74TTG^9Z%(/P@_ 1HJYUTLS2Y2" $J.%D'P3! #HT^I[@6 MP,JA3ZB:113'OX28L\=P <15G\Z-P(IS$N'KN^"K75H#L()K.Q;<#AU4D=F6 MO0(X4&B<3OJ@K!BVE"G:E=F#$;8B;)TT+M=@Z\22?VL46N IZKL"BST5H2I" M57&@&7(05P@8[[=Z8]4RXL]U8HYUXM6;V5R#C-VNKBG4$\;F8AQY5G07QQKC M>J9%'QJ[%OBX,!*X:Q?G+,:U9&T"%().L:O8"II;#9Z2U9%F:*@=T?A"(WWP MG6G;9R;8[ O\9_;@E:S(;@3V".S%6FD!T#8B6C%'(V)15)EC@H "+*H04T2( MB1!3;%8\Q,1\K3@ARU=<>_F*Z5J(*QC!=(W-AE]7]&I1-F05S7C3! >1Z:V* MH21BG,Q^DZ%!T* ,GS%.7#6OQ "^$&)19W!LF0 = M,O+S*:BD',M54*=%"(H0)+57 81:1W(M\,V@@VTC0DJ$%$!*N=):A4J/$#6. MR7]P='J]""813$X+A?HJ3OK$@$!/UZ>RI[9 1![&6BUY,A)D(,S]K_Y%'XY]7G$VL)PT" M]%4 S3--B*&1K&$!@6PH9/9,A*,(1_5Z814Z8W,"X?C8M92!;(,.ZEN$!E01 M8"+ U&_6X&5@.N:3J3NRIB2X%D[%!*YPI-?#D@:_C" !) M/](G^YKW+2J6C["YJ.W^O8RY=G-=67M=70H^%\$L@AG\28GIGVN0A54% MNZ*)5B$HIF&.-(6V<64:Q)&M*2M)F-WB%2HPP$;5"A$&/0P*8NKGLKX[/:FO M0>4)QJ?V@!OC2N'7P).E1ACR+H "JCF*L!=A#P&16<'>>?U^#?;.9>@QL0DW M)<:.R*./_&2H@Y;V"#@^ EPH /=0:*R!5A-8,. */4S6&IQ%%^?L!+#@@XG- M\%J_"8'@[8'$5N)_]O+TUBZ+SC4#UT9A\MJU.-E5:3Y[H5J_IV$I "Y(L3'- MC9.[]FP=U92 "\P1Z([*E8A"1EWB99%20HQ+\D*6_INCM(?I!IKGRM??G MY@NE\/;$#CL7?,K&&QLW)DBF [M:,4(+T4X;T4X;'[G3QH=K!FCTEG NF%(4 M6L,$/=!UIUA>:(%(XPX5.!-?U!RJX_ 5]Z8UI%*NT,$ZH")M.HD!]_KSJ#$: M8-@Q;M%)C'%!PQWCEE=RQ+C5)>@QCN45Y8$3XY96$5.5L:JPN3'H:0RK_390 MK2AHWGH:JBWL.[S''-GSU9[=*25 F:A8<0D#P?HF J\UA@L#1_6/(]:1.B$9 M+O1I8;2&Z02V'K&(@BH!RR$XMM[K)15.EV8Q[:]R1+?)!-HBZWYW0 MEM08I:=/*R_T# G!:&'( LDF@)"1K!(?!^L$P:M @1]\^\1YIBD?\^I0L)G& MU8F8R(M@K^ E_Q82/$^=68SMP6'*\]F%ZQAO\8EL)B4N7<[\%/A<0@S>782_ MR;R8#%PJM$OP-)_B ]=:9R?)/#3)!R^>-"[3">CI_!HE#OA 0BJ1SP8:2'"@ M$$;R$(F 3+: '8;#6.@,9(?2YXL9&5O'17-9R$=8&6TS/\TB5"ZV[K##43]' M,5U=Y08R2'N7$ .;99>Z9+F6*/BZKX+P^H'/Z0^(0X8H6&,WDJ?0:[B&JY:F M.*$''KT+KV 8AN?P%UU/<$TR6SU?P;+@5(*[(%.N8O30M"&OZ;+YY,]2@FMH M]I KRXICLIPF7,5+N*!>ITH$*%,#Q5)D"TDIKO![Q5!QJ%/OF;+N*HY+VZ:V M@OASVA8MD6 TEU6@MTVPXMV3-FBHZ]H:4!3HQ+02"B5>GRLOX).JS-+)9_+93E;,99)B1LET MD_S^-I9[C7^;C/S;R+_]^)WDRK7&;:%1NJS5+BK5TTH5OE\5Z+9RR4PN30_% MV?_&5".CJP9-#2?R)8:UTUSB#HTX/)1PTX90>@" M-==QP>,C3_CCBMIE/WJJ%1TDIF]C]-LHXJDH0ZP MMU$:><9^>@:)A@V6^8LHS%I@V ,6=0O)L'WJ,H)Z(U9P/QI;[A%P*"Q057[N M")I&&^'M_;)8ZU6WM">D>Z#FZQ+^])G+U2!(*ZZ MK#'"?E\)@&1B,NA-Z A M1+0>=5E]QYMU#MU88H&+ &H7J&6[2!#;[R#X"3&_9_YN$9JN+U]C!%J^*L,K M%6T,KUK^A3%Z^2I=,J(N7QWKLK%\K4MT#2"WT@W;T49K7J?9_U >:T-DL6/Z M/X.;8VL@:>#VP @ 43;C:'DS+S7CR=2?T,O'2 >P85$'!T'A&A@YXL(78,P. ML/ "IQBZHR@P&!:A#VKT :"!^YC6,_K>GD'1#H_?)/F,&FA!\UBD#U!"%*%: MF)B6KL(0":>2$55RN&G*? W#;.\K8.*0./1G>UZA1Q?=1+-IWQQ?5)'VEJ&E MC=!!H%87+ DQGC3+-% 9T17&$&""FH8/;-T66WH<[7<1H6D#FFBE, *)3MNP MX)3G."(81#-? $/=6)+CAX1.AZ0M,:[@+^@LS ZKK MI4L8IJ*=%2),K9I%NDK+6YK 9K84B]"TEH5I.O#%/%5%)SA'F' B-*75TQS/ M/8L %0%J4]ZA"PJJA_NQ K2ZF'RP-,1/SS)'3&6!^P7!H3*0-8.#;LG]^>Z( M/A%QDI3TO?UBX!ZW)RN.:[$$&R*Z.?;G%X _ Q,K MDIB91!L*,25@S3.5B"Y%'OLM^=,,6\#M:"/:.'/BX$;9L+V*%/9">HJ*OOR" M:,^0"+!!P-HX08/! GET,;YX,G5WQ'9WL.$F!2>P&&8G,JV(HY-;1,=")"?H M"\)GFQIQ/ZB=.X7>CFUS)$8 _.8 7!]9L&(T>R63B[>Y>I2XC9 SFWB?39Y[ M=G;D'PFV.M.^-*T^FYB/H/2-H30S7. 6L7B SFG/'7PT=8OY_86L!JNB-/!Y MP!3.*]&*!(@G-'@R@M8WAM:R@^4JN*]?S\4)2>JF,]?>HG6B +$%6/EY,LZK M@5]Z&IPU\-&PSH0M2J(Q @6?GV;K1]M1?FO\;=A]9 F4GM7$(C1-5SWDZ?JR MNJ,SF5C7S,X9B#!F6<\:(*V "&'3B)T,T M,,VV7VS(5*D^+S[$C7/8PA9"ZQUE;^)>MISIJ]>XBN//7.(*35\ !PVO:&]( M/],ROMAB#1]+&%$7IL<6-=!U$XJ,*2PG/#=VK/*U@D=)&'-D(72<5BSLT%ARMK.;Q% MLYL7=+ ;EE=U8.4DFDD9AF KKNTGR.P 6)"<,Z+1DF&DW)J5&EN687@5E%Z! MI47H:C7R/ #R8VHDP=4H:VRO$'?#,8SX7J_2DD/I\YS+A;XMKRC1C)[N$DKU MY:ZNK4U.<%>F1; & 70_8?B8^'7/=$48R#DP 1'89UH8JTCQBS\M'.,,P/(" MV;#G]"'"$.( Y*ELPE^Z]$J!D9H./31-4^ARG84&H$FZ]M*@,@E0L6V_NDMF M-<*T"MJBT&-\PX)5[^U>"?1L\-YB;1 KA.Q,W"ELZ2,QMAYJU-6,V2J^64_F MR=4O%+GG&LS6P/-HBCZZ&*\=82;>,(0I=Y25G-B!OZE.FF1Z';G737>Z8B;7E459D9/J82PF2D6+B:+%1!^_ MF*A>:+0J'2&;S62%4"PAW2S9->2L[+&=E?!C<'4+)6+@.U6H56I=FJ%)M 0NFN M#B262JW*E=0JG%Q*>P50\@, 1,?(S0=)@>(/DYN-\_M!II=*I7BB\ATE)RB= M="K-=[JJV.UD>J*03\F\0K+)!_&UX#.DQ"7$Q5/BFRE36!CNRM W/TH[ MH.*&(=2;_D']8!U"A>5?EERP/_[;I&N4P'4NST*IDNS([UP)NWGXKV;?K(/% MX/XG\][270MF2UI9WS]1@ZPLY,401=?-"0U._+[.HI2E:3KHO/S.G;:ZLL[. M\1H0XK &7]I\BST\WRECI4CLQ:UE8H&UN;ON,+.ZHIDM@+4'-+X'#Y_5;,^( MMJ$7-.TS8S =,+P/;O[E&JSFAZ;+6("Z<5\8.*OH6GC!BWB= M-12;MX+@YR9(QM=CE261_ S5C#/K=T$ZA,WHTE%\'<77'Q9?C[!,D_5 $!(9 M-N+/<+0+;%.'Q0U_EO9A&(,8RI:W@,?;LO+0R",]&RI=&TLPKWT+(_&(9_9\_+T++) M 6]:!724J=I[C25>,4'(WAJ8PZ;"*;N.Z5]@HDFO+ APT/ME]ZP*HV/YO?!1 MYLT0SJ;=EN;TF&KU6DGF$F+ZSR YEB;I J@/M(_)_AXX83Z)_.]T:O@'TW83 M(,J+BB8P&SJ[5>[2PW?)!VN=S2_$>4CR$>0_V:4CR ?0?Z;43Z"_/X@GXLHOY_P-2+\ M>PA/ZX 7J[A7$LLT(?2N[,WGC3WGYUN#LX>[$F,1>:\:]UO3*:^FQ$I^U9\8 M#@P NHNC^M\_\G]\Z&#$;"*;]6<%_+D08?S,T9D8SI]P^.#1;JO;>FDFO6QZ M\Z#.P$O2TCDL]I%.9,789_\^V?O-['D_K$RGSJ;$/PQ=?L[[^],)LMXO1V]AC( M?DG5;%/=L1^!!W[$(M+8TGVS"N'Y+:LMX2CD/K'_CG3*SCKE7XI"2*^W?[6R M#6W-+57,/W9F]@M#_3)-\C$5@9\UVI=F]=Y=$$TK"T,[_@_W"R-N1]P.R6@C M;D?+X!U38Z]@2/A]Y<_(L]'J12RTL M^%O T8;-#KE4+"UF8V)2W"([X5.(WXQ)R5@NDXKQV5S$I/ R*15+Y7GX+Q4Q M*> M%GW%?.G!Q,AO1*LF5 BS:>3,G1Q6LQKBO;FA*E+4,H1JD$']7HA9@_0D*(TF&AYL_6 M\I.(/WOF3SK!1Y63(>9/,I'[0/MS8*Y::!.5373;;,ZUV9DTBCD:NPZMG-SB MRT5IR8/3CIE,+)O,Q?+\-A\C"HX/CZ_96":9CJ6B[.21\347$\1LC.>C\MAC MXVM>2,53>;28?$U.I6&[K9'R4IPQ-GE+5<-]Z-7NW4/^)HS(!;7TPS94#19W[[W M^R'YMX>F/E\ZR^:0=%]$^XCV$>TCVH>;]OMUJSZ8]@?F$X4V)7AJF;;-L4M1 M[B_L"FS''0T21Y+U^_/5!QX>-V/3$6./D[&YQ)'D_2+&+DZ#\HDCV?'Q*QE[ M /F_9#+Q%57%7^#E_AGJ7%[-/[!SBXMZ2)[H46JY;.*P5G6^J,N.DDNIQ&%5 MA'Y/+F43AU5W^#VYE-_JUGT++AV DY;[2+NT=UD7;+)(ZD M6B7*1BP591])U6#$U^5MJ2*^'B%?Q<21G $4)0^7[.M7[)FZ=X=UWWYID^A$ M<8CJGV1H]/UJORB'>,"5'P=6=1/1/J)]1/N(]E&E7W@3;]^BTH^>E<*-S0F! M?RU3=17'YFQ35[F_-(-QZ^KV[RB%=^BJ[8#BPHA;$;3O18E$L*R9]7S29GD_Z(&,[_V.[B.V@KV40&[MW8TI#@,K3]EP"^);06+;0-8THZ'>-SVZ=]#TEG'B6+,C$A]:$5 M+1&+/GS"+I9);5_*$;%H[U*4%\1O+$4',#V:C>6S'UI@>6 >83@SB.M=15YH MHV4ZLOX]YF)I(?V1^R0AS9(:FW8^7/]TY&A9X_Z:BB.M3\26W;Q/FX M^7, A:!\(ADE^4*7Y-MZO-Z)K,N&0KCF@!"'*VT[7"]*]X5)849!;L2MB%L1 MMR)N1=PZ)$%+]WWD^T)KKB610R'DVV;.#;WEZ[)=$0:L=?._QZ2WQ=Z MI;9KC/57*I^,)5-T0( MR4PL+T99OC"S2.1C^524Z M=HH^N&/&\MRB!=Q3J,!U+"ZE8/ADMM3XJMF9B M:5Z,B?R1G X=L=5G:RX'GG\R6B9_5&Q-QW(01RJ4>3%6"8;Y3J.BJGI?"J6SAS),;814SVF\NE8*AUMZW=4 M3$V!I(K"MIGRB*D'Y\F*0CZ6_A*;>F .[K[]V*)IT"[@KDN&Z9 H,1E&\1'2 M8DS,?M_JH4-@$43J&?$#JX)7G#<1,?5+F9I/10GFHW)@LWPJEON2$O4#\VSW[)Y>RL5R*CPGI*#D99B[E8NF\ M&!-SW[6?\0W8"5_QSKT?PV3\/.R'DR>CGV+0U1S.!&T27'>V) M^-3"X[+_6.C,JJOL'=WCMX@T76F.OCHADIEWF4GP_G% P""#S$C(R:YCR9J MD#!>]SVN+[K6K^K',H9EF^"AY5M0G%M![E^XD+MQ>I<" JZ3WMS7MSGP\SD8JN(",HC*R3T'(@#-@'_CWEGN,D*' M PH 3MEGB @XBX!:MG%7)YONWCXV)_#@V#)55W%LO*AR !QGH%DJTWYCV<(= MGQ(S.5N1L0A2VR&5/%I([1,4:S3R(8$B%6Y02,^*[JK0LLCG8QE!Y)3@+!DW M(* G9)MS+"+;KC6%CIK*$*^8/:Y$%$(S$BDAQB5Y(;\%)@&3&&"FD&0T8";K M;+@+@FH0VYYMT?P. M9]\C#,7J$EV0'1YAJJ;#R>.Q#O@'_B68UT6Y%."DHA/90A]RL"2S*6QDT2=Z M=WBB$%11?I>3Z;G?Z_N^@4[2?__O_]G)$PN,PG/*DA16?1+O NR'<:HA?\CZ M1)[:WJBRZ40F/U*<#> PYYI'_F_.^!U MD?[K"!LV?53\>GW4 +5O&C;7,RWP%0E7Z_5 WZ-::MN4]G7+5 A1]ZR9PL:I MTAXXI=E#KBPKCFF]EQEO&S-VP.8:A'F5$%O47 M$]@S%S;L::? MUL,5)<3T"C6JRL\UW;XEW$B>/\0MZJ 46G>B,!Q,E2J0^R?<)&CX13ZV%:,2HY*1G@["I()A%@;E>$--K&> M- 5&C[T"?B/S8QRXG,J 7K((W$MH&Q9Y(H9+Z',,7:#>#%QIF0@F2SY'(N(<&!6- M:_$O>1X32R-XS(6)K'5!:^ +!@2[ CTU%<6U[!@\#A!=XL@O& /0_XGH)K0" M-['?[:GMD!&\V09$Z32<0J:MB:UG51(-E(QJZE#""(6,O\&+2)KCBP MS_N=';AFLX%!%]T>2+=KX3MU;4@XE_9\ W035-SL@3;&@(ZZZXNMVCI*@4XQ MALX]07*B%Y_#$ #0RX08+F1C'K']^Z ) EH(7\<>R2>X%G!)7G>JL+T$>?_] M'K15CV_P^!CPK)FNS4T!QM@RD0'ST''6!]HU[ A[80U>QAZ3;0=>B>_6N4<7 MQ(ZR:\[Q( AEQ3)MFS[W).LN!,(#66-^-G03% ,@PY)5@MP;NPY&0#"J.:1] MQ*'O,)-I_ ]NQ@'8$"0!VHP-M(B!S-JN[N 5>*U.$>"),:431>(,UDR':"#) MCIW@*CTF"VQ0*PP%WW8"Q 9J4,* &F3=\[C7X_I($H/! 4@"G7"IK'@:I0>Q MOJ%H0$1\@VDY,Z//WC/K%6UN!!X3\6C5E2T0,XMQ>CVV Y1R-B%E!I29/E1, M%\+/+FIH&!1T36=O7P/W+]%TK?6J"#2)#29"YT#&9<[W(*%W@&,=0V8<*O#+ MTR8CNMM KS+!85F.0#;!'?%.J#*CKS$+=;&C&?PF(%^DPW= MDU4-*?C;$VFZA3IY'&* MHQ(YG7T%88&!X$@M,"X8($=@I#\H_ \K/QM(F?VQ,DWUGCP=E6?HWY8\'9]8S=3] MYU]Y,9O_&>IL':)",6TG3BBB0,N@TQ5#J>KA,^CJL.R_O@EG:X4I*#1KO%/T MA>">H%^@X+I( \569@)DHKC#BPTRH3"$#U8?O2IP>IB+NO!JYJ_Z[_]Y+),. M$:C?!FK/<0._=5P!OIVIJJ>1@"G"+LGN KH-#W5)BVG%M7L[=L"AG>?'L8 MX2W"VQQOB"O4J@@;A27@@PI1GVUEA(EX9IWE9XX\NO!P;-D\>Y.IGM*,@/;- M@6:[BH)Y$8 6LY"R#E R:(3@V\B9ZT==;7AB@#[Y1$.3B9"*<8.I:IE$!T1! MH.1?[!/:(KS;L]2(S*X&([!MAL*>2_0(@=\8@3T=_"U7GB7@"+AMY@@@A%#Q MHM= =H1FJ38%*Z_T^.9 ]A-'-H93?K9IE@_TDD0H'QJHW;YL!QKOF;:MZ7,P M1_KT.Z/9L\TTKXN8=;%"H3L%X*F<:V,":K=8AR73'7P,?$@?D9CC8)!D4@)( MULV)[]C8I2>_&1:E/,6Z6,Q%59L+"=K)IHS\#3=HOU>S*?B M[UW+E%7,+#$].IL1>6U1C?C^FII73,=6-J:QO)RC#6XRI1*2!M/F]AASD)RL MFF-*,KBL02-NKZF6M,TT[TI[QCIG8TUD+O/^JV:0W+3YG^UK =KMT6AC5 M !!9 X4%JH0+>-FAH=N6:I=$X1!N-._0F[C2WAO"B=I=%Q@MTP M,.9$"SY@3L;WLB1]#Q%#_RH[G-.GZEUFJ:2"UD6=-,6-L2LF?9/(FH0P-IZHN M@,&J.8*GT,(#LN&V"B"<^0)5H$M7D[T9?-:CQ7H$A@;,_]-#FMD<-<[_&FRV M;65:'&?4,;P#U=Z'F PS^5U_M0""R>K+!C@FV(0S8%.LRJ.K,7FW$UR!UHAC M_E\GC@=@S0IV)X;&DF@T:D-*;X:5O^I@ 8D4-AY3L/$11RN?N'J]0,-&%@[B MK+6%11 8@5J6#/:=R2=Z69SK,+S3:0I#8_%FW])4KV&0P0376)'Y)<#,RQP@ MLOAW)BLD!- 7NDXG**'!3")-A0*Z3)OXM\"+<,F[938+2VL8(,* =I;+I$4D MP;_%;#:1>88!N4(2 :2$V])16J(&I0%W*RD"@#7D,3S[3'T$0_RTD>*[K MC8&5NY_+ABN#O\YZG>1IKV7=-M=UW9NB]WL]ZU278)T)C@Q+N;# I5@K);@S MZ/H38:5B\#-UG7%6W;7HG!Z$IE0 T(-&CH"L3;#@ $M_/+\4&M,]FH%DKA_F MUU5)[&J1MQM65BP01YT6]PH'%C):B"T9AF9IA '$8N6J05/;=1T:'N!B%J\P M\?.L;PSKB4 K4?"MYM?84AM@'E78N-)"<[P^S5M8#C-]W>_5YT#GJ,6=OR

00QAV/[(%;1S_">FG7)?Y060LDSLH"HL,X3K'3J MPJA-K"JC'0#KH *GL5I.I_VC!7^QF?A #\!L4]J D<1DFG VR.9J*#$"9 MYIULXI/$JS7#KXRL-.&I$G2+?..JH>^HS@HX64%3L)IIJ9)I57"^1F;+KH4* M)O8V]Q@8,!-,@(HEPP@Q+Z1[59D^I8 #WL=@1>LJ#5Q:6M77/!3/*]-\94)+ M]J9<'PL@O DWJAX^DUB!G$?!F.D+U.9]$_F%0U%DU\;"3"H+&D[[P%#FW>^[ MFDKU.5-DEM$R)PD&O@R7C;>TR>+M7+^G#I+3(0B M4"//1'%G.L:U?(\3O6"']+'2:DQ+S-RQZ2DFKU!17=&+U(F,,RTGK$PK M6/*Z0R)Z((_&A'41=(MLV/Z:KZ"&F,O$W)0R#L^\FZ^M][["J?+UUF^QB@CB M$2QX!1A:),"BGFFM&%8@.& 2#3WU5 -T?I(X#6;:_<\T@#;7;KW$:L^7IK! M]P@''A?$#L%R.E:)A#*TY#BRTFZ,=K@!\'RE013P &.\LEELF2Z>Q6DQ&KY0 MU0D]7TT&+P3IU-.CSB#6#JM K(F,45&@B'AQ?HP.)%B%'JP]]ZJ 9Y,;T[&G M@#$:LC302C)SI6G8Y6LO?X@;ZQ<.(JF9C9*:45)S_TG-5WM;6$,=6Z\@4&K! MD:0:Q-<_5"WZ\^*8>/J?[8V![GW7=F3%FY[R*O+]6VD]Q(2V3>D^03UJCUV6T?!\ ME]5:P\!BIH7R=F_P03JQCL]CL7EBA][@T3 0[JZWNTSI3Y8:TP-FS;,CM$=T M,O+)JUX/3M!YPZ9K#&;K V*++M3JC-@8%U^9 2>')C?8NIF^1;SXUEO[!!U@ M43]-G'1QH0W.^V&/:56QCI.DV*3GP6'X,']W3Z8>Q P/&,'!$S2,]#+O7@[2 M?P:L?D]F7E/0$\?U6YK#7-'Y'<8LJM1-&7V_(G5+-.HG+GF . 9PSHE*EORW ML2X;]HH7MV;5RI)/QP7<.>;0R/8 PBIS0K-3:]>GX1HVL%$X!@MTE[?^8B[S M<60IBX8#%]$@PL5RI>4-$=PKN*Y/8]S6VD@?'^NS;?8L]&5+R:B?T:58]ET9 M8BF$=M/&SM#55AY5J:C/G!+7P'EQMN9$#JRD#(Y;-Q7YDQ?^!&>Y09IH'.#U M<;8&QYG-"O1ULXNI S8@JK8(HQ*2KSA>6+N#2))<>HU-+\!CBZ?]5K;+T8QP(TF$64\\4/0#M[/'>R]QZ@XW239P#]JE4_'$<1 MQ#6'K.PAD/"C:H]-JHZU,=T>9T.F%\#AST8-R72^6HM1'-HQT0-AJ9/@[*E% MEY7C2^8RM[!-U1=$O&<:ND0LH(K-,F'^R :8)U2HUO(Y!;[WM\FI8BK\Q6Q"DLR74:'XQ'H=? M,'YB,X"Q@'_!YHA]AQ$^QCR;9<@L?0(JPV'UGAR=YUEAJ<^[^?PH1O&:[6SR M$]>FTV.!E.?&6-G/N_LE5._,:NW.^=L!+OT'G8U6W5OW--/!\VSWF^>EJ#U8 MFD-"OW*=!'5G"Q%]-];79[.Y4YJ'Q)3"PK3Q4ND!7;A+/=M96M]+2 1_H1/ MZ NSY=E^T@5%CRO8]%DS%IR(\J %[\"5KU2>9[,MGA#;M@G*$*6$!@SP"^8E M9O/8"6Z6AC97=9&.N7I]GB+=NK/3Z0:+WF M]RD;#;J*F,4C5'K]:D(LE6!I/E]446'CXI">B]-2+!#RK+&[)-(\1F&CW3WG1-,F:NDNZJ.)%OT5V#; MIH^IS9(U)'6CMHZ-&451W>R1FMPB>V1GOV4!@4**B4QT7JH$??T)7WX)CT2B MJLAFER@5'F9:+ !YB?#P\'!?OM80D(<\F?')C%$ ;2@M@-0W NW5K+%1T-_% M4\\E>6F?RQ]CM-XA:CX9U'TVJ(K24@*H\#OZ[#G>=VU*F^;7BU-GV[VVH'59 MU73,QB&6T#G! U;3R34O<"R,@*;^'32H43JCRYNXD%.@(];>G]VG"2[0ITW( M'&\ZXQ>S,:^[2O2B4H3$'TB#M7&GR8,5VWWEL:9F[U02M)/N:&HI+)W84ED32I+ MA?J@]-TCO3_#1[6GL;[HRNW1^3M;/!T4:%(<0]O%?0'TV02 B;?.7IJKL&@D MB.=7U+L9')#,S)O+)?6F ,Q*S[6+IB*SX'^0KL=5=NL>HUVF6H6,8$OJN00V MHL8(;CU8MMRVQG12*2O6B/^ MK USS<3H4]FB0K/D,FD.T^(K"=J*(039JZ<7/>8,,#3G(:!=GH*9?KD)5+3& M,YP'>8Q5YF16Q#;47J!W",";BJF#J1F"J96KGDD]=?0R4I \7!=R0:JJ&D>PUIB-,X$^/0] O=6I M4(WFE.8X>=SL*K76JUXFAQPI_$*?T#[,[]J)JWBW&\P16C?Q[9E3+$>1B=_D MVZF3(B@7&E48NGN#JP+R[YV>\&X@-%Q*G:V(HG7B -P2SZT=BH,3@'7O 8/5 MP'"UW*QI=?%7K4VN9U!W*?"T*[39-6:3Z"HZ=IO%NL15"(L50P))ZH'YHQ20 MIB&3%#_):^@&SN4C$<'ASH^5FCI,:PE3JJM]+Y\HHG709)"N3^\,:8>HAG*WI M:39EMYVT"WV #K /&=Q*DXS NV9Z96"@C/ML='35D*1:GV *AY2UOV%SBW-3 M;VXF7CY@Y*Z:=5P%S9*[B;9$,F_#8U4(0V0?';^, -M%@H5ROEOKBN,3E.TR MD4+K?4"GMFR%K"TNL!&S5Y)G(OP&\97WMVD>I2=@2,CN;\>.!F06C96[YXP>J>RJ]3I%X>I?=G5)UG-]%U"*D=1] M8P,CU$YZ$[GB!'IN_I=]II">PSK$H)RVR 1=:0 _L[P;%P5S5S@ZB3QUQ8&- MOMN_>BM.\#FQ#]W&;I!IP=^/+W6'/KO1!UR%\FW(JY%%ENN;N#@'$KU&PN/W MD,3[ZI3$.R7Q_E!)O!=;?2X "F*DN1JW!KEDF&]'AR] !49"=9$](D;LRW7< M1,F!V\8S"5%]^TB**!W^AJD'Z! TU[A\0"! 3O-#0=-[KTKBT>EW&'X)=)E3 M'>Y\INCD/4--.3&%)RT\>PB2!.\[@8>GB70D[Q/-PU5(#$>Z'5A?%3_KE7^+ M#_AXB7V*_NOY/_"39V53KDHY1!#J.]N%\ C<+AT?@'JEA@W"1W*V^,ZLY46#L)V>G[[SZ/'73[F)*$:+*USG M]1#_AX,Q>J:7"$NNN\#W<;_F@.3I*AX%*[ !T/[]*CWE&1[HT="=I7,FF=?<]%!:^:KX('Z \Q*W]P!CHBN; M\P7_SBZ5HZ[@8SB)OG3UZ6N)!!Q%FBK[G =7_"U2G,?5 7\U_86B:PVGLZ,F M-SII[4A=B!86HH7XA^>OGG'+(ZR_X'S2!!H6;;OIB1L$?W!L%87G.F%0?_8R MC@+'G@WXR883299>BLO?DL,3XI])GRR7G7L6Z*I+["9,II,(=@IS+& 08'.S MTWT0,VM\;N,PXK_S^M.U9G&\,>.RK>-[OFV(28]; _B_T2R 3*[L0&8,0RLI MOQQ/*WQ&\4[4),+]L;4FZ:9FH>:SZR07UA&G=7RY$#KK6(;1#?I/G'*;)66J MS7E*/H!)BHQIC/L-4V^F<8EE%$IKZMP@.=7%:VFW0%XQ=9LFQ7VX-V0P65A8:/DOC+_+C;&$9$B:4_V<[(?[B>&3QK: M;!O6PYGEMJGVPR!W1S/FY?EO%-49DQ.;Z 3];]B"$FJ M.3!NA5T7(4%//NH^&YQV;[;KV7,CV\PJ(#O1+SY1M$IJ:FK:YD$7J'^/YNW/ M)V.ZQ\;4A(LV>B4[[OH0.\]2G!I [KFI<#>A@=$U/!U_%6<,PX>4EU&"TJ]0AS[#55Q+YA^ M<%7UW;CC>N0G3I";KL2F2RC"MZ$_'7;NL^UFM7,*YW[AFB^D<*LGW.IOCUM]AP3& M#(V%=EC.*73-$X:WD!\CS@\0F :@X_?*TPYR02Y+1..*E[-"!QJUN'DCNGH2 M+"%X6QF'DB.U*R"9L&U^DHO //Z=AU*2/:GEQ#^I_\O!= M+UK'-R67&V)$,FB3"]\X1M/5A0#_/0;1W3I3T7%?1]?@KJPZPO&A7P1(0^N: M=[&TL$5FI[N[ZO+DX8'_I5EI6:+B 3>PY*GG#%)+\\S-F2;'I//?=H=*3O1; M5R&QX(M8TTLG9#= #G%>YJ>N%Z'O]:C-DF^TL9IVHC3K$I4F=W$/?"K">ZE1 MV?N(JM=A!M' I7UPMXG>L.8TH@![6[!CUZ+IP0.F;+RB5)NE,JT+GC5QX M@A5/9R]HSYDE8Z\,34?B<'5<1@1;C/$PP=A6DQMRW1Y3O-A*V_BT\]0F^'4Z M2ZX7_=NJK@$;.4?,3T!(MVQ!+$P0R-+[RJ3Z<8B9Q/6!QJ_Z&'XNK7>N8HJD M1G!S>C66'IP2,8MJQ=BPTD=(Z$PQ\2WURPY[:XGJ[ V V\R$%IV\&MT-4W*P M:60J*63 1*[=IU;6:,HD24!]^T9E1$92+C?H81>U"WY8E>F3Y?E>'4Z_.9[X MVYQ5^P8^\IRJGF0, HB_F5 Z+MA&N@+L"D+"RQH#ORD4]ACRE1"B PDS<%-B MO-T&&5EDNG#(<0:8-]E&Y_R M5WE7E3%P:0<9L74\9;=7,. *^SA)XSH?;6-URN; MT(Y]S5)]W &.>;1;.S?!T&A@J:O&0XAS,;H[J!3R@/>#L,/XM9RD0APZ>G9- MF;5+W]<,'V.\O!;JV1T+[[$*:%S83VC5M4TUI!W_ LJ3TJ.49%BL,P3,D)X' M$LTV7W[=N_NSL*NT#<>_=M*XZW'\26OI>!U4P7._#"PJE?$_S0N&2<,L!]2, M7AD2*[JGY\L..=<0Z^I6.H3EIJ&$4)*8@0)R2CP+Y6'AFNP8N8QD(E6 #Y[K!"_8GMJZO8!-R=:2VMO0B"@[H?/3HEQT[)L=\^.?8!0_R?:)$2T\R!LA0?4LE/O'KUM-?6-?)! MD@*;UY;V)SE;_G(6.XSCZ-)%$AH\WVO_J!Z5I:*JO50:\<7SL&PFRNK"QS26 MR62.6B:6OU/.IHO:\J9];-M@;?I)9T2Y,ZTCAYI,^57 M/*"IO;NST$_!Q_3&RYL259A_333-[H 28>BNDVTWB11**MFY7)6/M81ZV[&R ML-; 0,D1Q6RE7%"P/'U&#^/;;&"04,BB%JB:7^EO \:K]H6,Y[ )=%6-(OD M;ZJ_U=F+"1J M-M8/H\V)[TX4.93AR6JOS"9&I&YQI302 7;:>F.'(ZAR+% MNBY$S?60DFW::$O_7H5EU4M2^:+L5DK5-*T)I!.KGTYK;'4<.L=.I+9(/%OB M[&+)\XOZDIJZ)@KQ7W95)XY7-=_MW!R'B +VRW@ ;@874/N:9I:@2T$X@FU. M""3_HR*X?L(R,L(E>,GXD*JYZ.(O;,<_N$(@B@97ZB+$P4.TE(/6YY-2F MXP1XUXWA7]X([F '>#V2UK-*B%X;5QI.'2ZUK;ESY'-5"JDP?C0^3SF7'[CEL>,E*P+;3BLO?SB< M[M"Y/WDP9)]$DWN]1N+/QS86;'SWXHW1')-U%D+2I5I-Q4*4=9"#L),=;S,T M6#PL6OG0+)8S<*+H:,2=LQ!LO:Y8$JWJ;+'Z<,B5Q JF\J2>EQYKA=<"K5M* M?J0GP[/(7Y7HA!^-\RE[YT>LXL=Z:]>'=:>2(L08FUL-K['BJF=<7K'A.< M"#?>8U6(F^"5=WXC:658.=7$/ \C. )@*%9TU?:H UF.PYRN,N M]K:'Y'F9C7;N_D4T>> M^9@&^3UJ@ZA#8I-(C(!":IYF&I>K>J.#%M+:!9]E9/3?THG#*E/*JP@;NZR2 MYOL<+TSA9,F/<]J]E_5F_,NYPY(IEDP5^#9QIP?GCH;5"F=GBV>LN*@.((OL MB<\CRVEQ(,YL8WJ6;>>FK58.,QT[9RXVMSSYE[)R,%UVZ,PCPC:$P:% M[IKF,.5KATVE M3^(!77Q^CH&CNY9_% M.QF5_&='9O! 5Y%S$'&#>R#Q@@PKK^_;\4-]B$/"QYX[?WS*G9]RYW^HW+D$ MG"FMR#O9]/%$LR0\,U*W!/C>&*_V. M/ 3A/LB1S-ZZD/MR<1Q5>2>1T*?#_@VTVE9PS[B=5:'!4_9;GV:

9(2;3<5:MZSUEEJA G[$5O\N*NUM@HD MYH1YG0:2=3>& TIT?03)(%*X/)D\RO(^V/$F)-/N,LGG\?S(H+GXU<_&)2&! M+H*5Q8VF/66-]!&4$7[%^>C_>'CV^1.*=.)3#P@$'S]\]#F]''WR:/K)%P7] M_;.'T[]_B;]_^MGT[\Q&'S]Z_-7THZ\(^1K///&]*&292M-HW4!=T"(: ")) M!8.:R3GZ]/A3.M7(J%F9)%&N"SML5BGI$SF^:8NTKB!"TEBPW'YJJ,&FF$W)0%?(-M-+,?,B(M<=R$H MIR6-F7GC ^\.^003:&<8<[7V"<#RG(0JN:JJ@6!T0"@X!W84RED(AZ!="6SY=J'V+@5QWULY&9]\P11.%W2ZH;E"F(T<0$ M5YV4<-CTQ%Y5,AX.:B5 MLCBN;:)Z7()9PC>Y0@;P&W=CTE&WGX@3R4I5-F?6,[PBT27+_W(528NWG)SM MPTU/1&M69 ,3ELV^WPJ"W[;D\WALJZ3\Z=/P"Z5'/.(Z=&G-*%UDTC,)49BC MY4WV;EZ ,I/'R MUUY>/7/+BKN$!U^'/K"/7S]LM;""E-=- QJE;Q\D>.,X* M9?RSM"715NJ!&9,G8E/2/H\CC\0I4@%JN(\*(-<[D4,!6SKM6S316DTI?YF] MZ)1F(ON(NQ'L9_PBF:H0LFI*<:T$)T7&TBDE,2YK84<%6F< H9Y9N-!GKT(J M &BE2EXMOYF([>#%LBXL_]J\FH0T.>NFO37C>S'/KGW# 0/P=W)0%.1X\6?+ M+*E"9\;(+YSY)Y6*"36]Z /<%4357T?-#,=GV7R\RIIO!Y] .T+J9'1;0_ 3VK/ M"=,]I4:DDH:8WP-*LJ[FL$S6\*$A$,%Q-*[B-+[?TVGS+;OE1DXX.83F4,U, MX%Q^C&;4BB?;L*&*)[+.;K5E'2(95(R+VHKCFFS![V]F=]9?08_YP^O7"49X M96 &'$./O88"KJLN[_/,Q&LE_>YCP:.+Y*AA^MY<1UO_TE-8_I?5_^[3^.[O9*6#[ ML,W&3LK7GX%GS@5GBV<)F.QJEW)/_ 1P!7=<0.%3.O6IL$NH9_%P:W<^/CR" M3+?'A+=V'$PKVXE\I^%7^9M+B380,3O'## M7("+6EH;R2*8T@#]$=@4F,[ (]>%1R37*<4L&A [QW4$!5TV8;#MUT;D;/'W M:\8Q0U2R?*[UA$7KFQB?$B9JF$QVI[-WM6GC^:U,1J\G)R3<@+M!@5_SUGF0 M4DP.]\+UF&MD6_4"4<6HM'S1AG",3FF%M#: ^==EI6<5A9Y15/&6)(A*8;SQ"+AY[T 1(S!*M,&-0%MRYE!P_%GW<9<5=T%M*7K09 M&X8B*8QH%0 ME1(FD PJEZ=I3P.33BI)^YS&AT@'SL,$;7VHO^@;"MXK MG!6T.Y9)LV; ;>]T2;$8TY93C+DK)5'=@_E=<'[Y/36R:]F M/[2O"O8K]=R(WH6[5CK.Y35_29ITX,N8R2%X(-=CZ/TB7,")-H:[=5.<5 M]Y&7C9.G)^1_=)KM/MC?JF[U@&&)"&0I'UTB%\CM9N.P:;OJ5Z0$6J*($4E' M7E?X\S$P8%R:$)9,'!X4A[$4/4Q:64E=&-.BC9WSZ@:Y]\VENZZZ+(D/,X!/ M*]ZKVE4&F97"$;D$F*#QF..K^@\C[0 <7W.?GL1+R%8=BRHR^G!!WF.[=@E! M3AX/OFE^K$,-&RH/E1\VGH-2(D?\V$:$(U>;O;R*%_?P1GLHD1R2)"+YAWB! MFKD&M OBC(P_[C$E,5( OIL$U>SE=H-CRK-66D'$D%!2VN)L'/AE5 M?4!)5\GP#I/-'+\4AEP&.4V\89[LP^/A,$39(DRM^?P;ZC'&C#/'[F"CR-,C MV_DFU"O,;QW,M(AYZT)Z0(1<5SE.=%Y :L=53QR1<>)S/&-DRTW038.F#?3G MEZ02O9;,.R$=8@! D3PM*UV#0:I$SB8IEHHQ6483!U?E* +3>98\QM1A3(^C M<0GT0QW.:P2>L&)(.A4&A86'8, !2 DY[YQZF>J6P2Y2RJ(%6\5AHY$ XU!( M9THZ7^*@V<>=9*9A[W9HW/?8D@J/[.=CR6[DD\8$?>!V)N5:[AHY%&DK=.FZ=AVPOY>U;*GA]T+)\=DI M_WC*/_[V^<6$+7Y/Z]-Q/V-FP,'*R0%%/1T^ M"7K<8B"_7;SZGYFBNY'T"4RS:0V9GE,TQF<$4$<_-6; P ^W[/8H2%,RW;#M M.6&@6A":,IN0F@_E0M(M)XB@?NRIF;V:L+8R:%INH#RT1V;06O]I>1F8E0+5 MMD.N6QUA4V[9H9YW'%:![U+JU)9)P7)-:!^,L;M(\J8X^&1#I]^11*K (9:4 M94ZN=Q)!]D?>RHZ!_=#QN_&V%J/@3;4SWA''N1)^B=;1TZ:1?Q.G-+T-S["HD8,*'%,U8[D LH<:(Q>B TYBU&=BY# M]P%NK"/,U1(& \>];IC=NOA Z7+9:*O%!:R&&!)#]_XQR4+#D;N+0V9"+WU;I',/3)M+&UL<^ >1EH_> M:1=<>Y(KH+GR("74'<:G/\9XFM6:7'-!BU3,%%L-R^7T.CN,"UW+G 5B=\'_ MR8RMNR[NI-W^8*UPVH8S\0)<0_)&'N<@OW^,(?KXBC1W;$4Q8:L8N82KC+:V M!22.J=;[,27!3ZD&IT":\'\J7L<%5>/4/?+8R-&A!N4S^'S6@+ERQ"R" W=C MI#,TK!MT6TNSW;IMASB=8BX\0R!JV%)B>?=I0MPW_^ M$'W*LJ48>57%?W[3E;]6M23,&QQE_CN.]ZK=QE\1\C.>W>+77L3 AD\E?X^C M<5Z5CF N!DRFW6$!#:4"9T\V$\!\=MRSP))-(&@% :$214EUV7@R-4;L!0.%+NH/72@F(^23KRY9[J)_6#A[7:8[!F>26KS&#S.^MX6YC@WE?@$< MX)I;.2"U23%)2KY58+^CY"=#G(T<;M[9:(W.2K591O:U>Z?T'C<%3PB)IB") MWH\H.Z/^R#A)J ,/NVYC(",CZOM"L?]?SYU]K+%"C"H&64LZ:\??BTB!IK='\/XA84=>XY#6::B9T$%Z7M)M8^CAV AA.0?N*(K M[MRZ.]\-01IVN\,M=&$4T?/@:@LSBX..TO;(YJ34'//7FW,0ZA;*+@A^;$F9 M ](-4+PYWU*:)^45!"'K-%6-/I_Q0Y);DC6&[FG!"'/_R$*!-S*A:DNN1!6M M[I+3TO'ZZ6F2=[;C*/I!*$ /A&0Q-8"U?D Z+>ZOQF2FV#$$5[BSY/OM9F:&)] LT(M)E1"?O%O1)G$1I!:8WT4AX_-3(>-4R/A#%3)TDY^7*$@>1T ? MCAY9M\TC/+HSG;39*0[MUWY_\':>BO-X?S!+*@F?W0%%NZL% M_&^\Z$G1^0^O=*N<&#@@<(* S$'PHR>U[WML&U[5!\60@9!:TBB*E)#11L5H MV<$I3U9SCZUFRK*C&$KA1B7X/F/JE^]-VQK4U M_K>D BAI;)$W_\J'W8RB1=+18+X&'CY9YSVW3HN>).LHW0@)J[I/;HBIB+V0?C*B$6G &N1E,D%+[//AJA-%@ M86^/Q2F2)$K*B HW2/S;R4A/1CIGI >(*<_:9VBU;I11P3U9YCZV2L%BNYBH^ MF-L0=QUTT"GGG\FE)_ :DWR1]D2JR2](-;-5%MU3UN]D;A-SJQHGR@D-DB+O<\D$>?T;WN.%!/ON47GGV M03Y]-#,:Z'VCIKA-M699!4# ]6N.V$BU9-*94Q]2D/17;5>O"FNUMD9KDBA$ MZV4@Y0R1(R;*I57'\GT*PZIH 4EW#^F2&,,B0=,+W_675KSZ7:L)^Z)QP2A- MV#GW!\Q@ED < 1)X:]2K2X/8-9DE$1*F^KY5(^!U@ M/K\X83Y/F,\_%.;S9=)[X4%!VAMAV,01B*J7?7'++9J^ZRHF'7DK! M%?B!.,DA.V3\0QS:JM]DU6%WR:R;1TC&QC[$^TD7'0#M=RN)1]A;BH\9X%^W[5O;$P*)8:&/S%JPJB!:O4*7A>U1YP^\ MJ_D$^2FA,,E&_\B :S*U(ADR(5^C>A81NEUF3;&) ;CSD>4L//9L\1-)(QYV M(XA.+C=P^GK.B&,13:4>$AO!DF? 2*;0W=7 &JH)3<$Y%_ M762J(SKRQ4'B43KS;"N.<8@P X-I8!+F.$4(YE#K)?G.2YCX[#.HB7-.J->,:Y?9%^OZ[# M+U7RO,JY "?,BBPNMO.J?)5*&I\'.4'3H?<=G'=QZ+F/N.T99RTCG+^U1K4T M2$2&X_6]J9=4Y7Y 1^E9&:@T,W9-')&27[V-[ILZ\<@2$Q/+[=E+E>@/0N*L MLKAO1^O[-1T\L8RL/^J:\9,#3+[_31J'A>.!F1=F%EO!Q!_9/;*)>&\'CI>C M-V-_QYVE"8JE A=IC%YB#;A]W^^YMQGNP]TV$Q_TK6.R:Z#TC/M])(I\- :^ M'3IO''%N[]:]'XNQ21W11G+JA?%4C$RAFFZKK(XI-F6ER3N/7>#/#AJ7XR6" M3*T='DN1(U+"D4S9T>&SY ?6L/PB'K);;J,H_!+E8<>M]:<' WZK0<:O7%8& MS&MQ.)>!%@<_3O4K.VE>.O!\M,,,"IP049RJWRHY.@X0 M3M&E..5*SW;1MJM>U/-4RAKO\4H; MS;\TB^^Z$.*CT&^>7L3_WB(Y0!+<^!NV/]'YDSP$P!^)^R$]S80W%EM;8NNX MJ='TV(*=)%(T))#^>W; 3EW9>W5AQILITA;)=HM=0QDU\_<+G%A M"&_6KV'U^TC+?'E*RYS2,G^HM$S>BJN"%RQG#&Z//BQ)?YXB -K;F'SY;K?] MET*@1/LD=O2%4J24M=TMEI M:3S58Y406MCV0' 9C_2KDOC&@J ARZGK6U7],AX2$#BO^)#X^.'#K_B9<)Q\ M_/#10WZ6=5GWK-I1]732T*X$BDH\QS;NOPXKHEK*)D+UGEXVM-.VT\^F!2#J M0YY]-SQ-$IL'U0R=$YJ0#8R>D*Y*:%B2Y(.>1W==^#G&/GRN8E <%U5IQV @ M_ ]0AHQO_RD_B5PAOA)=C[8^2T=17R() ^C%EE6W'"MWK6_#,B#<39>3%P.W M/$]3W%CB&89H!IL'V J%8G#7B2I1,+$@O>S8I#,:(LW783?8"WU6Y%<4[ W( M=F0/OR#>*.:DW&K8UM+!,BX)I@F!, 2D@$K1LA;C9NX6_X:OD]60X ,=R]S2 MPJ-7O2>9;QM^.8Z2_U8V(PUE?/+/;WYR7!TV1?,%GWSQ[RO8,NW/+#!EQIM;G4AEQO-HH[':AK/F'F2NK3*B=XF0B MB07ME@;W!%C%MWJ("R&JI66SW 3B7E4YM&5@]JF_QPA4K/3QPTQ<^07Q/CZ) M(:XYPA<-0D!Z"E%>CB_VS/L8$&VEM,5+1-W77>![@]0^7<7U6R$702[^%3\B 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\2EN261QK_=:?\)Q_@>1,1 MF,]TK57DY,1SF1G7R/&),25Z/[]F0C]]A&?+.#*A)R=,-^9.SB-]"!/67A MKA%;EW47RM7>V+8M$#U9U3VV*E3YE&D73"ET@E2R7XB/*E _X:,,CB.AD)=J M/5G3/;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*[.A4"[^ MQS?E9CA9Z#VVT"D_4M;C*C4;VUJS+LMKS.9C;YEY=_/(#ZFD&6LP3TJY$FM\?"8HX@[X@/##U'[=Q&UFF41] MG=+LR9[NL3U-A/Y0,FTM,QH\& 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[: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=#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?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*T2? R,S=Y-(-CF+R0 M:)C$:BK0$R6<4N:&RC<1NF:X^D!5HNG19:VWD_G M[VSQ=Y*RV80:Y[;I-:OFLHWQM0NEKI-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:I8=>*')NYD(RDI6.I^DL%71\.6VG@VF&(*UMQ>' M0DJZ2)T>*[QH6$WR^->: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%PM>K2G.FCE5["D,#AN-Y(!21^@?C/#:CH]XE*2!3!.>+>E407KQ0JL7A1%Q3!)LO++)!YC$>-QN41;/N+:$>U0(OBRKVQ\0L9989:=N+@C_CSL6W&O(G7O@1!R,TIG M:9L'_2WZ\RY:\IXM\C)N2]NRJL=.CN8D11T4@5\V,"P4\RS?"PC@Q]RN,)>. M.);CN$YLYM;9"PJAI2^"(+!=("]=+*@A00K)J^-/-":P?"HI MG8\D>EJ!"5=9V%8ID7I46U"(&UI1(TXE5O2>?]I9B)F1X&0%.NZ MYCZT /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#]DXFURO*)N^[#%;64?(S)BR^N MS5W(3J[A#Z40T)92[[71#P,PB>%$Z,1B.$8_\R&,UA1B"^18Q>-"F-SR MEP6_)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!\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)W+:5S2])9C-&>X$QQR5.^\'Z(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'\"+% ?)X2S'V8-!MDHA2\L4,N)#^A>+"O8\YQJ?6, M0ZMD2(0[[AS T:(OXK*Z!JWQV9^+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$ MB-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+2A2#4YO9XJH$FP!KJ#5[4(DRPR$0D7-S M),2+!]_D+C4)*2EJID8K!.FZ!E-,1\# FH\ J*9L66R>>J22.RMW(%K$0.9K M_VSQVEG#U#&@_9)6(0"279RM!_H$RYIFM\^A&X'/!VF0^!%FG2AJ3_$JW?P; M]AM_(Z$N3^+!B[W3.4I H)6R4AZ=LZDO^&FVJVV)F);CT,NJK4M; MYA+VJK4(YZR[:>M6^WG95XA7#]^=1Q;2-_K.XM_T8.-;&=U!&6<1>EQZ1AQP M1SP8GLB@JS:%Q3&\Y"Q6LJZBPUFAW?AW2\O]>^C)_$V5]7XRI9))_[BF'3@U MPV_G4@Z37M*<)?XJ]0[-NP#&"'^_11(>)@8)-> M9=N->QQ2AWCRY*NS)R;W (>47_QNHL<7Z^R]')>290H0S2JCQ! MX@Y6TD KC^6SJBZ-*NF45$LYZ4=_E?^.$?*BX )7+I:F!I+2*-!:2'!W;D;. M&W1]<\G$C;MU/F^4Z.5XFRUU]^EDJYC:^\P-Y]H;5'2Q-,D(2HFA[8;YQQ?[ M !&WY$%N#6[_2%WP,]H):]LUUXFB!:F#7MSD6T2,*2E)0BSCC@6*++=)7U[1 MQ_RNY(SJBC"8=WK\DDH""5IRBC1T(26YE([#/S5%$7)JM66&6G MJMXU696+NKS(-/(H,%VA#49(_'=9%EH)8%?_\BO9*9TK-4H MY=+45?)?+&&6JI$$2SPN@ Q3G#%#/YOSL.<)P_][QE$?>^+QTU/B\91X_$,E M'K^W5!*6^-Z?I&W#J@;HAI-X'F1F->3MB-Y#!,0C#$?Q*4/XII M6)@GC45P@.3TY8WT#->Y*A);)O4YR5VH'B)R!U3G69++%S^F$BCJS_@^:3L2 M43OI&W5T*37+[Y%LVF^Z]^+IO:9>X1I87,3FY/T*ER<\G%R$Y;I)X?5I+W)# MPG(X!#KA.<27_CE2<7Z0$B&J5-V*)>G[@ 1"/+<(5(9O27RG&2^ZSQDZ_CF? M"*7,51%WW4[QMGB'6?/@W1A5W;6[B9I;/^FYE'G.Z\*DPA/WXPH[?'G9=HX) MR3!M?@ MTM-G\Y^G68W#'GH@,A$6>C1;9QJ1ER"6.LNN0#0Z_ M++G#BL*8MKM6-@[9,2\9)%_<-(RBO%*H4#Y0G+I_MQ;D&$6.@VB&WM#(?YQFR(@K/I9#'LN':JEM M'60%^/)$BKTY]R)+#*@R41]5Y5),9/J^:TE,C3-)\%2ES_(8G-P_(09N@P+H MR&A&NH(E/6^.R^\T284LICO3D_+M<1DB+6LD, MR*=/GCL@I1>] NG=T@E351+C+;IQ-]Q1^NR[*6(0'MWS>!BY["8ND>RETMOX M".$"!'7P<(ZE-7[M0C+^\9K;"K+4/#']A-!2I@M=J:R=*GGLMV&O/Z'KQ"%$ M&4^BP<1^0QH7HI:$V6-MZ#AYNVH5G^J"DV#V^,H64DZSQGX94]$<' V&)_(E M&#^M>*;X]STNV*XIA]C'@T==4)E'$%(TE@^DI&F9/XW6O+XLI=W"3)-1=+#* MVG%>U@B#^TU0=4AY]&T@\)4*1C*52T)J;2JB@E%\Y_1-IGNP5(72,-ZEY(BN**)>!RG$P&L2160[N:A/]R570_+08 MXE0'>&^A;2(6OMW.Y4,'"XIN#M!^%WFGSTYYIU/>Z0^5=SHL6)?F$9,@558O MR$^EA%I<^ONQ+Y%T,P"Y1&E0*3JFB\).67XCX9G8=*(U,V)F@.?]N2 M6N>"UMX#;+!\^S!LXILW!*%H]O%\M"018DK+Q*TPNJJ2B,27DAGCI/TH J>R MFR@4P@=8>80H"1\[@4M2IF)4TB'R*C\O2..%!6;+K&[%6#(]2:O7O=O+V)@6>( MMW0WF[L)8KKICWB!O&F;B^@+%J]QOT^>Q;>X6(U_=@_X9I*DX7XC^#(,XB>* "H[*[Y->1,IZ2[;1KU"7^JOW M1*B(9)L7(8;N"!W>&*T4CS_5BF]!J<+H5;I$*D>Q?4L4=*'1),]_L"19BMG=L&E9Z/^<6[/(>RM48:G(\^?-XT8<+C(_#*% XBNTG#$B1@SN-/.99F M#3]*Z3B%N&%,;B#2]YFS?X>[1TP[:(T%TU Z9M=6W\7Z&%I(C^;66/ M)*?DPVV@X-5Q>.HNXO&GVT[R>T((3M?B,U"TZ?A9<-ES>YN/)(_W$\^\<#N: M%(K-9?4KGX,OA&58-;<<<::LE_-Q.%*CVI9]_X"G->@A6KUK"2M]8")+<2WN MI>'*Y%OO=M/]*[_KY 47VH@FAT\DIWBX=-'%?S&06>C$. 7 J%3I:!#?:&FW M\XZ/;NF\*3;NRQG*32$$M3QT-,S[*M0KG1O^;CL.T>! 5&"P(]R=\568@1C4 MU?CRX1PJQPL^UYJ3\S?BO78$W"J'@7W+$=>$4 0CE^W]*#RRCGW^-@P3]FQL MJ8R4:DB:/>*+LK+\HKUJ!.&AZ9-2AX7'*"[Y4$<#B^Z!GE3BCV /E;@9*,") M)@5HRKHK;=9I+VF'Z%^$/5;N;#.K=2W5NL>"U\N//6-,YP;];/'7ZQ:7#T8T MJ.? U:U+GO7)0".UUECNSP#YQA*NF2A8L>SFT3=OJW$+D5QP!SQ85_76?')\ MV/@2EQ))UT$WCFWY5JTE10H3IEZEJ+W6E\R5\1PVZ58TQ=YY!D[L9X_"3G) ,I/U:X([\>TUU.W80)+3, M7Z95E-]*JK:"C%\Y;"$_K!U[YE[)#]5U==JLG;JNWAZBFE3[B6Q&MXP<[>2Z MLS^>C>X0U# V3"1.Z6/T[ Y[+2ZEOF;=S21?6^_13^"8HJM&35)1LW==+)*' MYX"WI-&O6FJ>1\7B*L03O,),#1@W21=;UW<7@H9EZ[!4%3&OY4XI[?C$_:;: MW8U&E4J)R5OB'2:O&E?VX\\Y8) 7Q3L2+KND4V9;[Y===,V4PVB2W\=;6T:> MF:;KFFL?SH1%$_!$[GD_^$\VQT%I/VU(.Q@LTI6N+Q9\,F M.;?,$F,D<&"0@IDZ;I@X_<,P'U+%X43Z=+*__Y+F)W3,L-T\_ORHU;VK_WM" M=G:C__O7Z*0^]M+EYZ?2Y:ET^=N7+M]=.* .S45+;47'U"R9US*]3+#:60:&[EIV1PR%+]8MH M[J;?">P.%\-2-Q0\GRG1T'4 MO!X^Y@1E_A,]3^69)O[!9TS-9!4(.5#Q,7(!C@.!)J9#I]1A/0 [JV#8(% 5 MJ+L,>@!U -QEVXGN4 5=B/KBE9.68(# M0;:)L1:27<*3<=8@:$V@D2P"79;+HL2)T%Q67L9]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'4Q6UH ]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:?-9 M? XZB@FSI12^<'&^%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' M/R"I M,K'FF0>^S:,J^M=.Q=(SASF=Z9&7K UB/>[7(QH*54>@C$$&\9;]SXL_+S?1 M[P=R@ =8\/[[F9PS+4P%O MY3'0V0:>VZ-FL.C)JP:$])=5@D3E<#FX;'=U7-<:WP^-LI]ER!\E1:4XZ2GH: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[./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=G"@O'>SYZ!2Y:Q2G[K2R$-JQCQ,< MFHT>QBFDJ42OQ,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:&^ M"[LXZ(L0G2]?0) '^V4=LG;@53COJJ/"#P=V+W&\>PHM$O3_$N//!]QZYC35 MR@%5ACB3'1J0,!@,*Z=S#$XZT23ZMFE"/=GO;TVB=J>-<"^3[)ZKI"#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*(K/(/M[OKAE6'\'&^&KHJAC'(C(5A!%EABYB0-BR#@ +)JY3+D M *WB/__S^:MGJ73.3"5QP2[64/].5'I[ ]TMJ E#:Q)T$*82;^#1+U#.>\'=!">/K'QS= MQJ%<5CO#N+3O:)2JFL7Y'TVO"/D'EK#*<,1UW,$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[6NP-IW,TJCQ](Q MAC/P;6!IM)F9O/]8^$X28?=&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*?1R,TV>/"TUW'9RI('KB!K'S/:J#(?M%W;UCP.BIP^'_$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 MO\]*/UM\BT0<%B0Y[LNRJP(#:)FA,DM>FM;XLNI5O]59@;R(FP\2>1C2)^S5 MT](J[-=)>+:C#(%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).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&1415SNI1FXW(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)$?,HH?A* M(KU( 7%#.$3DIL*HNV.#)PY]3#TNLQ*P"J.OZ+CP\TA;([G=5SQ MWE*QKH8UC')3/N4.&*WJ;)F/8^Z[<4J#02R.SN5"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/ MP)A#X38- ,>PCS\]^\+0.>TXH(,5K:SXSB3EZ9_T-M.6*'LL7TPPA[]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&^=N#\.GZVK;9E M+)NH I;2L"^-;;(2V&UZEYE"9>2"G?ER$BPY<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)RP1KC"==,F MGELFUV)0@_^I $P^2'Z02NM-2'5I)AWJ99.@ ]'"[R?BE@QGYUJ;[[A]AT(X MD_\43H[XKDRD251)G@26 $GU9%;BUZM0."H&;('XLV]E6[$S@\>*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/N)/OHH?>5LN^,(*;9R__Y\6W#ZCYT;'< ME ,)Q+:[3:)2EB&>G(U!N#&E!;GS#)--4I(!OZFKGXSQ8)Q\.YN.U""4U8C\A 9'1J0U8\#3BY( M\EY6$)!&8O[7TH:C7(Y.(3@C3IM)7SGR-WNFW[D )BF:%FULZE4+ M0<\H\G%9=YRBI%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+-* M^'3&42(5REE/2L<2BA4\O;0)T(H-X6T&-V=!$'J@@5MYV"Y$Q>$ Y7S,C-,E M2> CVFT\.4+.G1.F/].4S#PMBXX!-$.>Q!JT/VUID@VU5T*V*>"&HD(TRC+2^L MBX+VZBMPA8C$BL[H$*.:)AD\G6[YBFSA:MCL />,<(8*V.'DZ&%U;D[9(,'O M9IM),5E>]JQT$P"#5AH^S- H/O^'[8;_.'M]YG=T\=:R#-*YA8\UOBW)'Q:X M?N''U,5.0&AS-QLTQK@>7O8/]O&<7O.DX1H)2C(W4 MWA4:/(<;!='N]=D,S+Y?U4B>IU9 [AS)ZDS?P.^*Y>K3AZ=<^RG7_H?*M?^4 M"03DRA5Q3X[O7_4;[3D\[Y!5+[>(_KAFC)2&\V<.]8?>'7R^<_Q)-,V5,<@W@07 ML9?;==66CSUI9,AQN]$ANE8=H/'J/>,0[%_" M@&FH[^D]\H38/-&QYZ/'97@)4"OM1P)<^\Y1L'#C*1[\6CB/:X*.BP*C0V6& M^?QY*6N+S#]3:F#Y+_;%=XZ!O0H9V.R\DQ.*)+J/O4X"F >%^#DQWP/)DIL& ME#-RZ_>8@EL.ZV(>[@L!C]7B4?'Y%U\:#(W&X>[GIY6;=ICK(@1HPR4AT*.A)B\53JI'& M)586"_PN_B\_3A%_/L;U\=_1$<8__JW<$9(:/VS0S?"T*\\7S[>5=.W_E1SH M?[?4"?PZ/GBY0W[M11S]^.NGE#&('BG^YS==^2LEFE^%;A3F?"9VH8YQXZ@? M:4*"*1!Q5@A ,.XZYS=/<.)W>_W2,6Y,[GB#X3UYG VZ7I0?](F[RPU&R+/_ MZ.$7UUSNTQNO1YAS:CFE\)+2:Z8>?=T"+"DQ%$^I39UUIFCGON5E)9427YP. MUM,UKA?+'-*UOE1#"BF-G2U>@=E!1;4;23C]&E8*N&+(,9>Z'/I4P@@K^'$^ M7$N"9WD/;P)GV:['/W PK=3SYXZ! YVH#??5WN3LBFS(,)DQ M4(A^=Q".2X%&,RAU%I0K$:V-0\*EPG _(A0YUJ@:E%<9%1U+#2VY5ISA%9E& M/Z6>N,N83_WQGUPPY=&<[P5J72X-C2N:8KES:3N7JU!TM, 7J<+6K&IP)22Y MWD)Y_/%WJKRA"6*FRK"JXA]Z;MY/)603UIBPW0@8B4I\DX);OZOJV@-EG&H[ M&26%N!U=VJIZR&"A&1U 8+2K$$Y U3[*85,DT[>B=%XC](U@LW,UZ9P;NTY@ M)^BA\PC>F?XYZP:;/ ;O6,8APTT=N9)JYZU6%IX_!L& 44R: K>K/Q!#AJ#4@+3GR%ZJ8[3:MBKW,%(0[//R/O!V48WAAYOQ':&)$- M^N9L\8V._\M+ZC((5_+1"QT5E1,"^*%=\F0LU2$QWD%15@:9,KUBAE[W:+I, M1Z+P2]5+8GDJ=OQ>M9]BGG7(9PYY4.ZF1G0 AF,M^?=OHIV5^W[GGMK,4&2: M?X.N9[.GC[0YEBUEO,,J8@I14'[C>HJ9JDYR+OGBBKH2EI@#99A#[K*ETWEF M'X71B'J3*TAX81XYVQ6^W'( -]'BU.&C"KW2,/>>=[_?P9 MJN2*$^\@9,(7%#?T[V$O%/Q"9;_Y[FD?( M%O?N/HDOCPZNO?)!28:*G\QKJA6[Z.O;4XD\SLDKMF;>? !)UMR=U_0574P;H?3OR M]6TCOXI;$V.#=&G=_NU$Q9LS4XB<6'$K:U9@"/@[W8_7/M>-1NY%]2KH+*,, M$K:Y!8<,)6%_H+W<-'2 ZEPL;H]"%'!$ZFAL>CFX/7U&8O ?8K@<\I9?+OE+ MPMV\G[LD%RF'W,Q+,N()58V/GD6!NNK+,:Y;77V5+@89A,RUT-K\+@X N__' M#Q]\AP6PBY^6XDEQ,1K7JTWK#]4[@S0CD\QN0 [X1&VH[H!.]CW(*+YI8]!/ M6U_AI74+K"0FS@%=AL$"F06%M]-IT;H)[ M,RRZ*E8D=CBF7#QLA#RXAX98ZP!R2G9"S0JT'28^KP4=WUKE\J9T<5>N,X9> M/%+5N]1@TD_4'C;_*O)8@&[:OOJ2\BY\QX2]0 3D9,C,3H'\>B9]?[Z<.7O1N,GTOF[BO[L6+?X:X MZ--"'H:BEA',U,J02_7#C'J[7/P0MBVA1,8MO<4_:%T:B53<(YYSG0GAU;,V M)8=L^7%NY76*RF>YA1L\;)Q,PXFP+@$X\&V3^E2G@IE)5;![WAA.AV.?6^+F *VD>G^H/9L,!P]H?&O =E=R3_4STQV M)ZXVQE_"+>L4]!@V#>;9,\/HU=U(;1"XC4>U#14*_>^W#WJTH-9 M$H0OK&K2]Y8)37H'Y YGZ;J$4W!@"W_5,O]SB4!B7."53XL*)8ZZX M=ZV=^P'EP<1Y _5T=8@*C&]F)E+>U 45=Y6>SG91KO0XDTW& 7R[]H4;'D'- M';N\.U:M K/Z+ 7PS?LI+JSLWFS3/DD3Q^GXIN&KG@ 7K#HZVZP\6]N 0%+? MR'33R>%L00RN*$&^M]R,#29:CE0CY$(6&&G$09OP-.RPH-$M?:*[1#P!O$L" M+Q"<@/?9<-UY_;VW7C^6JH8].Y2+DD.\4GKW4N0[F57S6BY[=+@!+U[\ZZFT M@X2=."9]">UUFSOQ_BY2]8]/J?I3JOZ/EJIWM/BDC+%"IDJ;M, AL>6BN&0H MSRN!.4;G(OHU$X^6(RG?U1\67+\^RJVGI6")4[!AQPC&F!:S_)@F(X_4)@T-P(M*=#7"LCQMX M7>%,DN-/OXGF_!UZ1ACR,+7EQ2=>)N:Z*[_7[O]G:N/FQD5PM>!T@LQO0A/: M^$4;^1N1I]#!58.5./@605AJ>#('4(N1HSH'J&6"B!CXPH\?7IUCJLFUZO(* M/V&<(QQ#?-E2E#";/)D66LY96!/8A2K&,,YLXVF;)]B4Q#@ M3!Z&]09GM[CB7A25)P2OQ\JZ@^G\S<9S]'6O!+#$/,[V M"#&07&Z2(A.O>RE3JL_XXC:U2B#1U1M[CHMX0%B!&8B*%Z1)@U[?00#,&KI. M=P$A.^*GU%,,X0^5$LA>B-DZ!]&P$P@0>0H0%/$=&$^,GF2YRST\>DL7B-/G$_I)M1V^#^8KL3F M5=)S_FQ:CS1O**!]IB)9!K>$#J=$SK['\OJK-P M9KUJ[.:FOX;R1#7TMP[%O!M*^5.8DQ20Q6U9;F'#+#)R>3RN[O=B\&5*1JQ0 M9$YBQW$XB(&-UN:P$2FX)52L&#UG-S>B8^N=F+Q!6J$'[X(M+QLBS5Y9 N\V M!J=Q\3341+8O;NW,1)1.!"X[.',4N#&XTK/"L>#J-PB:%QPOWTV@/ ,)IOFC M;&4)8N^CL7(A[/4T5..N;=SJ;,=A"?JJ@\RJRSSRFL*(@(:$\]DIT4I)'HC@ M4GK?LENT 6V3.@^Y;;0=^PR9[HH6JN7I6TD['9.%Y)_,3B;O!4Z @)CE!.MQ M^WEVU14_Y?3QHZ\^_8RKQ%O:C596:/%?S-3\="1(#;!G?$WJ-*8RL';C4B\5 MZ7%2==$8P\5R,R;Y:8S-3?$9.",QZ5-GD@F',$D[EG5Q)+.NKFX*PQB\,,9U MXG9WDJU^G]HN[Y/Q)>.["ZNN,8FQ7W0.#-J=B'AYQM= Y4#D&&X&+TC& ME0L#5'!@F9*XG+F3XUBFLSCZ27*$;@T(%NG=UD#FZU@QLIPPV_.]J(%KR\27 MGJ;,S'T6P\/AQM_+?E7^L^"6HJR_TZ(1[%G4Z]52QY&$(DJ59V^=B3R9^>DLFG9/+'G$P^SZZ7YXU_1'?4CXD" M]EM0KWV3.D-XO_I___/\7\E*?F#(7W #7&5\<39=L:GB>P6/+K0+>!-]#O] M,"D1[@]VT0DKMQ 8$\(J/AGO4'>+'*?7_A[/_TS?\?OXCDNF]*%JIC73_*UL MP) (Q/##)Y)#*7ND>R&Y6TGL;^CBQT]PB'S\-0;EA=($\C[ ^5QK4*>8:\NA M<-PO.']!9"U;5T2EB[^F#!6N_N@)/PFN@<3G(P7M2!"*G8(S*#,OJ;>>?2X] MRG@J=+^3-DK7UUDVB"(Q438F+3K"(\=(,ZYE^:KBJO$$1-'+D/B4Z#0"P$)/ M^X#,I[]"&Z@>)K AMK^Q,8"._ !HO^TY14 @Y6AZ_B&?%]QF#SNDIOEH5P#8 MT0_0!4]C?AZ-IV2V49#]XV[4ODRY.$?_EV'=4T;^1\]*WBQ>E=5J\93!FM\' M0A30:?UY>D=MZ[^E 7+L.IG"'XS*4H5W.,[>CO5%J:I&MS.NPM$R$GB7H8ZA MNQ3JBL1W09P@>X!'P/F?#(3U5V,T,]228USL:!0N2V: ^1Y6G (4*IP2KN MT]%V5G&;]J>]5@])=.XF/J"UBHN=I6'$HUZ5%6"9<0#L5IAB.6I*.L%Z'?1Q MT79P'I+1R*M2!CI=*3X7WV$%]>\%B[E2+9_#Q"X:(,M #9ZZDCDF^[(NJ9OU M*?3B!2Z.M4AA4;4E'2 5:X_WXL7[K=@<>NN/FPES?; K^$SZ,8T?1.V6TFC1 MT&GU:F>EG[%^4THG0?B%#F>+1P__I'6HH:7^[W1)N0YSZ/B]0&1W&=TI+/.: MM#*^GI619HI(PIPBQ-GBKW&O"I/+9XMQ'#0MG5.)DHC\UB$/\4X,6XV3VQK?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=GNH4V0UCLSO*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?8GFN947CT&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+%!.U983HY\.BN2F6'&QBEV#9.;7WS7NH5C4$$NT9!70:8MD M#7M8>\WK6V_<_/V6-2S%961\+@^V>C9'Q!HH:GTLYT%//(1+Z)-_U\,BFG><'$5: ?-+3.&E0NOG5>:3LV!0_1,;V(7[J<(5!*9DF8 M;5.:+,F+)JVT_P(38(Y8SO%<$0JY6+L@]ZE7S0H:\I^B+C8W+R B.F.2\&"[ M:N,)IASBA9UW6$'=BUX,97ICV"3VD?G0@N&+;/*O]$:1F?QUM!!0?WF M^.UCXW?^Y@0M+H9& #*/K+C]MIZ4(+WCQ+@<%)2 :$?*A "1WFG(-U@()K A-G\E#J89.09(UQ(64_:X(1@ M8 *JHH>]&,NX=]'C)_Y=V+[+7,:&;YV1\X%;-#+%B,__TJ4X>7L]!=F)IY-B MV<3N?5*V('K-\\DF$N,D4Z*7/2R^-/$.TW 1_$*8E780J*;.RY5$Q7%]=[Z# M @CL/37502\-DS%*J?22N3H("*],7K=$)(X%!:>V3OG573A(A>YJ35 1_&@L M__7&K0-0D<=. O9)MBP?E:E?* M=\*YWQ!5ZXH,+..T'4V&V-6JQ[C.#+;J$2YI5W=\[5>:,\"@:ZOS-"]:JVOV MKRFDXW#9R36GZV0SS9!K.D4Q<(5B0.2,,F:KZ90]4[@*U$.:%"SW H:E8;0' M\JXKR*?P( L&*' ! WBIF8JG3CA2=%VL1;'.\WJ M,48L6.XC@@%>G"YU08&?4LZ_SS0Q*BLG'*ERIT*0@-P*4QG5;3;8[B^]+5%; MD;5R.0TW;O;GKX'H%KP0ZP,P6GF@;&I=Z/)G+[;51Y,EU8!^'V-R'#6L*#TJ M1(,'6WM2"8HOJF%UK H(3V1>R+@3LO<HKQ:$V>2A,C)RBJO=7&M+>NK?P%,3F41@E)NL[V,,R^5B!/M=XCTS*51\ @,M+U9> M%P>J5'-^$\RP;7@IR"C4M6KAZ;IJ9'?!L^=U@;DYI2Z72TC7)'I'K5<(9[-H M=5F%J@(EDS-7]\Z%C6P2MVNY0)1?.G[W;.^\YY M_^6=]W?P73M='I4(!:DQ^3QUGI-W1FH.U)U(GD9GDKC<#,N]3C49HMUR22A] MA11_S+\>> K=E*E=!?[GJ;V&[GH1/*L4 ' M;B^O:U>)M!V1.'+M_:&IT/[1%GQQ_=P8A EM_@WTV(6 M5('BRT6/\\?6[64'N"P"\>XM@3Z].Q:K M*O[T2'Q#[QI=X*5SS<)A$!(8%34()Q!85^2ET &XG+7T1=0F?WX=T5I=-8V< M(3L>U_+,J+L$^5RF88]W)H-/PX3*;X,[5UP8I#K:EI#E-3<$^9!3+:M=ZC,I M!Q-3F,/(J1T19?U)&S[>+O%>6[QL2<9SN^FA96OTD,ZVY_X--J MR\/B6+ 8>L@;/0,[:PY%H]OH0 +ADQ"V/TN(ZSKLY M>GW20TY*I7D+V\15XVQJ9A*XDI?"=AO(=-7NV6H5/!#)6B94$XWN6;2F8&OY MD/#Y(N /!M%K61%*2V2S6L,TS%KBAT=G]72CU\V]]\>@TFII^]DBGN5E9=T6 M-I[K)V2'0L)/$5BBN: !A8?H$6 &-[M:,A!HL%TX%!>1# MJ"+$C2FX7!-]T)Q)30L."AU6M0?HUIHW2#P\3$+GQ&&_=G=%JB6I.T,:[])> M55." U/_EP1!LXM'(N!^"X)";=$@Q5!(0?$!S6N!^?RR0C;RK9&*MG**AOM/B<;3VWRG"@%V^ >3'QD\X@JT M22P2ES3S_"IKR3%GN%J$>^ V-F+LL-*(1!WL,78UBZ6@3NO(..$9;SDCZ<3 M72X-0+3)4:(E.Y*0.>+V\4%/SSEJ2&-)UD3(4H,!!;QT<+A_V-,!)67JBL3\ M->1"*+?!B#">36/!R#9>$UIM4LL:Q"5L&/:CQ.R'DA%KFLOO[[45A&7"#>;I M,+1N*GG ;;=G+'*QT,_W=/)?187GC,%OPY M6?"/IWC^ QN)@G/B*:*APT&<>*R*Y?K7!NB='SFF-#;#RNM*YK/-&Y0=$3E+ M?868<=GF0NM5A%K7A"?=NW'R)+_]UO9HGI,>[RG?>6 ?>%I4D(A(1HBY6/A8 MI007$V8VQ",8$E,]EB_Q3=2F+:4Z4Y?RQQOIVU\O>W[+5AJ,UP++9DP:]89B M^-EU$,:IFS$GWF+RP?@/+$$FT81/H+ GK@[6$\KR7?,VBX=E/H$EDFB/WB++V@1W,E)3._;?,P+/W&2VP%K6M\S$8Z9Y8QRFE$7OM)? F$ M35H7(3DJI>J ]$7>;OIH0M)2[G%PX??-19I8;[KO8A>5\3)'N9:NHU-EF$1S MBR%B'XHA@A]04Y*%'6L3P/0*HRF3M,;<=W$?OF*#D@X!]>43.*K\DG$=J%1X MX\\![L7@D.!TEOLW_I77[O0W-^F]6[O]@T/_Q91? MG^8EPZ_>]%0?\T5'1 &OOVUM]0>;S0??_$!"O0N]<[>F 04AQ!@0I[+1)6AW M&G8B4?)LL>3&FH"^X; MU,_I).$[-])X >+JNTGRR8Q]C5V-"^8/50'_C76 EPP_B^A_-1F0W@%2/4RJ^*>&['UC\@^XC,$QG>?__7X=[^X??-D807 M!3PNM,'682]H4R\'CJ?UN3A_RG1#")2*,8O'KLZV_-XR39S>M[@5W]+>=63S M]9--X;JR^32A37 JV!M3"9,K12LCG%8)48U N:"6ELQBY6)8 B*A^NC63AN9$N+.])YQJ2#ND]6 M^>%/EQ&,OE-"*JTYG(HIO0L+B-B1S3,FFU9Z68;*3//L8H.JJQ$Z+TU,9X0] M:[)IVE@<2-)T4]:=O6;IU!EGC!N/#L63NLCAGW_&\YBRMA8FZT4_H))=@C3# M5 ,?=\[>IEFX>&W\)_;*X4)>%HGOIY@9 G_\,(VKCC:?,6UR##75Q&X"5;0) MR&D^^KA1SQOQV0F%,\,T>@J8>O'0P/?>$=@S)C")[89>)QOP7979\3T'0X&: MOB#M;':T\X5I9\H9F/,:3#?D4*".7Q3QK+^:*-H3U?9DU2E9Z^'[3?EIEHP! M9MUBXN' <#37?R!ZOO2$HI*:(N&FQD&B>>PV5=S+,OAKJPN\8H?QEE2^0@87T\^<,_! MZW/)@&]9(,(TR=:;2G2^YF6X.6FE0I@97@A$/8%K6M)TK@PU_MX][&WO#WI[ M!SO-5!JGEW.RC$L 77DALW5;/S"1'#HN![25H%<(YA,V!\'[4,Z8HM'E!@64 M+?">6 /""-@B(L1*&8'F3U)>'6?9M>"P&:K-]AL!5-.@/[)N'24,>VO"),4F+I7.98Y2I%)U*GOZXJ4TG;7E;W M'$B7SDQ0%OPD73^ES%WE'PRG7;86^5(S:Z8AN=^=ZZ7VO0*B=F5L0U+.LI8; M+::MU6>I4@T7W;N,=5#OY'D=EGBS MHGQD9BDX@"SW4KDYOSV57-LX?*)MC+I4-FD;["H%%HU$;4PCA[=AZB_5M!/U MK7P\IQ_B$8L1%<1B!_B]?K5*GML1:Q6710-L6:'@9:L6WVN0A4 66/HMA\CU MIVT<0'LX_9.G/,Z9+.ZPP3WW>]CN4?O!DA>:GHAZ20DELPC_IM[3\-4&UKL3 MQO?<]0TCZ;ZBH95'__!83])]L&Z7DH*'^,8T7D@%P9S M(,B0C2/QG,L@"8S=*RD4A)LNX_9Y^(CP0#.$-O7B*PPE8I.#A)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<\FI0Q6#B9"G6BU78">:LM>&FB:#J;$8? T^X&Z,9:YSL>,K7XH M#45A@ANPK+P&JU;>I)P&'%=6_!)VPO6COK/#'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?9V 5X0_ M<0N54H$_FDO46)\&QK(849:VB'T0L)9M6"H]E04IDM"Q/#[HV>!2;.S& XM7 MN0C,RMTWL/!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+@4P]K[@/:PI/'35WTA$:.X5P:RQ6-F-L>@!> _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(XU& 9UTT>PDG'-T^ M \>)2$Z=Y8XM'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-$#).+U$Q0M=:BX+Q_4BG?AMS,D5)8UIKRQ#\/0,PH2ZW5Z@&^#U*6AM MR'9NY%?:V.,V"HC-*O,R28:&LQD()QM>&TDK4WS+$0\?]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,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"&VXV$+:-\)CDC;R(2IEP=I9-U9/4&-*C1@[3YBBJ>$ M;!"EG..WLG<\.,=B+V#&H),;KREBR*U.T !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]#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>CT$+ M^_B[$:Y/1LXY0,1K)(&7ZG4X?=<>*-^JIF2KT,1BLY_LK(>Q]CDV=(N#+H:& MT-!JOP484Z66KTTT\4*@!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%_]'>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@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'5KIF#)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@[.[LB M5.;&C"^QR/F(W1R1[GGU,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!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_ MXS0A&'8]P=73>I _0F<7@$G>W!^%_#-.>1-BE.7J%>@&IX 7#@HX$U'-H M1!D2>Y]*SE'%QS1CF6E>\0:O6-;.![W-@WW\$7_[!0^W^^U@"!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 QR8; M^JHAW/&Y?IG-?;WUK547Y/VTMV>^NF#Q.D^!>! 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%)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^&?05F:1BUP"$(>]YH((-MD$A)+%$<%62SA^$J]&00],EP%>E&3,7ZTKV6;>(Z(TB6[&N#,7Z!GN6L\\ M8P)U=-5"H2@<;DF?0GHKZ/,&#[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,^7J',BJ5<"YX8&*K)C$Q) M&X$A*H>GH0,$)^J[:4PVY?8EC8U_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:KMWX8>/HQ^4;A@DP85069A/;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$$>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]97,%-L"%^NB2,8;%2(PGOW>..,_$*(N MSP0RFSFE2C[@3U MPR># 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[.,_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?TK 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(Y.&A? MC\'OM#D$'FU0B?"DDU#UC"=)O0)V]6FI#L:7HN1'\0T941^I[RB&,1D4IYY3 M %EU1RY"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*,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; " MS7_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+Q2U@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'M.9VZCEJ3UK36O!]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]\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?[W[_BXK)_15QWLWQZ2O#'I P]8UU.'OYD%LC(I\:2JA>TS&U+D% M128A=$9;4P\'I"'2W$!^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-"%\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 MO(:.%!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$"@8&6JQEW48,L@"4:WG!8*(HO"A#E?.6)?L.KH:%*\ 0RU/L MH8<]0=DDFN5)*9 H8S1'A%]&M$3RUI*WAB D6Z\[27O\2R2D9(/=X%)9HC3DQ<^YJ!4)I85&;SOIZYRB\$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 M0JW!3S["[&MA:$^& ZI(Z@715CPI-?M7O46E>WW( &11,-&<;W*CHNS5F(!1 M%B^A:LV)(EU2E8FWH%"VMO9D*_,56CM&.#!JBL7*GPJXGS[H:!5A>=#]= M EK4PQ5F]XHB10[U4\W.&/@])E*SY%XZ@/TH(N[X95L=L.Z"_6C1'-5!YI1Z M56><]*(9_@XJ\R*/4V[/Q>R5="D?5^7"Y!>P(%/I1*:>O,1XK2H=CDN =$R) M&53A"C<*9V&PD]5Y,=I>CM]-&IC]"AE0JCN!F@6G>BQ:4WV"B?/ _)]I;'-, M=4.(*OO.&$,'Z+O FX'M2N()EV!I;<4$2Y5$!P"%;IPPT[NHD176Y(C41!A5 MDYE45K1P5MJ/NX)R&& M.>S42--CN+@ [ECX"(4]EW#C^;/G>26U.;;-7,$]-%E9*0SH95EY3;>,CHT^ M/S:JB4]>"MY(R/591Y))<6*:&'N 9%[ MX*&,*250XFS0-<)A[>CB%,1G8>8/21M]-%WOG'-8&0N!G07A'[E-.]6/IGEN M$7-).,Z+A*(]'JH5%IF@!W%4>YBQ7"4L: F@P8NV79?-L&M+L;.6)TNTT^M' MJ!FD0B$-& LN>7;.?)+]JY#CO]Z)?JG&?<[T.$8'H"G%8L!EC,D[B:P7^(VA8>>"07BDX2;H>'F^DE=TA,X>SLJ'0. M,C:_\"YN-9.1@7>$Z@,'&(G?)-372T*8DO""]S!,$B,XT- I$&#][#+K3**6 MSK6()\D.@1SO+@]4@D7X"P.#L9,>5[&G'AE9.RD^T9,N%5EI,K$(>_+&]44> M[7Y[L89HI!L4_5B;=#Y%9/ *4]!A9V%UQK%B@\5C8'*!#]%["E!*A7PO>G%\ M?K(P+R5MUD'/@$(?:S*JN/AL0=DE"EMKGJ;)V+FMZ M$=*J9FZTTC;N132.D9*'<9GP:)PKTSK98$QP8F>"PF4^Q;.YP#R"01(G&+3E MV5Q-"3U<.19:%A25YWQT\B5NR.C1_?(X@<&29;B?'\$UC\'P1.!"COF#@:^;T<":L)V%DQ58Q!0_!ZN(9L8 M"_CK2_NG<*@] MXUH^LYSF/\[AI9BA, J(O5&/:L&A@J.O^5_L_X#U.#TYWAML#7:_W1OL;V^V M/5([%'I@@N3./*F!X\$C?_MEL+^Y32/[[9<[/Z4!/>#6WOE([O T$>7GH#Y. MHY]S,-.70O%>V/U]G%PI_LN/<&T%%R5Z*##YK:VW\_M\ M'KVK08(+_#(L;3AV%/%)6=:L4?YNBB&^YY6I*RP3*K .]6-%Z4;3+/EH"@*% M^OW5"8^0%)9?&D^$YY!T2Q"Y29E$=%26^4A3AG*$MSS"#-&TN6(6YE-=85B\ MSD7K)=Q=3CB]"C-?R\HQ(7_2.$DBH!Z3$FX_DT*$9-'3DA*C&)Z2Z70,6P [ MF26Q*JC'^6P&JV/'?'+M'L*V M.0Q\C!O';,+1DN(5 3U5V*JIHG7]*E8(_(M96/&&A1F$ MH4NR\?8&%IB46IHM]SH:(AO@[/>37VB-8)_[T0FH> D5X@F0M\.-M,L'8\:3 MP;U(,#-$1 ?.U45J"E9U:"CB621OJ:N$QK,E'+] MB-:R"$OLUI_8[4P!E/7&@$56>D2V#PT/PZ]%Y*%11@ (%;NU:T> AC.AN M*7F67#?#/E:M=E0._ I[:1W!HL\K4MW.A)8$AA4.%R?XT$D]179=F8_1>4R1 M9E#=?HF'OL%A#S,QD,AJ,<%^'),VRP?A7\<]RV^8L[2L2(PY)]KV3@0;@\-K M 5.XX4J-VFNGI74)["+"@WG!]/ 19.@WCL(T!O:*].:735F$L$#,PKGD7 ,L MR"NHL9O7E4GP(;C725UHQZDG47*SUWF<.X_SER^YN4\P@VNA2Q[4S,+U#5N< ML_O=<)UE!8:^"B^N[$36,48>1;BJ4N;MU94&546H#54YQLXS3+0& 9O55%=3 M4+#. JXZV$!\,%KW?RI8(=HM+L/)YLJ4JX?UW;W8S\V-O$PTB>"[:3*&I21G M^\'6YO;W_@;=(7K!;_6"[,04,#=9OV"60-\$C&/3N?WEFF4F4!4Z"F%V PE? MV)A (^# /'UUN&%GT!\<_-U?H490P3N WBNQXFD"M*6KII\IHOT=,]XK6*<; M>9X7O;&7QD/"F#7WS #;#S%=B(&:VU&")Z":T9@[KOR@O[_;+?P76/C#_N%> MM_ =Q3^?A=_K#[:[A>\H_ODL?,?C.XI_7@O?\?B.XI_7PG<\OJ/XY[7P'8__ MO(6GC+PPTW ._WQE1@:K4/G3]J#W/]\./1KH:/YQT?Q#3MR>E>W[/2J#_?[! M[I,Z*EN;@_WP''1TT=$%T<5!1Q<=7;30Q>']RLV_''!]$ K1QV &X;!(FDOW M-0G8%4KE\O\_V)1N/;,U][0N3P]Z=%!]WQ[HYW=[R[X]T=[Z>TK=WQ7L_Q[B+_CXON'T.VRR.B MUA>G&2\ MNPMXVPLJ2T*:_ZWGO1B^80@ OSW))+EW:G^OT8C M8R:3+T[X1V42WXI^;QCP%V3==Q#)?W$2]^[K:V(34*VM7_B]'2 3!-QI!8!S M-.@=;NWU-@\'=^%*SWE7'\;E=\^[NKO7/^@V]*LZIKO[@][6P7ZWJU_1,=W9 MZF]V&_I5'=/-P4%O\V"[V]6OZ)AN#UJD:8NZ_L6U_0TCM!A?^=Y;L]3 M.4*;6[W-G>N\/5_Q'CV)([2S?3MM\]$ZAQDJW(%[M^JCG17T)>.W#\+Z=_=Z M@YW.G_%8@[0/(D\V^[O=AC^C0[YW>-#;W>MB"\_JD!_T][H-?T:'?/]@L[>S M>]CM^3,ZY%L[+8;[(_1QWUS,M"JG\/&1YK5S4;J]E\FTL:5M(-%Q7B,^_!.A MT>W>]N$F_'===.TY[W(;(WIW8F/>2]O=V+W=W9Z MNX.G%?7J3FQW8I_OB=W:W.SM7IO!\O@VL3NQ]WQB@Q;@7ZAWT7WWP4J"Y]'? MV@3KFW^\.3^/SLT%=J/[GV^3SQG [;O V M*2_UAKV@!H#PG3;^'G.C=^T\GV0ES"B%C]^>G!T'#Q?YE[ M);75G,([<\P?HDZ3HQ$8QMAND1M,ED!YU LPJR)L@XV=M:2]J-]*B]K9(X1A M#___@(:$"&7<,K'*Y]&$VE/:-TMC;%S]DECGEII&-J.)#]_A:\::N_QV_>@S]N_^)U=1R>N=:.);9P##H'1U=Y MD8Z!QQF:$(R=.XS':0^I"%: >H-2J]R*SNY&":1BY"F&N[H*54K_:,17QMYH MU."9"1V;F-/+D1_%T-VV O,-1->Q!D=<74[H_O\IZT11V9^.B M@+^E3W!EXEF)#2YSVTY=;LKKRO8Q1JK3?#G^] 98$;SK!+OB:M-.K'/9.(M' M2/K4ZQMGLS;>,',-^)",DBJAOL?8C-=$PX+6> XC@B6;)G/@$SGMTQIM;CGK+"2:#2-L\QX5[HFMK!193U'!M#HD\<= M3Q-_S$+PP[I,,FS*BX-PC<:Q[;(T\,6G8BO0Q.N0/K/]6+4+N>W>JWU"JR). M,FK/B]UO]=MAD9@)-^W%Y6&*D"O[T>NZP(CT+"^ !/)@B7$A@/1A2G#'U,27 M2*HPN#G(==K\5!K]48_3 D18Z?>8Q96))^:BIJ[ 2-Q\'Q#]A>E'/RSP@'W$ M%XU2X"+P[*ND8C+VR-;KB*TMWOE\V?:IEJ.WCI^7$9Y6S[&9ZQB)7XZ]WQ,1 M_A=CVUALC M+%L-<>KJQ]"P@?3/!?HNV[;8;)-.->S$\9#+!'KW4"]&,_=,6 MGC+IH:U'4%IU2Q=OKU,W-_0^FN!MM"+T!:MQU.9[;2S3LBK;\-EGFHZ!.>;& M?<1A"0RPG<7![ M^O[MR9MO*Q"DN&&P*O4$WEP7Q%J\L:UM72MD[I5'6#A&1U)*>[;'/7>FKA:N M,3NO>UQY\P>6 OL%LZ>6SF.D)Q0V(UTV;6*.1(F5J+,<93,P?[P)1%R=V4[A M.)Q?3EY%*2K/1.3\&%"CRG9:(,:,O93A:B"#(3[1D.3,DJZC,#>N+;*!:Y<6V1P<35+428-\N^*)Q'F0NY4>3UOU6"%,YIEX(_+[^*/A M)MRB59$(NB!FJ>H7V"L3@^W*Y?5C,\/*6[S=9&5=H)"/5U,4O0K[B*.1AO=, M)E:G='M//WG*J=-1@G'3Z(PJW%E^&3LUQ^T$:(_PMJ2<^IWJK1@!@4T4R\Q> M>+10&4HY)-*5B\B7:Y7Q'!?B:?3*WN]Z9>R"!'V-X>?S;9%!DZ:[VDG6?QS!!_1F&?@+%'LE[4;-1:+7M;X@MQA+88 M_("L!E?0:SK-QY\5!^.Q>^$B\#(\B04]4"WR;1J'9\8#XU-9,?8MTQ;W $XE M'DT3@TVR8ZN9*M.:HL<"AGP,VO#8*73OIW&2TJW8/9P&E*HRB.99 MKL%:JG MP#+A/Y9S,-(='?)NK_$[V>4K7LZVN:X,O9;5SQ+V(*J (&07Y3EVY8>X>B1\ M2I@?CA%$[1:&^Q3#\4\9])*O+I5G.[;F%) MB?;<+K=?L5#]YE&I<%WA1>-INA'C:6X\4,GL^*>"H_)A5['!M?D@8&O"X> M+] \%4LF A[Z$40Y6:1@"(GS(-2N6?>!EP[!QA+M%#3_/$.IXLYFDJ$_WZ#" M#\85V=OR>F=9@Y)IRC(OR(A&JS=-^+G5- &M?AX7K._Z5 6#&3? M].8#C=7-V[,% UHEX_S;]_XUPK:&?Y MML<HHXIV%5R>Y)M4IAYG!2T /!G&K.]@TM&[XC, M?^J$E&K8B82<%=:C0AQN/$LRM(U)X%O?D[[SY0 3 280<] M=MP48 CT++?JL:<"ENQ;-)G%[2E;RIL9D"6>W-_ZYWW+_L4UHU* ?L\2I)N? MX0R-\QGP./,I&>76;>/QS5-8'%:!?H6)#Q-F?.135)([.3ON!384[6Y9FBKP MHMF-C7SGB_4J PV36UA=T($WC,ZVT"\S"U5=\#7R%C3ACZUBH_Z%U:-K&YRE M=&N5M45B\JL,W[:V T]F3E/,H%^<9BC^>8FQJ$Y*EJV(MG&-82=0WI&WP\$% M)0>D(.SKS,"O9-A;IPJ0U,)%G(#=@JU+^MNE*=G;P@H823Y[%[PP,.$Q_L&; MRJ&&R:*YELPKZ,R#@>Z\$.%LV+B? O>'!3,@0BZ->RD(6@SPEJS2^&$L^B7! MX>")4.\L3?0".TUF3 F@ZX&HJ!(3"&6\5-S.3)I*2NS98M-<1/4]O9 M%%$.F 8Y,^SOR"F9PG8V?VF8V=_\XYQ(^DRVX97;A@?F=!XM'Y'+])]@9V%< M='O0(SVGYW.""!T%:7X1O4"?-DP-B M=HJ*SQ1CE1HBU7ABKZC5.[#R9&UR5 MEVJ.D(^I%%$I+ >]2A0?G2-#&$N8XSA-)I/H75)^C%XAJR5Z+\C&8 7-RU(MV=O4S:RI@9IBE M:8[-W*#7+><9D;,.-ND*6"^L@5U8+QA + +=?A/2J<6S18$)> @O.WYC]P17 MF2]*49N6 /$TN9AN%#@.GS70)I?1B[JL*6I=F)%)YG03ZI4%:A>%0^WQ MN]?NR.R53;=S>YA/2M;D+!G?C>M;QCL8$*_E,TXY3_;$<)X7IJ#$\])\IW_X M,]ZS$V3:)9!3^8(IE[X)Z-O+"Y-KEFFU*G047DOL;VY;B[%WT-_ MYUO]0==D_DLL_$%_Y[!;^([BG\_"=Q3?4?SS6OB.XC]OX?V*7@O9O__7$/O= M=.^QVN%SP?G%=<4.N!_83<0?P)3G/\[$ .!/PP7_RUWB_K\'Z$0AJOAS[H]W M$[]\X!FN[@OY@'-F5O6$NK#(:>D(X;D3@C+(CA*>.R6T &K<%Q+AC0ZJ>U"@ M@D#)0T+ W#LQ?PD-;VM[>OP(;H=?6H[NM<[ MV%I&#[LCF-0ZY$,0++\'<( O2F)?(R51:L/](5%T^W/_:"$[UV%#=OOSA;'$ M>]O;RT@N3TF%Q^2D3BOX&FAQ:W,=*++=?JYM/WN#P3KZG'4[NKX=W1X\";W= M3V7MU(['1T@'U[+Z;G>^L'F^W^W.X]V=06_G8-D=]I14=JH?Z#2"QQ8+>A#[ MZ=NOQ_-?N\NG^]': ZLK2?$&BAS?4C&CYY"[PYDC'#S M@VZOG\5>#P:]O?W];K.?QV;O]G8&!P\(46XK:;6ZWA>/?G4?WK9N_'(9TZ]Y M9;Z+)$N3T3ZU,I*+%@LS1YQ8 E68&@1_*$LJZL:G:R6U5K;[B)BS)$.,@X4% M+"["0L0CZ2(_@ _30FPI\H+A!R*JRH>3E\7 E\LSB4_+")XW M1AP.Q*]#9)A2 '<\%!\L\&\@:2"(QM 8#TA5ZO=AU3-SD5<) PC3ME8'@_.!>$J8'+[F[O>-FWUX"@U-NH>"9*JCX4B<0GX[ P- M ; :AO)0%--PQ!9V(CA[<6L))7[_+;5L0_K>VF?^\$=YMY5P#W/"KBN*+8CA*XHMJ.$KZ?)B^[.+X7T/.V/96EY?Q->WG5F]WL]O1KVM'#UK.Z%<:PKP&_U5B+A8F M^_CMJZC$ %S-0+8M(-^]%1&67G054ZNT28[QNO*[!QOQ7VE>_<4C/P>?&?A9 MR3,V^X<'G=?D"[BK=OO;@V[AOX2#MEOV+T3O7="YH_=GL^P=O7\Q>N]O[G0K M_]A099^02_#$MV?.U9YY\>;#_.7] LK^9:W\00A''W,,@QP627-%OV!L[29= M^?,=Z7=P;/RE#;W?X3_YW;Q?K_@3W\W/95=;FUM;%A3[08,[7\'.W: ;//:C M>"])&B)>GI!$1@_A0U/V^EGT8V#&R,N>%B&L+ GL6-P3W-#WV&R2&A(^K6U] M.N>;)-Y3HHB'2\AX(+OJOA%]UH'#M@:!MSK_Z %CX \PJ?N&8=A91F5[D/U] M:(;7[6_K_E+1YM:=&'NWQVLPTNX;Z'ZP M?KOC) _F*JPOU5U?(8N$[]*.AF MOK6W0Y7HDR*?88_RHUDTSXMJ BI%CL7%/Q3QGTF**L88R[]_?7^&I$&*OR?4RX<-J*VNHEDAVRT M-33V:MS_)PD5.OS[NP3KG$?\G#$,FBNPOP.Z-P7F%#=_:;3G_N8?;[EJ.[N( MSJF7\5E^!=,]PXIN[E%^'L/B8);,"=9M%\D(-OU_ODT>*(NGT0;[-+/5WKAK MK3D\5R::QF/L$6^W':N[N3,SS6;.LP%BL#7JKD+\X&"SOT44M*+<.GH+;U7" MN,"*FKN'5E-\4&$0ZH!6#A82,0ZB*OX4 M81][&//84-/Z/(.W( :"/[QHE,9E&?T0E5-X2AE-#9RDX2*J>;R,1 ##%?B$ M>)(7!"$ @X1O=3KX,'_NGW..KL^IPNUBF(8[$43[>MYC)MC33_S:/^P?'MY# MT3]V1>^BHE\D'MUEV'V9A4>2W^Y6OB/YY[/P'/1U(JZN.#IXY'9QFX^2IT\%G M)>X\CVU^8SXEH[S;YZ]]G]]64U.4W3[_)?/S">WS R:.WY@]\2A2$@>;V_UU MY!;?.[7?3Z[. \WV1M?CX]C[[>W^?K?WSW+O=W8/NKU_IGN_O=M?#[9DM_6/ M;>L'FYO]0;?WSW+O=P[Z!]W6W__67Q]Q>Q1;3\437V_IT5[[:BS7W[0Y<*5O M8G1>S[$0@8MI3'&9C,R# N$V1O[!1-5BCI278C?&-)7^@S"?(2Q MEM-D3I_C""N07-&%*29Y 1>,C'LH%:=/!)//"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#U6P]780]4>\_@?MR#8 M!'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-+VMXH6C-$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_@T*.2.@&K.)#VO\.Z!/HI@3:' M!JL/8==GLZ0L81%QZ=I(FA8HE%<&AX9;96>,B),_:EY/F@2_G?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&)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/@(,.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"=O)7>&G^'XC-Y4^FH' MCTZ.L!WB(S'[\MG<5+2@#VF.7H,%\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 .[W+!:@_M4K$@VP&40GN/[^>PV\/T M$BMUP(;":N"G,E1RV>'[Z:1IS>/30CO$:]@"ER MY.&4UE/4'$J1"OEB8C]H,](6$IOR6*1 MLPDSD/77TZ9J/B:FP!UU,6*X%Y(H)"IIC3SR%5TD1IX,#!QI GR*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$C9.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&&TWWF,76,^6MGS#;^ MR]N>4VH1!]+'25D5R; FWCR:8L \+;^/J%W@%Y/DFQW!/ +7JRGA'Y@PYNR8 MN+"Y- M@(_-W&1CCT*FC.RE631]G<9)1)E(, M*U'DH,BP*H6N*!>SGL*>6?^E?0.EFF..(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,D"I\DPGE T1T E92:/@[90],X2UG"25#3RC BS/2V&' M-D#!FBT_38.CEN+([JI'(]B723Z46.1$&SS8$$BS 1JCU23*/5D\GK=H4I>;\8ND8NF8]42 M!&]DY)CL,H&74=KP^M.63CBO8-V92V]=(G')KZ8CC*F$.+0-)-*LQ.71/&-> MZ*R&57DL]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\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=,,Y[_G_3H HO6L*MC,>[HXEG3A;.B6.!<8$D,J7!1 M7%?3O'#JZT>8V#;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=!O1C>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>/?"G>0Y%1)QCK#.QJQ67V<684=X-VZE+2*"S"4D_%'V%?: *#R]@ ):?0 M>+4#K>$369JVH=A$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$%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()?'IDLGV%0^&$ VKA&3+5I)"SDDIX(P/)22\EM9?6 M0X<79.Z-82 EYEC2/7B9M0U"-%=WET?4#&TX N:1-Q_@D?42,8R! $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=56F1L$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<_W9K8NR]]''*G^TSF,WAET*HY4EA]/S0R]R&7TXMW)T?%/ M+]#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!KS<%?&4DH+L*J13%W7)F"DQEJ>1KQCJXMW=/&.QQ_O M")&:4Y0 R 8\SD0UB+;<"-G48IE)+77E:.-25VC2;TQ-'.*Y!-?HKYPFD*PA%J/\,F8;E)*234 MG^::4E7%G^Q//O?S^7: FRN#M%95BX>FQ1ZQG-C7<]^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)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 _#<,[UM]LA2%DG,Q MQGC2J I;6&WS!4Z65 @Q@B@(_>B\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"WA1NPT']&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!C-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 -% 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%N"8G0(C$\D3C#=A=GZ.(,3RG.*Y2&8@,CSG M:,/7H&P.+35@?B1\E$TU/#Q+:L4YVVW6\%,7([\=$P!*R_IM\@IR*7G9Q'_9 M30Z+1HB6$F2C]LF M$C8*FVA9Y>%4 "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+10]L4]??U8\W#"S-H@ VM-R39'I4UC#;IF MPXRQ!%Y[CE[%$UEB"]#1L"29OO-CO6(7XP/HMR:4*G4@5=\DST, 4F3Z4#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'C11631TN#-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[V&3\7;_YG$V459<^ H4XV=3S-(]P8_P87S%^7Z8VR3;-79IIFT[4=Z7Y-D MD:R]$Z7TW?3NH\FP8@:!#AR]QSB1FF(\(X_BPSF%*]F,>"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-'&<-8?,@N$N;(!5RZ6Q*>GFBQ,#M]2\\0HG4B?SX5? MSC1Z(I[YGB=I;[3+ZV+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]E;I\CC?AJG<:ZW!C2B]:0ML?'2H,[P" M#/;6U":=[A!IS,2$Q.!Y,U"YM>2L8:<5HU5Z"%/WWQE)'"+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+*#;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\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<(M56ZV@D=BSTAE9[TVG[>@]/0]>\!$9A&I&>,U-BDEC4G&8I/7+6/T- M' "!: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+=Y0A0(!%C&(,TEU<\-Y ML"B?T(/D.0A1=U$ #KF.5L%:>+I8LHW3-388Z";_B*6U#- M] @NMV\/=B+PK73^"C:N.8'I/LKA^+++/?\"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$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:HRS-L:F_="* S M,CGH9+]-5PA(&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"'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^((#,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;PN;L:\_)>D4>Z6V=U81=A318LH,SB >GK#A4M/ M[Z6KKT@O'FH8*VNF(5_D$"TDSCLI67M"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/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>]]\+ 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^\X,S&B@IFUIR6C5S MP+R2]+.V5+-@HKC-#$LQ&A4IDQU!]>>@Z50&(A#SLXI;A3TRJ^9>?9@70@7& M=YXBC!T;*WI.4IOD0.W,UNI; M+2;+]DPMW>'1CLM3M<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? \??_B9%EW)<)3,VH,QFM).'U6K=BU%A M2@JZOGDO).B N4!VPQ\5)8ER,\GAK-#1=4@*)/P/D]:,6@E0+?6X9GGF 0 MQ2QIL\]'C60BLF@O=X<47QW)-4ZH'L&4JZ5O#0T34U&=O7B(I\R"L&459 MS*B?6\>34D6Z$Q'/4[S<>F7E&CT;% M7"/*V_CW(KWEU7>' *NIU5 MMU6*@'I"NA'HBF+Y0P7,:%*Z\&S% K.$2^8FJH%)^A"W3$G[;*H@>\8H_68K1XPR0: 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$?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'OC81Z^[+ 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.+XZ_;VTC;U(&N*C_CG7(;=;;O&6HSV=>40'SY>N%MX6I69 M8A=V2*U3B?E6Q(F]R7FJR..SC6QO5[B;]TF-IC% M\HH:.","OHU'*]G9'M'+WC"GPX7I_K.:/>,HNZQ(P9.,6-4A3$Z1K3DZK3&3SGLMPN1=.L7**E5.LG&*U1=93\U:MXSU.J.\"MW*W M<$C\S:E6#V8XTM3;NYJ)>T0L>\.9#A>F^\]G]HR=[(D>]?S7RW.G-.T2:X(+ M<;=PZ,S,*4V/P#%_+/Q3Z

";3'!=7]YS)[QDSV1&6ZQ$(3[&SA MU*8=8E!T28&[B$/G:4YS>N"4J \TJODG .E\E>O)>XZ-_U4:+;PXF*GQ7SX# M&&/L82 C7^HK/:=VEI9-*9-@7AR7]N"<6$XCG#.2_30;_MWI M $_.F7Y2*3RR<#=QZ/S,:6./XI0_+[#)7A0&+[P/^<+[&>= JO%Q"?LML"D# MYN."[/ZSG3WC+GNB1E$[VUCWX-O =)P,WRJ;^CLVP_\G_,?=Q:$S-J=//09C M>T_M.-]YS]_'.8Z5=!GJ3^&'/URP[C_?V3/VLJL*U67QQS0IO,L@7F22IHX3 M G"ZO*D\7K@ZP)W4LERR^D'PN<&@<=9Q&M;6!]RU7#I MZX\G9V"U8)Y@?_QC@NP^\!^G9ST5]SF?I+ E[_F'?/'"\!XGTI^>65FWXZ[C MT#F@\/]D 9_A!%-!E0ICO-ZBZ,O<_)KO?E"?]+P.TK#"F*ERPB=]O4( M>^7+."ZP[C]CVC/^LR>JUT429S2L"X=>6<6$/__LO"E/SZE<+>$1,#:G<3T& M8_N0)K\KG/'MR@E=.:'3H)P&]7",YO+MGX/9_-5/%S^O;F;U[R"6&.%4W=I. MS\ER%R7I1=CLB[O^)^P\CB9'1>,]Y_K[!ES MV5GUJLYUC"GGTJWVCV&Y6SDD%N<4JX=A<=+MV/NDKHIRW(1.-OV*7-,]HJ;= M8V6N#\/>,:(]XS<[JVL91A2%QFGE$MOW@CVY6S@DAN8TJP?9W$JLQK?)4[M/%MRMW!(C,SI3 ]C7WQJ M>$N=9,9)K+)C:ZRT!<9TI)#=!V;3.W-*TY-. ?Q7J/(XF#DWU$ZJ5'([[B;V MG],YM>H)>ARS/^I#&EX'N=K4G6^/B&;WN!3H5TZWVC>.LV>,95^4J\O+>B=B MHU#=/A6BNI99QFOQ&O9B&R=$.-U@=UHBN[LX)*[I]+1'U-/^GD3X&NS8 /!W M+=P?:Z\;>R,?+F3WG_OL&9/9$YU-N(_I#W>'1GQ.J.].ZSYW%X?$XIR"]?@^ M_^>?ID$8!?'XA4MUWP+WTM ^+L#N RL:#!H#^+^V4[FVW7RTB!5K7<^Y_?N= M.9&3]BX/?K=N81\8G=.YGI3'_1 D^3UXW!X1T=YPK,.%Z?[SGSUC,WNB8[T+ MQ^-(\7R)U^\NG!Q_>M[$_1N\\S08>F]F81KD*G/7*_@0;\O_=QX;<(RK:/1[F]*N]8T![QF=V5;^2084_!M;K, N'813FBY?3<#Q6,=U.O]WLO%KBDWND M<2$'>I>,BPA^\?QU,+D/!W(2?1=XEKN%W>%R*]GK:WH6K_^TZ3"+[)IQ>/:3]Q&L=O3R]L[+M@5:W".M M<3^;@.W1'>X_HW7:YI88[>7EFTOO.7T8O/!V=.C5R MM_CD;LX8W[V[V']6MV<<;7]UR/,L4Y7&1?LVMWR/-! W[WR?;V__F:K3'[<6 M^,ZG*L7^^EBOELRI/NU:>;\VSITVN2NLLKPD=R7'P?]VGLW])0^&D7IX;+DK M?HS#Z[_]%?ZC?S>*5) BG*:R^ G#[&4'7R)0:C:??3V&6_<_ NU3I?H4[=/R M]@4#N@-KE_3?__V_[-TNB[:5.AJD*/I\$$WCSRR"Z M"1:9%AJGC>[@V:MADH[AJZ;>%A[<:[4;9\^\\D\\_A+L9L&7$PM"@CLGD9KD M+_E7^B-"?/U9DH58ROPR51')#%R[LBI=0Y[,'^X.+)+#_]\K22[PIJF:_,]W M?_KT_F(5 [KK&_B?^$.@L'061/S)#5^&?&2A @+I%>:1 S5XR01KOG/ CLP@ M:W 7A*W"?PFP,X"CH$.KU>CRB:VU[G["1@E%32#6)WA7]$_K?8W60,U6[*EZ MG7?!;;TB(O32?>!&#NXT(@)T93;_W;.V>-3N>9ETV#%& 3 M9,OK4;N" !9*HFAQDMS$\%56#+,05,=TH3?+*N2'Y 9^\!-<^7S5;N6=S4;K MK/K**^J&$.E7^O+@:?\;0$.TMC5$:+6M]D KKG_C%+&+:1!?9=."/;?Z9AJM M=9AA=?+Z\5LQX_X;:S>WCB_-WMT09M!K]-?AS%V ]@TXLUX>#2OKB?@8PG[A MR]<-3R>_#S<]2?@W5J.$>X:\A$L$*R $7EC[IL9HO_O;AQ0MN7SA>Q_ :LCI M=MX ?*BU+KWUZ\]L4\5F[OAIJKP)($1R@W@5XA5FQ6PF")$4J3<+0)L)\4IY MPZ'*?"^,1U%!&8AAC"/?N6$*_C_ZA8VK\!?JBB%B"!PQF4S"D?*&14@9C(0V M\"8PGKPQO(G_QGW$<0$O3=4\27-<^4=X#5])NWGRXTN"#BFX1JB1($(X1\$\ M4R_U'Z^^ EVTX.TM"UYZYTD4+)(B?SD)OZBQ+6>UAL<85G4TR&-]_JYF3=QK MDS73@ZX;]K?!^&@V^DLFQY__-.B=#5[5=U*S2VPUK8K#VU#:2*@(LZLQP2E@ M#J(-VMQ>D2EF*QXH'OE-XLU#-5*$6A&CG1?, 8._A(C/T<([;?IP!D:H[+\% M<#!OI@#3&4M;_75?^X"2V5R-4".*%D@)9G\^HBES[QL%V[MF-,_7$\1-F$^! MXO(D!U2?1$D"3!I,B.7=MGJG?K]UMF(_#>\W>5EH\1AH\>)!^5>A%Z2, M%00#ZI#RKE(0U$!@L,%_%+$"A:O9;X &1FPH"V;*6X#!B&_&;WQO/< ,K:YF M8'6X!>/? W1H+!_J;.#W^G4 :J@]"-C: ^ \*^%695CZG:1$W'&%KX'\I9KG M:C8$];3=;'4:WB6HL*!7 G3@5? ]?-K[%M#'"3IREQ&WU1WX@SH"E:!>">N1 M[BX'K]LL!/(E>-8(I>\/NMTZ#']3U>/+T+4M@Q0*WOF/N1,W>V MWM?K5;>R\U[7[RV1"-(LS14A?!TELWFD@5OH1.7 M'@VK>E@/9+9\;BPWVCX?["LE1$UE)PMB'2W0B^Z$6:RK5VT7O]_I+%]1>:V. MDQ\W)_]S,)N_^NGBY]7.PW\':+.BJXV\AZ"WI-XM/_))*D0*"%"C[2V,N<95 M>OZ@71<,V''W5HG2 XFRGK]G83Q"/;S5!3T\-Z*+:1475%_05L^0;N<%*#KX M.W@"_EOW2Q'1TZ]7T" ^4>,$0Y7?*(5\ PZ&7\$?;;(&C :Z\1KN:0(L\Y=. MQ^\LL8'GJSGF>D-@\T7>76QT_&:[N5+'3V; D4?H0934%9#Y6CV&K^ "QW*/ M ENPGSS;7IM35IL/F)%4O7U!9Y]VP4NZ^\=P./3VF7A259I0;+U?]W-\;+C MT\7979S]P>+LWSD5YO!5&.#!/P1)#FHRH-';&(.7[Y+X*HG"P#?RZS;^ M>YL ;;=/_<&@IENL=YA1E/)62;G1B=]?M@A81L)3XY+]KWP5JC9U>?DN6)"L M*F, 090E<&UHVJXQL,ETL?;-K\8WS!-RH%TE.6M$LR1.]+_O<+I>RS]K+QF. MEF\4;\$9)L=-U6S\^O7LALLB5E7;?'76 <:*OU%M[FV,^X$ZR1;$)G)?X!.I M0D:QBBS:?;_3[:X,'3)C*ID%&*B-?SB@"-1S 1A_K-Y5.$_U5#?LLH]WQKB/G M7?4Z^#DQPJ#LMG2ZQ!H/!SEXO4_8XXD M$M\2R4;J]?UF]U5:6B @$95=8D$QXQ_$M_\*4A&TR*(KX!]6;%7FP^7,@#1 M*T0WP[K<]'MC:G=0=T4PL^]K,X^6JB4C;[;K6O[@K!:N=XA^Q(@.RCJ/)B'M MG&*CB(F4S&^K#C6O8]-O]^I9'Y:1]??B,U#/)W1$2%3K[VAN3 LRG@QFAM?J MA"P$^/T,?_<:"$!K$V>KO(J@-7GO?EOMV"@M$U'^\VF8CJLY,F"?.&P_:FQ_ M'^=!&B8VNE==":=^O[L4Y*^G#E5#KS\5*II/_7)M;N[)22^,W&C&JYCL86-# M4^]KHT"W?,3/)NG0Y '7Q'@#&P%AE)%H./,'K3KA47)MO"0'B-NW3NLFANW- MGJ=J%F9<]H0?KCO(VL/KX"^MA@1ZW&3Z[]"E*Q>' MR*J"MT3.DC=G(ZU%SIR$P=LY\\4HKHDQ=-:! 5W$_#)CQ^#T'O>[O?\LTY-9+PH\_5+3TS%5R.V"KJA M-T>14*T:^&?MNEN)ZW37NZWIER =6IU![9>4A,OQZA6NISMI>3TVQF+O?)Z& MD:1"V25O.JNK&E?6Q+UIUZNMJK[?6DJ390ALAM[JU;K^::^^6BTU^6LA\Z3Z M;],QF2=G,F_C<1*K3')0M(YY>VYD?UW$&:4B%4RO>PBZOPE&E&4%P!3*:G#1$ M9A\^X:@M. R[<<*&]V$#\:R-86\2TZNSY7J"HE8+D=U-=&RY1$>7Z/B0B8X/ MWOP!%GWS901V,UJMXS##P&Y)MUCOW6Z^>@M6-9-LI^']4RV EY@6#U02WG[U MNN%]#+//WH\@EI,TDT_QH\S[B = 4S7Q7B'^H7C8HT MY2*N49"F(0;<8V^X\ K0+'+BH^I+F.6XN75V3@/[30!C!F8]5K"E"!AQII1N M'4. ^J'!_S0'? _B\#I4-P*/-Y7MOPMR MG+6&'?6?\:#9^<_I:>?T/X.N&O]GW#L=CT_[:C+LMK]C;.9?O/WTYMWI^:^_ M?'QS^?[G?[UY??GI_,_?FET^7_SEK=CJG _G!-GNUX+;X)D[/&W9S M'^JBLMSGD @]A#L)1Z]6+%>>SZ,#>OJ$-@@?@S1_ 8G],)UNO@TO1IWFJ>KW MF_\Y/>NJ_YRVF\%_AI.V^D]_V(/_[;:Z;=5:PHON^P]O/IY_>OO+3^>_O/[Q M[2_GOUR\/?_YXYM_O7WS&WSRX>/[RP]/BAO=!T -_^,L+$V-*1:MV*.&B[+$RDFDY/GTP S2*Z3"/U<)/HH,!FC,P#69BGR'@Z/ MXH5VR #$]X_#R425O95 4I'[-I\FE%D%-E4XUQ$A*5=;OU/R7_#J>#O7Z'\N MJ&L+"F>[61.OCRW:83FX&C8"ODGNHQP'20G[E*I8T/JSNW9Q8BEKW0U;VF<> M6(\SAB?Z"4\2$*P<[D(S'LZ7X0V4%7@2UJ6?TKV@D0485.+-1FSQ<"_HY< [ M 6S[\W^+)"=X>-V&=^*]9WR7NNO+ M=ASN,&[/,:*WPEJB$$,YKUPPYG@18P0&MP8/8?E%N,. M5Y;Y(.-1>CF&Q>S.;77&B4%AI=193']]Q1 M$Q^T#^$#^Q"^T6MY=Z_8#PI!B-41I[YNB8X.L%CE8(E>J[A0DD'&HRTH@(&^ M>F3P;.C.%3K*@$Q9+HAA2N2J72/25@S?04%OK '5=FV6PY-!.J[^7#?0"N7 ,QAX9+>^%H/OJ:?:.R,"N>7F:;O1 M>E:>0)J!W.$0=Q7%OG96(L"7?Y.9!^E*502?(2)BNP*^AT'M'L[.&MV[WP.' M)]KXDS6'_); []VQ'1W1J_&-0B;D8AE+Z$NJ'21Z-8F";.KE*LM-J(E#&7$P M4W.,V7FC !BK&-ME6AOW;+.XJLH" =IKH1HD3(E>&#*3VO75.P>_9-X1$:^S $ MK]=V.6LN9VVG<];JJ0Z_"9LB%K.&EU48&/ >K58+8^#?!YPUEL/6D+43J0"_ MR!.1 Y@CD 8CW?V,TAB*#$B56CGEP6<>?X3UQR-2WYD/P9E,YQE9P>=O\E3% M5YBTCM4Q(:Q4#EEB""9<\VGBO?IU9;/H;W6N-[S7G.E6YNE.X%*X&$?V4D;U M?/&CPK^O:GYX]J&NAGZ*20:UN'TP@D]9Y]#N-M\2Z$,U"J1,#UFJ\/G*;F%7 M83+696[-4RYS:_8W;5).M&Z?J##+BM]W&KTV+OG]::/=P;P$G2X3&-$4?-Y0 M'J WHD^'A+)A6VNVA+4H8S6** 42YZK- 3C2H4CEH70*(Y&&%2;2;-@D/WP] M+##;H)JU_GVST6V5 AE? 1^=-LU'U;(0LD3]2I4]:TUAOGKQSNG2XNW!FL6I MLI.S;ZP3DBYWCS-RNBBH@ 7%E@3.J/4/%>P2 ^"<\0D_("W/2[EWT2,D%6PT MC"XTF5\*F7\$,G]7(7.=Y<]D_EM)YMPE[&,MAG8I8/I0C:%)GY!'-K;JS!LM M!U6]&ZWB!RFWN$K3@'ACB$P9(!"S)E@.ADM@;0STI*"2 M^A7[B_,;D,/4C*Q+:T5\>:Z3),(99@AAB@327A++])W:STF?KBU19A]3QRYB M+]A+\V24@I$4X$6P734#+3JL?,I+"=/6=1_TV'RI$ KLK;DY@.;SJT]@1OB1 MWLR"R]JU7D3W_KSO(OQRX$83W4*LB$G-P,9D:3)"._*KH\$!VAN(,&.M9<.% M$[",F 1"%AU_.5;,_*"*:BQPQ5JCBR!\12XKN8S!&!A,AHR*0P *.!NP"/;' MT;E$\:^W4<@8U6))>F2FC?DU +.;%)U/8VHQ2:@-.T =@/KOHW[%Z"0Z"@W5 ME!T)I_+"R=*Z1# "ZX1R"H<*\\QU+@;OYD:9!)TG8&<_E5':RZ4H[7DM2OMC M)4HK+B(QTK?F%,)$?E8Z EM#\HT25K("L>(K@EN?S006N6X9[@W+QC)\K9KB:('A$SN!<<"<#Z(01)CGB&)O[ MON"WLBB#F";9^*C,43,&, 9O4!D6LUEPE5['AV+ZQ/U($\9X.1A/9"]Z*+:P%@GQOL MK2Q$6F=7+T':^N$\ 7)C0 19EHQ"\E-Q9C)R!\ 372%#M2P/7^^#[.L"$W1C MW@;^^ZW0@/RFY 6<" U\.,R4+SP>.:'"L<4Q:E^WHH*5R,%D6';81;;))H7E M,D(0E!J!T0!U20Z]9@DHIPT;(!J?Y9ARJA\:WKHBH,N 9,X[HA0)[4@W-FU, M/D!)T#U4L'M@Y48B&ZLA^0!EIK.54[/L6*W8SC)6U-.+PD4PP:IJ@U'A;>;" MDE0T>"X\7_FVIT-L=&6J+VI4V*/,A%M*C>W"L$BJ*M > K1'QDO92F1BGB + M75C\#!5C('VF'XW2EE>"T;_F/-4SN0T%F<(.;#_/O5J!_L)2?FBU@]RVFH(2 MX^=<<==\19Q HQW[TV"&YAS7VP'L3,F)5?9@I1R7B<5\::4?HD(@N^Y1[3B/ MJO.H/KU']2MU];=V+MRESH5[31Q@>VZ"]Y:N(D4'8JXQ!]52V)+M%C]J>.=1 M/B7;V>92.?8H!Y*[TOJXBM$C(#]7%&%"E0",=M'T5\24: 1!#(S+#-E(B,O; M114\AW;9? [^XF$TV^*E*V*96M+B.L$T2W:$$43K"@EQRL\(XJG<%3 ;_SZ M?91V]P89P;5PV@_'PHNU0M8&ZX8Z0!&[C1N!8,ZIWUR3?#J9D^*XC,382VY, MVA] (Z*M85"2'$VX!15K&&FGDG5H4"EC[B3#O7[8R"/W3:#EOGUHCHHS-J5J MN+!=%4NX6_JDG@A+#+EC!6'9GEXV"G?TF9>J]/X9+48ZV6$%O/ RPW@2%=@@ MY#Y2?KM,SVB\YYSG^=;D>6[-Y?!C:9]0GV]?.HD2VH.*+;D9Z#7*7/ ?NQJ)**?4<4DA]&-/K5BQ6C!GZ>4DO%,E46J"S+9$31N/XY OW[TVY# M>DH#5".M)7Z/22'5CR>/ *05(8M*Z.$))%X]@<70B*XWSKRX (4?JWS75!Y7 M#.$(2[,E$K"4R4Q9&-G:$F9=0@L+!KD,Q$+)*78C.^"?4*8A0MI1G2'Z#4;8 M(6121,R^")@ZJW*&YY*A%0$9LR>*ZS2OE>44%T^T2+^K)*^[>H.Y&&N;O0=; M ,3[8GWJ4W4: 1Z2RX,$=&VK+XY80" M,A7@@P\?SJGZO SAF)D(8,5FNF39MFF90$M[-TF7.LV9/9:WS_VGY&'&!%#3 MLM%4H40=F[P^FR9T%%4\ZAF^>PQP7] RZ(V(*/1++_/+CI9!&0C1>H(2&S:V M%1;-:28@9:J(LGWY5DNT)$QY7<.4RWJ^NOW I>AK6Y.&'[765TNZ7,Z;T\D7 MHL=S(F&9;;\6AL_30(+?D]2X8H@_ZI^/L&&OM&M0ZY(C2]_7VDS(504! M)":18F*B_ED"&T='>5[;$KM]N"L%!N@F"M1M,;:M%,,OL?P VQ!1,W+6A;O9=7[%[$B>718_ ,.?<6 M#H?'^-4?!JMF4W RJ>NT8^+)4?4GED>[-[%NCCH^:YVRZJ"6=VWL$ MKZ]W4?& 8G\H.M$EGTC_THYXK:12+6\FXLC-1FDXSRT'+K8&*6K!S]IYMZ/4 M7#Y4G8SILW*;VL,-13:YM]=K.D_G.\:/)@7E6XLT-IYBM+ YBH=W:;G,R:,J MW"6<*XH/RXW7*"6,C7?CLUIH'Z\VMV&=)*,45YZD 1 >I._=6 M=W;=:7_JG/;.:;^W3OMSJY+P8KF0\#UYY5YC(>&%*23\)(6$%UQ(N#7-WJZF M&2;)9VGU.02A-0DYZ]$JC!2N7CD25426&C4RH#3#;#)T)77;C4[%9V1G&5MI M$90\!M\ ]R/?O Y*2RMFS@"OI)$7<^Y>A]8(YEV%Y,4UZFDP!MTSI$@ORPO4 M!K.R 6F1:RWUU\:EM")\K5"\SSBU4(]H ^Z>CKXI3>M^^9BE2\<*6OCB*Z&8 M@6[K3!J*CVD9)'Q17;C#3:4%_BUY ,CRN+3-#AW/2I&M.ZNA^A=")0"733 C^K*Y3 \.QY%<\^E%LUCJA/!@XU&*2JDL_)L7XT(PI, M98VO$DZ=K!V>L@B3,NT*EV".Q\0*:HFZ\;\2%U#]R(*)NBHP7WL&*@K@F+[- M3)E=@9?_"'F*^%9,8\01)CS]*8:YNTK>]X&G= M?4%&8! 9Q\> RUEAJ803K0FPR#^K!O\U2!3 J,"(QL7:+*>XH "%*"BK%WUZ/2M!'BDR[.^. M49J]D>@>I)Q-S$,F;T=9T,U;SC1J+O\0K>IPS%45[&!-47@DZ540AW\$UOW( MH3DS!"N/$;FGH9I8[QNK42BMA#\#'5H%$?J;C(QPG.J(G\*MPS(C"9-C!"XC MY=%JK2GQ49#H(8(IG+#2J-\MF877>F1I2F[86[?FRU"NJ:60VGH(YV+P?6O4 MI!2(^G$\8%^@P=[O3 @8%L3%EC*N-0P9'@+!H35_(+_!DA2 23@W78#)%#0/ M:5RJ3QASC4VWU5#%J%4/TTUE!:=;ZQ; C@W"_WQ2V)ZVNR4,&&^U 1ZNFHYTGI)UJ-&O'R>=1VL8P)=B]8W:K&=.] M5<$R+^[B_;_>OCYI#;;=KQS(EOSH]AZP#@IK@:TNYJ"N1^B\X2+O&:GZW(Y? MVR=:OC>\GZ)D2'HY.]IT=41D907'ZBK@9( RQ"QUGV#$PN?&H&%5;QQF:3%G M\P&+N?@-V,O!>$.BY HG#HVR,B<4VP>@TR36>6EL41H?2 X:'(TM*FN\8/N_ ME*5X_!I3U2'%)C3.$ADV'66YDK7AG=L>,,Z5PU)2=+%(S$=7W(+^C(6FW.U! M"GW*Y#KM1^6T*>M7=E)>)9VV%L+#^"P%K=B% MJ+U /EK3G[FPEA).&6W)39$D$R"LZJJ\.Q9S!JFR4"Q <6UDWB0JPK$DMH)1 M'465/+-9$F,%+K8WH"E:$7D060]F-VJ"@04T 7D_V7XT!.JZ2)B+A#U]).Q> M-A]U+&"+=08;N&(ZUI,M62A(20&':CB0'2Z)MWJ=+*>3+/?44X;F-1N08@FI MS'T%SU+; W%R Q./E.E9PG9[$,1;3<[X?#/J1@3GXF$T--8>T/F$=B,#:JQ5V?$!_\(%:C\!T3#Z MO/235UZ.6*4HBU9X/C4[2B(;V"4+' 9C+AC%G&]I6XJ9>Z LZ2DN9$V\MKMV M5#0R' (U0QM$V56AW/. 8PKD2*6(A(,OLZT!E.TM!+:1_DXNH#' MB>2U4#Z+]_;3Q=9<,]+ QU)G@')I3A)B[4V21F.6L\$X@=_I.5:8I%A$\ <5 MN LY W4-.2U0JS\H_\'JC46SJ01G,;\3H&G:X:Q2*QDW#$T%IC@(8$M=#Q&F MUD3*^GLHYK&\UZ43HH8BK0_ZD MYHH_N9<3_@10 P"B\_*LL$P0J/)9"C6%H<0(HEC!C&B=<7Q6F1<;8$4K3AFA)F(99!$VSQ/$*?]16&H M@Y.-OS%&6U4_^S7@G:SCC]K'M&&;7S\FS?)H;B\"O2E[O^)7K*3NJ>=-VXU(%RL;IN759O4%:#M8;5L@; B Q_S+5$7+A,NRQ)E MK:1DQ9SZ^%%V,SY%(M$G6 NV5*^IP(*8BE<[.V4=Q]TTTLXL86_4C M'D?%R6JTW53Q4,%<5_NP>[4/@D]$OZ!JY';Y:CU!/R.57,\UQTM%2J&N>*P# M*>-^K-PT5ZMSIR^0O+'!N,I;T6[ _!0S?%1CPSH(6H3-'9!L?RVT\7A719KR 8YCP(J5#>BF-1TS'DCJ)V>#.E0X8E2@#O7S(C6M3(E%7*78[5FC MB0_&9ZI37\K5%V?P& 8YU449)1T7\S"N)CQ# CXX,V_SKWG*I_" M7F+E78?Q(O( 8AAZ\RE2'(\ ;PKJ(D8\FF*J061-!7OA>[\7,;]_F'R1C/=Y M$BUP- \R,DF!G2KE)HD?-09;F$H%7W994!9$&/YB[#'ESEP[8M>+S<&\P/81 MD<.D(\:D&RKITZ-_'2H<,2KH(E&;F10YYH]0TR*+YY@6F-SE4%$ZD<^C9$ZX MF0'-CHDSCNR8JE/D0E:-)L^>P5BGE&I+;O,5HB3+2#6;1\E"<6R+AGU6F-BX M[&Q09F-@)\_*U]7X,4O9GZE>68Q1FC ?5KSBR.&*RH.D$H["LW0QF6+KY MAVG$7,7(DC:HY1(G8(75R6-6'F6049TU-]E:QF_3_C-\VI(GAX5/S9Q-9T73 M7);9KA/<1X\;(KN1Y!0:D ,VY)"]C1:DI>5_-9-6'++[-;0DP4P0Q6^&-6S"1!17+(*/L& M-(4118JL<=,T/BL*N23A;5R#DAGPRR4$]S\Y^K#"+WKH"*Q_7EQA)4F[V6H] MV!M SEEO,,E!W[QTP:O?*.SWRH.I=0T>7QO5,?B2 B93H7$$*%E)BMX M9G)]JG#($.K.DR(=AMF46]VBKWD> 3E)Y]O2-T>JY(:MV>#6UU+=&>5G< DR MOMMZ6_,4.V)@M[C7 M93U E "H:NMP>V42)E,NK"0X?X$U,^PB5X:7&,2T!F76&&A*=5-U!B^7BIOT M?TFAWH7!AE;;8#"FJ-(8PPKZG!)SX!IH:QQ , ;DXRDG5")>-OT+L4R;,$W7 M(FQA3G,%3XQU8DX!I*'2:RD3P^U:)?91:#S2?$II6XD-CTH2@K\-3>OVIK1X M*,-G9*H,MC,)/F,OF-8S"[E,UVW-"^T1 #3*4'HAK0_:[$<;E#.7ON;2U_:L M#0JQ;<)LRC7%=D17J;*[ @?8)*J8XSE+]C8B%AMJIQME-TM/#^[-P=-2 >/1 M-V,)+6(9OQKAC+V<,C-$?HE[VH$V[ES(7!XDPVA:7: ,^E95)8L1X:(+O_:J M\B3XDF0(%ZS'4H:S88$]7XJLTL!>3Z:"&R3W'8E#8*4S'?K6#XP5!=F'5-JH M$].TFES?G?0D1R;,'C$X3[$,I[L>D_BR3-:LP1;4K["89=H-23,.\%/0?:RF MTE9TE+2D&36>-ITQ9/@AO\SRJ"4Q.^"X4Y;95/GZ,*-V*#=$.VR88C6KI0S< MO?KN-[T\C:C8@JBU:C7=3(I'GTFQBP6(3U1IOJD&L589[,H0GT MK@VI\R$[U!#!9(T[KN8?@$ZJ*G,*ZI/J)MHBY!%W)*1=$LNQ8]=R$LNZ(9T. M38X834R;/.EG1^Y!<@BM:C B8=9*AT.V.QP2'3$2E;W633(E_/\EI8?&6MN2 MK)(*O'((]BNV9%S<\ZCQ"QO^AJF..FF9ACV[\QW/IOMQ'2?%1KUDQ:-CZT;I M*1W8OA2=6*J:6Y5@O6)$OALD$Y[YL2*^:=*T5 S[44IJ.GC<2+5#>WWJ,ONY M^ JPHM+WJBG2HBV4<[&RI4RNHII?9B5FF3GPX1]6L[,5@+DMD'AGH-PE[OG5 MP=))GB+ >> MKKW.0.:>W8!RZ%ZUH\@Y]E.D 9?X]02X Q];ZHYE]+92N=R_H+(,XS3)G1QP ME ERP$X0IREPRWXXXX8GO-24.<*)@[0S>\ .DT.L74%6*FE]WQ4W^EC-B RQ M^:HY@3BHEY>BH9]S'4'F5#= 9*4S+O'$-)M3?<%AH)E._:",#EG..K/WG&/' MW+&0OSX*X6OVKHZ#68"C148! M!<1QCB+N X.(U.=;>^1X<1WM#+_-8?J5?>-^2I,LPQ:*DS#_"__C':VTO>ZO M&*:_HC?S/'@,$YB^E=AGU8N+V1!S@B98AX49 +8R1QR]X.;HY'@?,VC#(;=9 M)^^V[KAJ-6RVY@ *)JSJY[JF[R%%IOU*9_E9^,6G=O7H;"?&H*>$,K_).:[& M/!'S)W@JB^[U:DB>5V6NNF ^D^4GB@#",V9F-+"P9.H+S/ /8[_6[='JZ4G_ MLKO#KV_F6%F%F^N'(UG1N(8HLF!/89'6S/'5$Z#P>W.?;R2 M5W<+?')&BV+ MV%FBDO["U].#.,16#;>4#Z' #5)J#5RZ32K1.:[W*-\,+TQPUFN,_3?7;THR M[:6]+'<^UXW*ZU\/2!N0'OS)ZB7MV0]'-D??97.X;(ZG MS^;8Q2#HI;"T[?/:RQHSU='.:K!S9=L4'^>PQ1E-;RW-4&HQG56[&N@R*RTB M2UG/0J\T'3*3P"OB\(JE-TT+RBFR3LT69HEE .3<]&\JJBBS>ZOC@1&L,],- M6S_'?+TN49:YNFD:;O-OGN:=V057UM9U@_H*IY:ZJ/K[*)';9OIH[^)D&#U= M#35X6M4TI@'H8P%BSF4%>M8;;I/34/+*C\N3 _"NTF F$X)P+#.5B"4XB'FB MAZN),38D%X8*2"64*3HT'NG0DA!^LA2(\ZH"L7V2_.EV;>8>5&H(JK84:2D\ MZ\A&*EQ8!NJ(*CI11)F(@>(UPABE;TT06MJIQ#%]*TO)Q#6K[C]2V9$YC+4' MD CR#@K=&AJ%2ZXI7 >&JA^U&HNGM;OS;Q]1*UM9J56O1%.=->.EP8VWW)R3 MDYG7K%S.HO0WH/O:GQM$U\B=)_EBSL10>B)X@]8(I+5SGK7CBGX?3Q'3-68O M9>P3XY?&M*D:18%,=A"&K MX[?D4&T%1FBZ521BM1IL+IEN-[E+%M.P+3@W$ M91L52V+M;J]>);?@P217+); P ;M0&3-FL566#*'0ZWO20,IC>FW8E+^HK8X M">C]>KO63H(T>6XX/9>&KR:IC I$[\LX!%4O8S7!]G'(*%U-4? 6=-A3Q*]* M5ZR366*#.EDAH8T42H G\')<6DVY+NRF7%MBIN4^.8.;>,14NB!A, S@@&2 M/CD")L#O@<$,=3%'I^67*;/3@'))J>0>8WTN)?$HHJFM=M,_&PRD^2G."=6- MXIZZP-BAQE.C1JOG=YM-1HUZ8\$G1P^7A_'4Z.'WN@/_K'>V&D&X\^3N)V2L M&4!F,4)_4U?-);K0_37KT3#U1:4CC+_+1$+\\;6H_U(V#";)J@K<7L-['8*2 MPS&V2Q5C;> SZP?O)!#9D"GC7J33V MUZB&BG;Q ;0+,V+U-VNLV/J&I97&HT%F6^2ZZT]>FD%FD&NU:&:"=>$XI]2$ M;E%/Q/R7FR =9_JQ,8TQY0?H8K@,:E4#52Z$,E71IKA*4EHP]X)*W[C@:A3. M0QG[)E.8QS(%FL+_.IV6TF^^\$!Q4W'&.Y5D-MSNUHK6*5%EAMY.S$V0(91< M5"ZUUK#'B0K1E*K5B5=A)C9X#&H_GRK)ZC>@*^>T59@0NK.A:-X,UVV_T5PQ M3LXP6()#,A'=T/#E&BD]5=E.V,! --F ]F#;_>3[&ZFPL> MARY'4I+XKNR4G5MOBU*=D/T/LR0J,+8V0Y^K5'5GR[EHY&&]==V'<7G5;0FL M?^9,IY?3< Q )(NDWVYV7MFCZ.]AXO%;+8N>6'%0Y(G^@!DQ?5)AU[9CEI]9 M9KUYJGHVZ=KP+S.]&TW6@,' M^"< _%FCW7: =QA_/(#O-5H=!_@GP?B!8S6.QQ\1X!V/=SS^N #?:O0=J_D& MP%-8K!J07/*GDF7\36;LXYV]K]V,XE0<)M'XSL"H8MZ]SOVU'/C>D%CR(/UU M6%G"/C>>$@,[?_W+L'I". \>^W^^._ON04_;.6TT.]I;KH,$K?D73+(*QYYV MQ#\P.-8&#^X H']S7SR$TAMTC.J>=;753N<)O5NMO$X1#%0I2!$R-.C!R-&-FVUKE#M/[\ M;Y__%YNAS*7!QR31,>ZS#<7G ]_/4'.QN]]-L/.CU M/+HJ\>PVQGR85-0:]!P5[>[]M!KMA[N>+:@$S_;0<5&3_O7>:@>A8Q^R071' M3M=B':5NZ4:[C4U*YAYY/#:K M-[NDQ=RA'>61*?Q[P?S._.;I)C7E@.]G+UA9K[^1E>VA;G&(5-3S!X.6HZ+= MO9_N1M5]W^3^7K@U;FW[ZW3M.[&^+>9A/HJ",>@ZV^H^K'3?[[MQYIPDQT?F M_1^>&1>=]Y6!X_P?53V2#J]C37([,\5O'-#M#1."FP8]6>$%*KZ;>[ MFVCI@&]P%2?K'"-[8Q9;FTLO()]UA-ILF*3>9+^P MB><_)UGV EO<7G G;]P8-IS_EVXX_UJEX34%,;CA333_#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=!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($=3PG>&(:XF?2$;\Z&GDK0/_P\8*%(ZA"F7T61"

6LJ$UC:W6<-[P)T M)%1 1/#BTG!E60CWD_+,T@+CIIEWI@H?O]SD2R M@>*HH&*"+!0.7%3$!'*\X?4;S&AL#GQNQJ2BDN%[T^1& M ?+ZJ"+@"!Q+_-!LF,OBCVE2>)=!O*"1CSYM[$)%429_(HO/ID5]D^;S3^JJ M\/4Z/P7):%K -P RQ 4Y^&M[I*I!YTN:,7E9Q(J?>LZ+O/4C?/;NX! ^ M03#9A\$MF&KN!K?0-;C!+3L\N,4R3\'-WKN=T3J +(X$'S( MIFF"2&E!XD\N46>!LQ? A".>UX%<%%GQ5/BCS75;S6?(]V5""G"L8#X'Q8Y@ M2(X(T30I505GFH#< BLZ6)1/X%0KG*I&6@=*951!9(@;_!9_DEN\)-/#TF1N M,>S.US.B 4;X,#%Y\VH0G^6;R;:#1T$=SD!"C$3*E&O12!DR]S40@;0QXS8< M%BC6X*ICLMO7B!CO^?>]=KNP+TB1HZ N(AABL4AJPQ8#AD=P7 ML,& 3#T>$*_^6\ Y<:#TC3V3+!9](]/SHE[.6 M\FOCLL$@_>G\_(.V^&2RG5879\%GY?U>C*]H&=^,<=-3;+)B)E-]D!;DAL#( M&.5NFO!QS 3EV8AH=:&))R..A-.LMA5++[.;,'R4Z +":10E&V24!3#>@^.BQ:Q4STLU4"*U, &E,EN<* M9-KM$<;D!$1E. 6M2UV3WTW)$,$[B6KCYT#22VYBF7=*>@P"!Y1"T!)\[S,@ M140>>5E!99D>TLN.W;QT/)61("!FCN+!)I9&ML+.@]1,2);IK>7\U>L@C,3U M@@X4<2C2P, @2V+ZRCJ*UEKRY$K1N\GK@B^%)4/6'4&%P=<9R'C!$&@1/LY! MVZ[I\/"6<<@F04#'HU 7'TN4[X9W&:(.17IVQI-T#:1#A /I\5B2P'.NPWS!FJ9HGUJ$ M8Y2NG 5?ZD9UK6P7==RH .-@IM)O 78UJM.OG?IDG5ZHN=&&&Z%UQCC/G8[XD@*T$9@D M]6]JL:[O_L;!PGER V( P# N1H*2B(XI(-ICIWF5*+=J*[XDWY"*2]_/X(L( M(\+:'EGU(_XT6V1 (M[GL'XDC\(ZG#RP:@&RA R.H!&=(Y8D("")-N'(C'"4 M6228 2B&(C3CG*0DTM9.N2O))@)NN)BC: 3JP#+"'3WD.N ,>(![ 5$QV)Y MX+Q.=?(P# \FST=MS:-4YD/PFX &, @/YTQTZA*&)6;#(LW$$0[TH^ U8[:F M] G84L3=S'4X'7CVF%JQC8"!H9W%2Z/MQ"N51\']!<*YD*.G2';> MZ"W>!"E\3^K&$,S0<>))H@LM$<3P)+SPI(2,(=\,GDSIB52!V4PI+B.X(Z!] M$T-!#$#C;H4QN.#X"K]^\9@F795CL=\ ,TVG;*-S&@]L><@1-33 ;Q1GY:!: MA(FH&)_* PK*HSD>&9S2-AXS-,!B0:U<9_5@W"W,(Y8EZHLDE'$0J41)>:O\ MQ$9XB=KP^$E8DL)O<.8V Q.E,DJV[0:-;B:O"+[\\:9Y5/?9V!"ZB) M,3(.OJ(>F@A.HQIAD!4@F:K2J76CC/M"A .:PZ, W1,,L\@RD>;!@A +TW6L MS!:.Z.$J^F8H 423)65*".Q2-2-V&"AP)Z?"'U% ML N-#(:^@6U, TQ+0^92WD?#>SO9< @X9H+(:K!)R) =2W0K-^0>R-FY4!.> MOA>,?R\H';H\"+N;]).C6C_F_4@!:;D4$)<"\O0I(+NH][W_4I/0X49D( M*G9*I^K$VFEFU8YD'+A9N0D)X(S%])%*ED.S3]Y\N%AJE[-]G%UIP#:@-"2>=HG]N MH9UU:QZT)+<^1\[U#1R](96=8RZ, M4+7'66F\6*WCCT!F9T3L0/2X@KF:AD=S(^X, M ,I\-N$2S#P/PGPZ*3!A'LP:V_&B)G#=?%1V,2PV7[DI3-'4#'(Q(5J?D&I/ MP!2FA^] ST-FN1[H34%I7#+[(N^K5?-R4;VM3=">!0MC#?*M@4F2C$*Z1DJ% M&@,O&N6EE>Q[40#J#.9>#_6*B:YM8^L;J(=_Q"M:9K79@L796)6^'XZN3,4J 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(&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!] MQ25LCE8KX: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\-[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: MLDQ'4OF\&,LPX;LRK\'6&B.T=W7\5]J%$/\MXE4[+ED MW:/&.ND6(!6$A&O=5;AV7^'>1^S:)-QW,;.WHE>3O1FI^ J39!3[*G6>F-6U MB5IPX(T]#8S(&*4$8T8WM:2'=?3>\B#4[2"Q^E0LMGYI MUS -@-T>_D$IEHRW*P!#42*PUI/HFM(@R;EN)1/<&2AERP?\63+7P<54S=18 M KB@(5ZA.WT>A"EZ!29%.@RSJFG%KS%"#2P![N&C)_:- ^CS)I5&1 M71I-UCQ7"@;4NLC<$?Q]502XFI*@BG4P[W5!P6V#Y/J]/;*D]ZM5(:J _'X?JE)72"MC N@ MC<6)L>9A-\!DV3^4XWZP?50E,CH)P@@+2ZEIDQ1QPDO^"\N+IS%4-W8(KM[) M @]MZAV22K3&3J@9A>FHF.'&J#+TG ]00I*CS2D!D.-CXM(:30$5K)YX+'\0 MR-9%Z$M>-+Q/E6XQ7+.*C\/;[*Q>>2,7C&:>4;2L *_.M 4J+QUQ',@R><.T M+K?7Q-8R7.I+3V$X#!A-J]%\5KZT[."BCX/KK$P6695SOC426V845CJW=&Y# M6W7.'2>U>Q6Q-H@-X\ R6IUWG5*6[B;VX?VZG'W%KEJ]O*Z:T5GRB"XL)]@O M"OOG%5EJ=STF8:G@9@VV(&-" M(% /FQ1)+GG&U46AU0B 2K%F6(_-P?"9Y"U1-$U3B6O*14),[VU=*QE>5[2-2?W+%4/F"Q\TN[H6(M2"-6W MX3T'R# !8?CGRT@I.T]" X%38#A!PT#^A:\;G%,I@PXR7V%Z$!4=\&Z1I>?> M^>4%O^:TU3SI-+\B>=-RW-QYNEMU!*-19DU MCZW0@%_LN%>N)N'Q#TQB70(3J$LI_H%I:;-9$4O#BLQ.O*H1.ZEPLR1&.UQ2 M+_A&2.5@XUOGTF!]^!Q-O_)>T&R*V0B?Y^MAO/!%0%7*;TL="BL\=5-07=R' MNA%JG%DQPI9(DP(5=NF/A X'/KOVSTV*E 2FHDZIU3R8)>RCSIA%3 XVRJ_/ M= A"M0J'08&& M&\"!-D&M53$<16J221N7Y.Y*]J)AVQ-3$%-S&7[27M9*)V3#?Y<+M!4RPR!= M4*% $'^=&Y!]P:KF!-1Y\S4G('J1<.Y&L)"F-M1-6#]=K?\6AK%X;[2Z2 MC ZR<4=U 95C)#K(N <;^GDR%M8955S#C1%:E:\L>']QMZDJH[BA14MI:SL MM*O<;$]=@O:_K>F)2F"ZG7,*(R@N^=3HF158EO$*6@2N%"./X63!FH&9#*/S MY(UI3=1&02Z&!=_)2BM-=?U;&!--:HVK:TEUU8389D@R;>F M1RYE5/]H=9#D4,72G3VJ [U:"DH]V\?)37Q#<1CJG6!JK@S?J 23=)#H^X$U M/HI U;(&:I61F.7CT:^7 &V-SRH=SG=-;*["GCQ=97&B3 :0B#<)I]3*&@C0 MWW*%+B:NB^ ,=1/;,%UZ#!T&DGR_D*H_BCQ40VE5<)$_=!48GV.U5%E=9<'_ M!0\QZY0CO!A*[7ZC67YBHQ<5LE1;6WP3&)]DVJ(>Q/7H%='EEE[K@5+V2*1Z M+='=QF[)7*UPPUPMS3?#=+FO<;AV>!=@'V(*KD^. %21151L3<*^.ANI4AAG%39IE[29O66"F329:XVX0[&*Z3,4\I>Y M7-[K57/."-[C8L0&:.!=+X\?,YW1[CTT3"A][>PP_+$EG%E<@&)$U"P?F^9U MJU8),^ER12KQ7+1%J7J0WTEOY/HLJC(Y>07,L3?P.KR3458Z3,A;&#D A>L*)=03QY3(NE M9 Q?)CJQQ,4X P4A20U!XW+(8C0W)!RD0:QH?)"6 M1'29L7'H72(BUW=ITM+P&D7R@2:0%236$LW@P)4F,8Z#8V5XJT/M+Q4U451>^WGP^PO/;%)&UE6FAMJ;U*C)(]+% MFJZXC5;K^<:>P_!7&.]'#./4Q3!<#./I8Q@/RHQ8(F#+.IVK_[B,1Y(!K<1^ M3M) \U(RGT"%F:'?J?2/E2;C& /%Z)@M)W"5K"8M3V,J#Z1=>T#-=M4,!5/* M8=E .HXCW:-C3%;DO"V["Q$/CK:&#>GWB%J-MKR"TYAQ/#K8@6TK9,N8X&;D MG'381Q40HQ-#5?H3)M(JF64E*U%FN-,#B*\ZEF#@AL7YRVDXA@NCQ(]^N]EY M9:/!/3)I^*U6/A5Q'#!=$OT!\QOZI,*5FF4*BCRSS&'R5.]".&E+4FE,?DHM M^84%AJS2[35ZP%0M<-2R62Q2MM;'( 8J51I$^M\GF$+SDEGX#0#E5NYII0V9 M1X,A(#!80P_,2E>S WH0,X3N=NV6J*NG :T!\]H,H\99UP'^20#?=!C_%( ? M- 8]!WC':HX'\+U&J^, _P2 ;S<&;0=XQ^./!_".QSL>?UR ;S7ZCL=_ ^"I M4J):<+/DKR67Q#?Y#Q[O[/U[G+V*:/N1(][;9_X-.N#37(HL/*HE4_[8^)3/#*IU;M M=J8+D\9JS'\NC?OZZU^&CXD4FWG2[E##+E/_;7AQU/Q@^;^K.<3IPW*(5K\Q M.-TK#H%9:H]*[+<9F=N^\R_]-HI-1D\N1FW2]60L&= MKNZ6C6^-#13KLYNOD I_W^,?=_FP/YFT4.Y5'8&4.=2DI;Y2KM7,;K^&>GIWZWU=[*A>Z$7?' I[K-:[H3U]QJ-AO-+5SQ@QL2RS3[;%L7 MNR?TVVXV_6Z_X^C7T>]#7/&CZX?/-NIX3ZK*F9QP[JOT[O+2RQ0-YUP%\Z>F MGD=1WG9/1]O^H?:"\;?]TU;'[_<'#WF9CXZAZ]GY(7+MWFFC^W#7LPNZU6%2 M4K??]GN=![PJ1TD/?$)M9S=]&35U)\W/$ES@P:TLX;%L?NU=NBT M>R$"6G[WK.MW!Z?[:$7?1S8-5MOM MC::2\V\]AH*',W.X,\Y^V#S.O[6?_JV[,H'G[=-3?W#6>N$L\=VZ%V!,#W@G MNZ P'0S)M)HM_W1PYDAFQ^ZETV@_Z)TXC]7J;5_4&@;ON3FP0YZ;_=!]CLKR M;?N#'MB^G>VD CC;=TO^C$%C&^D[NZ!V'1FUGO;;?K/?<]1Z2-1ZUMC.A3I/ MEI *:ESZC=[ MFXI1'"4]<4YC\R$IZ5WFFW_[&Q36OL>(;NSF;E* M[;31=QZNPZ/67J?KG[6\S29 MA,Y%Y5Q4AVOTGIUU_69_+QMF.:-W7:K.YOIRYZ#:5UIM]3$[WM'J(=%J>V,$ MTCFH7 *6W$QYT.MQOBR7?.4\6\ZSI=G+6=OOMUQCG4,2&6>NMO 02;7? M\<_:+DGRD"BU[>H*7=[5SGF ]D--.T06WVKYW:9K[[Z[%_2@QO@N:%"[3D5W MSOG!R0C-KDO%VK%K:39.72K6%E*QWL]5"DI-?.6I+W,59RI[N>5GM 1OVFWVEOBNPX,GKBWG ;XVZ[IQ+M MHU.JIOW\I&*5!I$7Q&,O&,_".,QR]%A=JXT*T1[9'CNEI>^#"K6W9O57A?I/ MNW[GS/7-.20QTMM*^L8NJ&E'1JIM_ZR_C1PZ1ZK;RXETF59;UO@^JDP%Z6A* M*M]87:LHF6,^O7. '83V=HB<__34;PU<-=3N7E"K\8#>R5U0K Z2BL[\YL99 MS8Z*GIJ*'O1VG/OK=F7H?3Y5J9>8+*TP'B4SY7NQ:*M\W#M$U6VFGZWXZAR_ZFRV>ALYQ:/V9D%:WQ* M\B"R=#;GMSH$]6O7^?E76=S VT_;SN3>W1MJ 7$XS]6NW])I=^#W6JZMW.[> M4.M!,R"?7,793=\5K/&6_%/>)$UF6@-*8I>AY5Q5^V$4?]7$NMZIW^NZQM&' M)"X&KL?[(9)JN]OW^VY@Z$&1:G]COV#GU'J@W7$@DL./WG/MTGJQ'[:.\VD= MA$_K@5T+SLA^,M _:5N&71[ M;@+LD*MF/Q2>O;5V[Y&MT?.;G:VDWS@;]U%OLMWHNR2J0R'+?@M;.SBJ/ "J MW-@LUOF;'E-K8_?3?E@[SN=T$#ZGN_9?;ST%-ET.U;=7GYR3+O"3V1M,@OE*@ 'F3($R]ZR JE)=,O+%*PVMJAY6Y MHD#GT#I R[DU\-N=IK.<=U60W/DBF]NQG'=!.SM\JFRW_79K*_Y)1Y6/3)5G MSI^U9:7NQR15L E/?1&U[BH(W53!O=;#=IVQ?U6;2K^[<6[L[F'GL9GCKJG5 MSE]2J^EWSAZPA--1T2Z[AI]VM M??QU31;\3F\[-2K.4MY6(\1MW.>>XVE-";??]P:FCU,.BU.WDW1VYW^H7Y7IH M'8)>=I!<'2SQT\ZF=,W=P\_]-<2_JAZT\8"3(G=!:SI$,FKU>GZWZT9Z[NX- M=1^R;/?)59J=]6S]K++LI5=J/-[S*,FR%UZ0YVDX+/)@&"DO3[PXB4G@#EZ- M8+4TB2+8!_R&6XXZEY=S>1VN)=UUE8D')ER11 'XQ#NZC*)@I21\6T\:NR'?>3<8$?D!NN<^4W7,&B' M;ZCG>LGO/AFUSEI^M^_<8+M[0]T];R;_%U(NGDX4CL/KO_T5_J-_-XI4D"*@ MIK+X"0/M90=?(F!J-I\]" *,%/K']"G:IU87"#[26=?:)?WW?_\O>[?+2F^3 M_N^5=8RI0C1[V:;KO%(GPU0%GT^"";SY91#=!(M,CG5VVNB"NC),TC%\U=3; MPH-[K7;C[)E7_HG'7X+=+/AR8D%(D.$7_X;M>F_BL1I[K]5(S89*#(E.R_?:S=8 CCZ;!RE\#Q;';4]7 M\E>^@1Y#>$4,&-G?>-AP_4G9;OJHKE5%RF< ;['IBU>*M]Y M8S4"$LS@2,.%]WWWM-,8>+#5"*[*]Y+4:P$=/O.]29K,O.\[_MDI_%L_X$W@ M@7RJO 4"1E4 XVF8(.#@A^UFL]&[SP\'#>\3/*'WY]T$F3=/0X ' -(;%V0# M!N7W8:P/Y9'3'TU%>A7N'-^5!8S,&9J+WCRY@7?-T^1W-];!K. ML4UB!ML=)5_XA\ #D"-'^]P$[YWGH5!N2(\TP'I#&B!OSR?*0 + 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:'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&[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%XKEQ^E2I0N?PV=?D=%Z^RLA_6./SJ MA=A2'2YF)NO[S=9VS(^Y)OP0S/[;<,WU]OY-+*V<%S(?70 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;P4C'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?#>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 =ZI4F&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 MA6D-=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-VYZF;'8979465V/'YFQ[V9BB1^,BN*IY"ZV.-X6YN15LHL M1T^M!&S$+6@MK7;&RSBHU[7\';?K\-"H;QW3VUIK:=GY]O !=))"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+[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,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!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,41: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/6Y5B6A!.AYV\V7W%B$"(0Z 6W"; M@YJM[[B,W 5H%195V[!(YP?C*"07B?:6Q%QOK=B%L4VGTK2J9Z,#7SG$*USP MHD36OEG?BJ65Y7])?]NOXT8Q2, *;D MRR11EP]4+D"?F2F01I3L)P,@&2DC4OE@=S,O2>C?OIPH"N#E=683>6$032./-24T'&=X]?/Q#!-V#\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 MYY$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 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.YH<7T M?7E.ME*JG E%0RFS'X:4Q0R/J8I(-36!'.(9E@$K?W@R"<3,,N=(H%$\A'2" M*Q81L#&=/V4?$BXIV$*TTJ]I(#6PFG70FI4])L".'XE%'GIHDP\CC].=BI!Z M?XSY3G&*HA"U7^)$^"D]2 Q!_7Y <0FGT^R[W6Y#@P U,1W3PU0LJC;M]8CJ MZ4,^26X/UZ3LDG%&H4[GO1Q$>?P;'P[&&P R.'ZB3+5K+!%&=B=(K]8A"1M] MKN4!P/?HLL2A(A!* 0-C0=X2SS=@U2!T*F+>*2L):'4$YN!AFJ G9<0V/)DS M*!"T5FG/Q01NA2!]T0"&DP-&;2^"+/TJR%(%61X_R+*M[X5E%%$W<3%.4#2N MH@*CQ2O][COF5>7*-2E\+#@QY@3$T3(OAH\M7DQ5O2/E%I@ SX1G,4N$G X% M)R.EET9I*2?F=)7II31YR,_+K:0YFE^VKN2*;_A9PGUAA@C!^KD#AH M.*IG;P'0!*]Z5^<$QQ,IS_ MM #I.N0J?'3@T?3#@LX%1_SU_%_]6E?Y MW-2I7K[H=6K-'/6\8O*Y2 %"X2QTSKPD3CU""T4-"\KGQ=E;U#[962TX%P>X M'.PK0E."(#YR&BU^ARZBQPY>WISK#Q6K$9B9&2=>DG)5V BR-1+C*> EINJU']US>U(@4Z/]>92CP>E M84&T6#FI%Z-Y#T[ZVI%?-*X4&&(98 ]RBL6DJ!F](( *]B=4(8KWIR, MS[O*H*-$.MI9X5&R7%UC1A#6*-\KCM,9'QT_'Z0+&3VT?8]L^+#(AG'V.+-> MBR'GO20+5>"4Y4 ;G>K" X-:=:_WM)YRG@Y\;X@?SS':]PF##7+$?/?X[

V M%I/ZCKD:']P*)"J\Z%L0&OK45CG35L!1RXNV!:5R+G'Q1'Q,>+")W1WPJL$, MIG5!;.GK6)Q;JHMHH7NGV'].>@-Y@C[N3& =$#M(3*5Y= 9K@RD>O+81I>O, M/JL5BW:9@ G,-7AT2CW58:N.5(^?8E,*X^!=/]Z4(F@P1^'9:F_8'JS6V1?1 M!>)0="K34>@Q4IV#]VX1()BU;D:3.^G>T")3@ M$87IX*[S\VAB=>^G,UA&3-KOI'()L5J[_H;2*^I!3P(\DBO>R5'1Z)%16 ]Z M=^/!Z$NO9UWUAKV;_DP>U[4 51MX8.$FTR2A(SR%!8%R,%-3Z4%2V _D$N_L MJC/M74O/]QZL$]I1K99OUH.@?X; =0^=/Q1^6+GW>F@4MH/I_=6T]Z][G&YZ MZ"+2?CJ59C?'D:T3-S/):ZX0%$QR3X8G5WMA'9?4(?T>D"Z$=ZB/=-1" MB_,A/L]J?&N4T..JB,%3X?_$>KH5&1 MZ,'YK@A./C%+B\_A+M.E<%65T*/WO1*]RJPL+:+[^U&7K%C**?4(_J!8H92F M9&EQV]NYNFPJ*R/4HZ8,&Z;.Q])BMK_'M1HT#:4>M8]%U-3>URUJA[IAJY&K MH-:B=WE11$^70J=%\"#?[/*E?SFQ'C]%]IQ2/^T6ON8.VVK$"N_U(.F#V[:H M'. @7&(**:?4(Z78N*F=A5O4]O"!+!O^\@1ZC*JBR[;([.D8J8:GA$J/D6)1 MJ HUVB)UL'>=&K3J EK\WBF6%5I/NQ;*_5WN2FP?971ZX%1G,T7WNQ:N_?SP MU% I:?0P*5:$.9^\%J+#?+]*OBH=K1XRQ=*PS ^LQ>Z8I]FJ<\T)M2E[E$(N MR^=]O)IU>O'AD,!?N+M(NB 38#AQ)RR^[44;*_6XGC!EIT,'Z%%EG54:M+_G MC$RA(AO_UEIC\S)F*TTZT"K/494G?[(A(S_2-6'. ,1^+^B$+9:E ?]?H(4J MQ=K?40"PN.]0JVI$536D2[J] ]AP?C^:8$6O 'JD3 M*PK^?T(#%AW=C!YI" MI\]<['6LV=]:LN,P[28]M_RTZZUJ'U6U)_21>B'%%$&+J*\':&AY956*5LAX MT$#1XE9QE98TVRK)2RL)$V2QX#3Z)D?SF.*XNJ-OHTJE"OD1#E0I65NF0SAT M)72MNKVLNJ')E)/$Z:]6%KV7:ZA*\0HIP0]6O*17;6Z^4U2_.0G=0_:K![5W M>LH8=[!5RJ,JY73)UFOX#_"G':76.6A>;-) E1H=4Z1%]"#O]K*L;;/P?UK9Y/(78=@#-=VD76O4Y2'VZL,S> MP&I(/F^@(LIR56I03*9=I@9)]=8CUM]B?.A]F1)D*ZBU>#;*;- B>/B-I^^M"T*+>_+I MN*$;CTQ]@N;+@#W2CN>D]XF?T5&Z;)6U5QU56!=67#M88T,1U%[2E#3&LV23 M1J/66DTX+$%.F2551ZM'MD&ZG!:\@^[%EADT-:1ZZ&JGT6F!.R2A3@EN&DH] M;'73Z[2H[9UHIP2R,C(]7G72[K18[7/Y_!K^$ &S;ZA#>128. Q\OH&7$ZVM MH7$->H1_5.U),]?7X5WF%*KT8]TTJ+ M^P'A,\JL%*6$>BSKY:]J$3L$,3:?4XX']M1?<+)>,GO@VT0W'>]72172Q6O7 M"J21)&[*6J1M66[26*L*!ZA"C]C+,?>=T Y&?$KY(RM=B#P^JT=BU*!R6X*\%*1ZI'K':ZNQ:X X,? MC=9R:IKY"5BE\VK#XGJ &Z3*PQ/WJ!4K\*VTG1;Y Y&?B'!OV$O*5F%>7$65 M8SZ9WK> 'REY8NE%%S69'L8ZJ11;K.K[K);G/RSS5JTNH4=0<7)TH\V/V,)Y M##ACX_!T2?'BM"H79G/ Z]=9I1)%#W:]2IPEYF@8Q'MX+%R2>[-5G2,EV2SS MTZA72@__WBDW6W@KX$V_G:Z/KYB#9T79JR;=)?$6&$ K\EP>$S0?+6G @-$( MZ\.JT %_'[C[UN>+\W<7%^\C+W3I$I MESPT90J*4/=E^/GG^;-P/A$,U33WY;/XB>?YD[YWYH4KRIG]QA*P/UZ1Y'2YNN0P*@ABN_AX=OGN[/+[M]"%I-][ M=6>_KAS0#UF;H/;;A?\(BLG.40?.+B[/WE^J>R'*"N$?9]O2>XH">8@4RL-H MF-2I)PN7\YU2>\EB3L2#K"T49UB9J!1&(HMLR04AZT@@U U$6M=11//^G'DB M0)M1/;'((OCK+"F'@GF/@FG2C6Q]W\E?3E"[ TD!;/F[G3:;:T3-5C/:$!0T M <8U3ZB&(W3A//_];C"5+53W4@GZX=J"3PK*7O;0@W\< M2.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$ 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!@[[FFJJ5RC9LN;(12ZZ2?$#WWU^>A\R](2X8\HQ\B19X,4GCH:@OM<)@Z7/ M,:"5]!N!">J&<1%R+< MB2)YS)8$9CALA3W2R DHJC!4\JYW;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(:_/@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 M8DS-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@F7G!,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^!':M(3'"LP!>\VMO9&[KT%%)G01YB/=];' MU:0G,IE5^YSGXJ?JMK/5I*>VO"SKL.%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)[]'$ 0(\<+]$#>2%?SL$ITF1U$$RCL:+'TGRL-.:='#M)KT M-+G[&7:TPF%14CXA':<2O*RAUX=&I'M5+9-_'U]*S*E_O(U"]RDD:I>,N0 M)(N7N>.)B^@ .U/B8C#RZ-:>M+N(';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'G#<8PIP,\.>E[(*(%@QY$8X-T 56-(,>H["3'F2UCB;-1[QGS+=(:HJ@H M<>+\[DP*-;C5TA_(Z_%94P_[>%\?OE&O+L--:SE]R-48+8T(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:%F6M6">D)/.CV53G07!M5 LA-'\SN<4XU&# M.L5"@@6K6C J^1ZSKT@@*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%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,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=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$1ODK#I1%GC:%Q4"ZUY^/0C^+F M.-+)4C;$I^+I\NUO[-%LQ/S5K.XJ2YCK&@$ZU+7%1'2>1F4O#28V:UC&.:-)0K< M]30&LWYKNT5E_@)#S9(F7WI1%HT*&2NN3QN6.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[&%]E%S,_S@!2RGLMRJ]D&C_:F6J!IRB27"&>7(DZE%&;Y)Z8 M/1W:C2_K.>7*T;24X6=_,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;&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[_M'2FBP*8 M@^]"T&L:_=OWHN#1CB,-)]M@&8E,FA1X?<))3J$P5,H]-";ONJ**1$H" MAJ MS]ZE#;=8%_E6I\CL!WR4G*U3V9% 5,WR^56HRG\1]8^IY?C@%9)IV[)5R&F5!6NB!\TTAUU M 5.%Z@"> ML/>%ACT\ 9#QG+.VJD8E#/?.F*!;$W72$+ZQ02F*]MNQ;8SA)A?,O>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^N7O0PU[D)/0=XU.P5 M]?2FBF0,'_\:AD\QI$^![R6I>_@ZYRQ826:J - !=#M=3G;2V^>FF7JD9MOB M1G>Q?\XN_L7'IN)=\'5-TI5JH6]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> M%32FLG[#N @ZSHIY> %,^C),Z".C3_%\-7OR=^70I("I0ND*%N>KOB9SJ@P9 MKBI2M4?)"7W*J42]QT3[#KW1<[\V2DMW\-ADLOL;Z. MYMD+N&+FI[>2HW6$SPL&VWI%3+?8)K&;9:Q>4C84:TA,'8KE19_XDE@A+(CZ MG:$^*@/?6\PH7UWYG,OL7&+D[5S@R6VR&M ;OMW2^Y[BX=7"D_%K1_-=Q]Z. MY^3=3^OYLS:NT_3Q)9/U)/74R1AJHGL=><-?LS*FCD"[D3^9X[BT1T1PO;)U MQT0EA,8*0;#M3CZS_8M];56345UZ4T42\7)+?'L9PG0;T#3=QC5,2:XOUVNE M698:E3-51*4IQ=)8L9519>N4,E8\(OPCSDV91&[*,.LYT482?_PL\F/-7D7- M%13[C\("H M1VJV^TF@CV6U8[FT]"#KSHZS-E:&TM>:C[SI&NG M =WVH.9G1I[5^5\K:$P%5AHF8G-$B0^3GN0U,-Y;VS >97:8\6^JNXAII76+#%>?>LWV UPXB7UAY(K,[L&@I3!U'DJD"ALG??/['"G:6 ML/C;9;R"QE36>VRQ##:Q8UL?CTJ(&R59)6MBL\(VH3:YJ0(9,OA,-U/4[-I2 M:5C&;-',EIS2NC*I)C95&#LG9'A8JSA44[XVE>$KXOVQ/:/>Y;;DG;&LIJS@ MPG#H>\B?C..UC?.6$T"3$J:*)4UE@Y96+_ Y!ILO+A)S'T+#0L8*)[E:6KA3 M4GAN*HL[9O?TM+-IR.R:!5^%D-3AFO:.\_1*PSP)*N0#4KR[7(?PU0BA*L=] MD<94UK='=7U/=8M?\][L YEB:D5-#(,R(M,M+_'A_L_LB92$QR_F^6Y8QM0/ M(Y#6&P^C;D."P7,HDG27L,T2M&SQ<;SJ3!7H=.GS -UK MAWZ0WO+>'O&I7QKN9YM>V^PL8/FKEL>- M'_)ZXH@I7[=WK,- M+SLK_%4B"@VY\7(A8LOGEOW'*][B_JC+RKJ.WIDM*R7-?'JLP@3\MM1IA,Q,[MKPZI;;S MAI68;EN/[L-'RX^,=MRX&.=6MIV*JAZIX0N8?!X&# + HK0590X[Y82F3C#9 MX[3.?"X#A*L/VW;>FCWE*!QT2S0^/6QM4L+P[Z(P3A;U0D]B^D 9'8+0[!IC M]WPD_\KPV37::]V$&.W\CGEL%:[DHXQI2K69KUO"[+&B!JM];_;DHPE3-)#/ M3J'_!!'AF<@>0LH6^P\0$YZ5-)=2MM1_@I#8XQZJE"WUZH44%/*/-BWTZD74 M0#"O41P)>XGYL._9;NA@QG;_"UKU/%089OC/,I Y8:.Z\6LDN^W([\'J%C)I M5_;/\V?A?!+RR7__?U!+ P04 " A2IQ0V$M]NCXK "+W@( %0 &-S M:7$M,C Q.3$R,S%?8V%L+GAM;.U=;7/CN)'^?E7W'WB^+TE5/+;E\=O6;E*R M),_HRI842;.3?$K1)&0A2Y$*2-KC_?4'@*0DB@0!\,4$R:U*967$=T]UUX#PY&]__>__^OE_ M3D__<3]_U$S'\#? ]C0# =T#IO8&O;6V=+9;W=:> $+0LK1[!,T7H&EWGZX_ MW7P^O_AT>7OW^5([/0TIW>LN[NG8&B79^W2Q^Y=!2-6Q?](^G_5NSWKGO7/M MHO?3U?5/O<_:[&G7\@D/3M>=M?SH[ M>WM[^_1V^%\8:;/13:+N>;AO@1,/M?W+ICX^.H7N46P?= M?SPC*R)P>;;[%K,%^=MIU.R4_'1ZT3N]O/CTPS5/PB&2?Q;X2-2<_"O,:'^ M)6B?H!_RX.+N[NZ,_NL)YIZF_8P<"\S!2J.__>2];\$O)R[<;"U"B_ZV1F#U MRXGAPO]@+!=W%[T R?\N/"Q*HBL#QW8="YI$LO>Z1<:Q6 /@N2<:H?YM/HZ- MQ-!MW80ZZ:.C3X:S.2.MSD3(47!";#NK!-WN1W>ZFFX!HKI2 DP6797P#IS- M%H$UL%WX"L9X&=F W/;Q=SO#H#0C<*1XC"F>H M_1(HZ01X0^#IT)+3BW(_7 O'QO8KEIJ#\/B*<2"-4"V(9LCY-S"\ONOB_:88 MIG12=:'"FN.]S_!FZO5M<_0?'V[)%"RLND*4ZYG-9,@SYPV@Q;N+%QRW^#3- MHEC3_,-&WPM\MD"@984A9A&L!>&O.H(Z'@X>&$# ]49X4?0*+S=]8'Z./ ;7)HK4#N/,J* M8"Y?YD+DZT._=#S=JD#>V725P%N^K 6(*X$\/+:5B_B8:,V62#%P*734LJS* MMJEJ.P<0=\!2_P%-?PCP6H& B?\2'&'PH?01 M&_O0*F%-SO&=NODQ!X9C&WA4U*5<&GP&V5K0CG1DD[DXPP?SM8X*;D%,:K5@ M"^P>J%L[KRFYO#)]?':-78T4PRS]%=5XD7Y_4AE3.)]3F3LIERR/Q,;Z"%;Q MOJTTWZ*;BH_A5.)KTKPQ=,OP+:J9C_C?0GZ0X91V&7O =?## [8)S-VOT",? M.C^_.#_73K4=.?SGP72RF#Z.A_WE:*C=]Q_[D\%(6WP=C98+"9@4)(9I.49L M(!:YP'=07/XA.4IJI;O/E)[OGK[H^O:,Z,49L#PW^H5JRNGY17AC_[_AS_\Z MV-[Q9K_P'..WM6.9 +G$Z^V]1]^T]&=@_7+";WY6+XBC\::T^-?UY4WO\OKF MZO+F\\WY3>_VYN)@U <:UD=Q #HR(NKXCPFEB\LT;''FDJ,/H78*L;)$_5?( MV8@P,_R\(P[$0;C_+R?X3[Z+Q^=LR;?)[>,;@"]KC_Y+S2(:^(CFQD]6B1D692AL'OE3=JD:4=^V6O? MQ/% -+PC4;$;MD!"DN!"P5RJMIH.?;!TYL BYN=,1_P]D=VA!4+-"3(4[N?* M9UWD#=TO^5,[%@:3+CNIOBT08W&\H42OFK1IT@@VJ4WSL$<+Q)X792CL:]76 MYH%COP*\^& ,A_M+MHBS.[5(RCF AH*^47I68UP>T@WO._36 ]_UG U $9/> MN;+G=FV7!N2#&^K!K6H3?@@0?,7L>@7"+HJL+BT2M33,4,1W2D_U>*"5X"3/ M[A1GQEWO]NZVJ3+/ 33R=9Q7)':&61Y>.N"1\J8MKWD+Q)<+8B0X02]53>LS MM22%EV9&ZQ:(. _"2,(ENJ;*$2H^$YH^-B)TA'3;>\>'!^3KUL2QC4SI\KHI M+69!^>;"6+X+LC)/%U?(F7W:(&%Y@"*.S-H-JU1SD2_M[%ZMD'<.B"+>S=HE M'GG[J"N A HZNLV\@$]KVP;IB@-KA']S9_(_..B;;0#DZ=!>ZC]FC@MI0!AW M1DM0:(7\"\)5U1$:Q0+OXF,/%R_ 7LXS>[5!X'D@BCA!ZUG!79=X]/"A$=A& M9&SVO0&V/M_QC[_JEG]\PRS5-\:-B_/>[=55XP2>'ZBJ/D^&EX>[M'/[M4'< M^4!6[/N4<(+A@4KZP?8]FBR_O/"J]E]6XP;CSU5FAR8+.2!Z"S[Y'X](< IIZ%OHZ=:!XK)B"KD= MXURYP%RY;*K@LJO5/4B7T M;9/\ATRD5]TB*13$[F6$^JHC/G%AI9SP,CS&^")/3M+Z](.@4LC5/5$^,U^AI8%S#T0 MSD[,[M .R4KB4_70-_3! ^:%Y$MO9I=VR%8:H:K'MJB\PSL[&NJP23NDQT6D M:C@;W?/[IDF36^[7E>S9F-VI'1+-@5'5:+:^^4I2N;E3>Z>F,Q\9:Y*"F.E( M9W>)8[_$#*P[[U0N*TD6H:I!:_LP>A%G!:-U.V0J ZZ>P+18T@]:1X?&QNOX M5!:,-70(IH6HB?9MMBR+0Q4*7*OG=1_8ZM ,JY9@0-1E+S)K!7HV6^I%@0H% MLJGHN.+&*XH34$<#V*[G@FA$_%#[1?NRKFG.+I/&G-_L+DT0J_3XRW>A M[*<38CU5EDU1&*HZ=^+6E$ :B?3F*HLNU]A5==0$P2%/P%L[)E%"UZ,E ACB M8K1N@K1DAJZJW^4!VACR(WPE:WFBDBI#9MF=FB"Z' A$7"UU2/"+XYAOT+(8 MLHK^.8[I2DD#/'.LS7C)=^R\DTB1S39QNX@./Y*1<.$S\ ?Z0F#2"2GZS7X^>SHRI:E9762J\H=Q)C,;/&5B^[QM9BB?_S-)HL%]KT09O. M1O/^=Z%QI.S2O6OR"J^@1T;( M]@&'#=29ESGEV@\4V'?4CV]J%O,&08*AVVJ*L@7A$<< M3#>6'V3?0CV%$&5_BLN$ TM5@&),BT$H!W;Y"L)PPAP,&)]=42Q"/,WKDM5>/0&6)8XC=XTT$QHPW^=9HN>V MCZ,F*<0^MT[T^9B@ZO.V@>-ZTQ7Q[=-<7@"]0@.X"WSB8LB>W4$]X24!2==7] FR,V<++4-_<0!NZ'J(W[-F"Y/1JCV3S %5UF9T#%V">D2<$ M0VSK6PX--\\6=&:?]HA9'J:J"2#HI?W1+A1%>+*OO#,[M4?,.7!RWP,HD?T3 M6_Y.*BR&P)GMXSRX52"9DWK7%W+,4W4WB)B3K2A'K=13#SEAI%V"\@%R;;>Z MC.Z][@;0.6D?65N14@Q!\)'%I)N9^L%.G?#]2<$EU MX7!$54FS*N>P#[=]VZ1_"Z0:G8SZ"+J8:4.?.$EF $''Y!0N^H O_Z&;];*Z M?(<08K!ML7^,-U=/UC.FVBJD2LI M+UA_\55[>)Q^5SS5"&'"4=+I1%+J^ \'+0-['^L+J;D-AB#X[V[U&_TPZ*TX M675&JQ4PF-/N@P=1DZN>#'R&G%>(M>O^_9M+4@;N(A;[^)#U"C,>,HH3B$W' MWGGO]KKVO;(6+3OR\1?AGJJ^FKQ>.26THJ!,A!UN,D+<&S:UU:_!.[$!*>_P MGRT0^E[Z&V)+_DY_9\A:I&L'M" W&U0-%MR'FI#W?]-5K+S KK8 -QPGJW,' MU*( ([@.H]*>3N\'.83NUG%U:[I*%#>(ZL"P(SL*T6JQ+I3/%\DW)#758$F/ M=9D?1:KN&<)82V3)M%B32F4)U^.BA!+10.CQ9JM#1(_5:QV]L"LFIC;N@$)( M "^_3H9(VNKCL:5M'9D=6BS$G.!%"FC4?K#8(YFN!&)"TUNW6/9YD(L4XZC= M5=ZVMT;M5+L/9!RW $DW@MA[%Y@==5<%+7_YRLT'?EV4NO2"X[WD3!T'EC>3^3#3L@9T'0%11; M81PU2/$7C#!>IX*1^XO?H<42S E>J!Q+[6>-!3XK 6R: )-$%F T6=<6Z8U; M+/H/Q M_PC2,"UG>7KM[7Q$.JDHT@R)5(;MYU1'9:(3$3N0+K-/''^O=WMUTWZ%X.&/ MY%^FQY!A<28'1YVB?=.D]0Z8NX-T(6Y$$DWS*3'@K+-W:[*B;:6)?N294//Q*HDFF)$FC 5H?F M$*P -CC,T-D5A5NEJD4Q8BU6F H8$ZE2F;&.5:D2Q;(O7RVI.ZF].ZDLXIR( MM",[W%$-[8B.PS/]G;Y=0[HI[U(X[-Q)W1!F1*0:*J8Y/,(T<3P0 9)U)J3T MC;/CLAMZ(.]TGD)Y[F2?6-X_V,.7C;%ND7YT,D]^IC))GNND?=-C$# MYN1SHG).=.RBD,68$$GX ]YQ)P=)*@*_04MP_D:MNR?,3.21!#\X95YRE#O+ M\\%!WVP#($^'-JE*=U"J3DS2(I2ZIP6YN1)I2 /F(VH^Z&4P+WA042">80D ]C5$VG: H]U3--#;3W^G[X*73 M-S#'$)![@RW:73V-*BC/I((48H504>+:'_EA9AD F!GOS(>0<-,VW2D:0C?( M(XR1X,GJ^8BD3=>WT&-FFRJ-?A?4K5)>B2Q7Y9^Z$U,HEK$/+_&[I'U!PGV\ M:L-G"[ C2PL1C#/F&C.F[OJ'I2E11P+,T,D]:%2 M6\/8=GU$'M:4,]XNBI-)\ZR&\RR\];I42D\X69R5,)893#O =IX\A3P^J404$]SE/7Z MB7)/U2KRAROQ85R_P&YVV%P]C2DHK^P]BPM=U9HQ<[ -E\SI2D#&;=*?([=D 'X&2[7$-$']J\ M[_!RHLW%>\=1WO9NK^[:(NHR."'GO"I-^+OE*>;37SI+_4?@>@OL:B<]BX9$ M]]:+OR K)/U:-6T% 7, ?3TQ0Q#S::M;$73&+I#9I\5JD1\_U[FEQ%ER?VY^ M@C8="LU'NG8L,YET1ZQ3![0A!P.X'BHUU.%@_Y-1"$ZW+JA$'A8THG((\>W3 M=>]9-WY;(MUV=8.,$[-P!UK8]92/6)QY=^HF:,RO/R4RAEO90P6M.CQ5#YS- M!B #DAUU"Q!#=3)Z=$ _9-&+U?%03 VP<8T\$E"2X8_(Z-$Y->"CYU?T4.)( M$KM+]ASCMRD=ISOZ0?0<\TPD[B:M7P=4(A\/*B@&4NZ)Y,%!6-E]9*SQICA= MT7#^X S..96P.W9!&?(Q@5]01(G=(KB4FZX.+^JF=J$K088R5?"E&.,OSQ70 MOOKO4C^*S2*.V4 4/Y\=2.(1CS?X]>C'$$I"%H9NZR;$QCN)?_ID.)LS*HS= M6R.\9>-_@B;)A;7[D6SEX:,D=Z:3Q%AKX$%C'Q(?J 'XX0';W&^%'O3(U\_/ MK\ZOM%-M1P[_>3"=+*:/XV%_.1IJBR7^S]-HLEQHTP=MT%]\U1X>I]\7VI]B M'_LSIKNQ;#=#M\AGG[&03VJ8^E5,\H(TZU@!PU$=C:6/=Q&$WO&THQF^,^!R M^[9LE4I;=/+S0>0RO_9-,L&<7,HB2:4#:E,&1RI^0_,Q"K1/$IQ3=_8$_E ; M'C-$0@A2-*82,V8(7<-R2/'A!>$D>I^N=G=A80)'K/TS;. 8^,02?X =Y&:@ M98T]'5JND&WS^;QW?H?MF?V'B:'S[>FI/_\G,69F\_%D,)[U'[7^8##]-EF. M)U^T&;9\!N/1 C>E0]"<: P:I(/XBV8#3_M3.!#%[9XT+H:)W"?,:FJ\3N44 M^00>R;H0!?W'7HKMGHG%1Q*.(2T*(3^U^+2YZ-W>U!TE+R:S??W/GN M.<@<&,XK0"R_GP2%)NM'67#5-"@.BH_)&0B?SR^.#83QY-?19#F=$QN@(;O\ MKH)W3:2$RN[90*E*@E$U=<\.SP.TH;L&)DFD*2=6=L\&BE42 MC'B\?L7;8:S:F]R&>)7<$&?SZ?^-!DNMOUB,EA^P)[(?*>Q!T=,-,65)PE[& MHP1FZ[+>3# ^$&;!(17;Z6M2E[XD'3AN:C[F/'34F4J"DCE\(5$.VHI]Z46$ M/IH-HC-6(:$?T6FYT$70YO1_5[_:IBVDCF@K$=61)N1C1]5^YXH7L2_(<3/>MV1TBG'C\Q7>Z5JJ' 78 MT8B+[P.]'X(M @:DC,9_M@"5GVWV-P[RX._T=R8;&%I4%OG.Z5NEC&M&@LIT M%F:M61D]U%$@64,E+S@USQV)FSWI\\9-\KRQF#[VY]IL^GTTUQ;_7"Q'3XL/ M.F4P+#*AS(HICLW$W.:/5@>X+SF8N47D?&D MQM)3\C;M0G+9GWP9WS^.0A=LHX[]Q(?N@4?X"A(9GY-G:%[CFO)=L,:4M8'R MNJDSC<4D=)3.0AZ;JG>9&6 .3[('*Y2\Q!F$6JH#,F@E,IY5O'3_JB-($K-% M"3]'MD>?SDFMWQ?GR?7[U_Y\W">K-U[(1_/18JF-)LOQLD'Q):GE$([_L;:* M5YFC.VBASFQ+YVNB_%3&L!6X_N+>:S6!WX*C;H3_B5_D.]:BEB'R$T8RLR(J MH4$I/#ZHJ;FY*[1%U;&99QF,MYD/F>,:5E7%UO>K$ZT9KKZY@;>(3%'FDAO!2?AL518 M.8!E435B53T$N'.BI3[9%>C18.&*(&G$J6+WL)"WVB0;-DQ\@@!R'BAJ.@OR MI)9LV#"I"0+(61/T(PR:N-ZY3[KGHQR7#KWSSRSK9O<%S:*?P#_MO](<:P?O MDD?,BGP$[U'.PB$S&9%X]UH.(X*CFV#Q+]^ ]0J>'-M;,\\K.JFXO!9P*U"IH+V'!VB'WQ\O 5/T(8;?\,_' KW5AA:]OVC'!'UIH*D M?-E^O5S0&W'X$\1)2D.\TOV"&=,C3:B+^L*#WXA#H#A6;(J6HS,1H8[J3";\ M1AP#A;'2XVXI2K.GU$VMX>!OQ'%0'.R;4X[2A'0ZJC)9Z!MQ(!2$NEP#!'1R MBBFF,'LZ7508#OJ<9\ :KD_IV\,A7*TP'MN0CA"[DKA#I9_2S-VW_KA)5?TF M]9MM8MF2(A/ '/T@>5K[&_*W/$A9M.+SAQ3'J[M0=65N)"D6-/ ,O0,JM+/L M6K=+ V1 *APV?!B<5R#&YIJU/X3TFQQA$R;BS.5!%>Q;3[T[@:'Q/1RR9-1; M!:3D&Z]V5P+T1JS_@DBYG@UI.MW3%@[V1KA/1:%F>S0DJ7105;*0-\)G*@0T M^P9/AD375"0+=B.E&ILAX1Y4;="%N+AS0[ M2%FP=S>4(@ML(PPI(8 90X8QX__^JEL^F*XF MP#OZ]]QJQ2/<*>7*Q8Q6V"_-/[])7IU*T5!O$I1FE$E!;NZQ348+6BSM,A>P MCS"WE\YNPZ46[U9*6R2]A;$&P]R9,%!LU^GY�C?DS -2_963N-X4CA0M$(8ZS+_68-.O^P6Z]1& M(69!J\N*_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@GVAQT:A[=]@7EY4YKE\F:R Z M-;9%ZUT7H:G.5,Z2(VN++0>NB(FEO+)PJEKG(-5RU(*= (OT@@FS$3EVY>%F%!C.0ZL+&L*"V8B* M8Q)PA:I0YR37:CWA(U7S0;!)'X._+@%.,*! M_Q+XHXGS,KR^ETY@=YOT AXMQ-'GR.*KZ?2#FFZ;FK7_9%-6Y 3G#M@V ;RY MP.Q5Y[3>#4IB_+BI.A-84C9I$YH+K!'WY DT]#6GJ$QIXP9(E24B >FR(:J^ M]^X@X#]$OX6;SQRX +W2"ZB^82!?M]SO.D*Z[;U'_R2J KF(-T!EV'(74)KR MF-(N)>M;EO-&7@K@4]S0\9^]E6_A?R.7I>4J7-:'XGR^PGR^[I[R23-(U;N) MG/#)?\&A 5NN^B7(_Z%TXFQI1'7!! ?&]BL^O#N(]0B!W:'MNI$-5.0>HY0P MM,2X@M0!0V#ZA@>?+1 J;FJJ!>'.+1%F":#K27F4&/,<8'[COSL+W0+$*7X0 M4R9A:UQO%N-_N/#[88=2RQ.H"7:41+P M4#MNE+<@]V^4,&\&^)3VOG+0FXY,82.13:'M*B&)/-2)6^5UXIN-@&[!WX$9 MW-(8[P2@^+&!U;_M^B"%.]2&NYHMABB5V"/<0(^R2\A.2'9KB7 +P8T<6.?- M,@KH8RGAY9XT;HFP%OYZ M"DJD#WQLNSXB5LH<&,XK0/JSE9H_5[QW5T0NC+T1[TW2,2:=$$L,V=4- N&+ M#IG/T/.2:Y7R5,*,1KQ-24.J4J&\C\ MF1/('*?>E)CET6J%]WU\'-CQ::Y[8.#8'K1]:+^$;GXGL7+*="S%'DC_8)SK M?>\!8+W3+6S!TA<^^)_(Z[F##FG&0DFDXQ/AIL:)+R_5G?%0)2_*/UP6T)49 M0!O=QB>$<_)/!2$]4C&)G-$.2!:K&&HI Q3]^=2QHZN\LHU*22M.5I$S8 MW"-G7>YF$7 /#L*CM&,MHOG@08(BM[KP2'=)AW+QHOP@Q ]=<0+^O>!UE7V] MD8=4E_1&"+O(L555/1FL=8QM;.>_%2WY*UW2KJ)L$3\XJZMX(ULW/ H]Y<15 MG& 7U4F ZJ&78K I(ZDOOEOW_72BB 6(=4E;1'"+A**^?$I8$8ZLDFVT1E) M7:TCR2*V=\F$+Z/^?$)SC/Y"0P@C METI\'MSV;F_/:W;)R\KX<"4H WPS,G(O*_) M0:I=6E,:!QJ1@_P['0LP^^2F^P5,_,TS0--5R!^*T)WZGNOIMHEA,[1&FHI" M4!.CRUI/I6BH-R]R2OMP>A3G@*JAQ)'FB M9O&)H,PLU*V%A\^X!/+"6 /3M\#X7K>([VRQ!L"32T;7NSGO'1\2=Q_2=E_2 MHD]I8U*SHO_8GPQ&^ Y&BT;4[/M($2'5"TY.!&0N-Y$^4Q^\UKJM/&&S6ZH MSO07E42L/IL8'E7M#?X#'&;X6=,DQ0.BZIZ=FA0C^K&^ 667=LNHCE6GWL1Y M>:@=_ %_6$ 4R\F2''TCGHH$EV(!#FY-[K2V M31"<^,#%(UOJ.^3M?G&GJ_VMJ.QI+Q&QSSWM+9;]Y>AI-,$GO>F#-IV-YOWE 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+]_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*?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?D70L*'^2Y49J,?9+: MR&G(T)AJ/M8V'?M +C7CQ$4@3!$!,;6#8HGTAO0@VI7U2$6@9YPO%PH\6BNF M/7DA+U-#@>"L21I+=NF_QE8#:B["SE WE_^^"@H>,_>RO?ZAN&XV?)50&VF^5Q M2&_<-I%+H!0J_UI;?A(,80B"_P9^7QM_C9-]A-6G;4*6!\NO UOCHGZ$);(M M]EV?/[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]]\=J'_,1=KU3?MHBW..@H4*D!+D5J_.P8PL^ *4$ASII+ M!^O,EN ID@< M%0 &-S:7$M,C Q.3$R,S%?9&5F+GAM;.V];9/;MI8N^OU6W?^@D_MEIFJ2 MV&W'=N^:?4ZIU6I'.VI)6Y*=R?F20I.0Q(0B%9#LMO+K+T"*$BD!(, W+-JJ M>^YLIP6 6.M9 -8;%O[[_WS9NKUG3 +']_[YW>L?7GW7PY[EVXZW_N=W4? ] M"BS'^>[__.__]__Y[__U_??_]I;_;(:_W MB EQ7+=W1QQ[C7N]VQ_>_?#^[:O7/[SY_[[P\CW:& ]O2]7CSDS0^O MC[\,#J/ZWC]Z;W^\^?#CS:N;5[W7-__XZ=T_;M[V9H_'EH]TFBNGN*GK>'_^ M@_V?)_K1'B78"_[Q)7#^^=TF#'?_^/''EY>7'U[>_."3-1W@U>L?_^=QO+ V M>(N^=[P@1)Z%O^O1]O\(XC^.?0N%,;O;[Y_\_J'+X']W6&*[&>%CZ3-V:]V>.R0;?S3C\F/V::.9.@,V4G[BZD< MV/7Z]O;VQ_C7[RBC>[W_)KZ+YWC5B__VCW"_P__\+G"V.Y>-%?]M0_ J/\D5 M"I[BT:BXK1':T3F\OOT1NV' _L)&#+YG?_K^U>L#A_X_C.WM=SWVTZ?YZ#C: MQ4"LP8^L[8_#+R'V N?)Q4./"B^)$1P[01@<:%1B](]Z1%J!\U<\\]>Y)M=XI,3H/6: MX'6LB$Q7AQ9&V%4GL'>/)NX7P-GI5;C@]+(1F@6 MJO65EXC2R&;6 )ORS'_!9+$/0KP-JF\'LA&-T'AN:E0F43:@$0H?D$,^(S?" MCQBQ_ZY^.DI'!$,C!0(3'(1S%.+%"]K53[/P"V!X\!$YWM@/@H,N^#>V1U[6 MZWDX=:N:I?5\V@C7/B/B,*=6BF7L Z]L#16.:FBO>Z9SB?D_\OJK%;4 *!X5 M22T:%!*E2_0E<>\OJ2854(.(BE\SY,N_!(DGL?:=^:T1=@@_8H03=SXA_@M5 MK2L2RQG',#UCWULO,=E.F*T0.L^8ZI/'/>C+#GM!10]:N4\9BBQ1>2,AT\0F M?N5M3CB:H;7,C&2ZR<3QAF>'Y6!0DRGSYZK+6'E\T_3?TW\$H6,]8)LJ%"Y3 M,:+0)WOZX[R.TTW_0\8Y@E>8$&S3_ZC?SUOB.Z;YP310SXI/HLJ:;O&PIJE] M])]C%7NZ8AIY/+>C5Z4VVI4^8H030T0\=CS-,%EL$*E(LG T([3-L]%K?@,>'S'\TR G>5\QX*?$Z<<81 US0C1)PS%G9\"_%=$-YWA M8.V_L(WK!;+<\'HYX%ZEIA5=&W0?,-!9L'UW]I MB5,77S.3Z[.CYZ3M?'D=JX;L/'$H=82E;:T&@5,QW4=Q<&W*8^(0L5(.'/Z9 MG>!Q!,<+?[2=[8^'-C\BU_VND&6"J:37Y=B]O)]B3L:CU3 K^F^V:'SO>]O? M(L>K<8J70]][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-_JS1*#(!2IE.^">;?/:,X>20]\/&)I MZ&K'5*9Y0VR/K06M;?Z"A)3OXB/AC/6)]O2J,VC>H#9U35W1%6F+[_@O?"$OFC7ZL*XJ8:5@(0=<7Q"?XAEP=R" M86M;LD"2GUME]YMZED8RUH.#@!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-@KVTC?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+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>*!_D>5L7[1L%Y*:,KOV+WE#;_!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$W4F05^YJ\A:PBK[F]4HTD , =]_U$7V$ZEN\5''(%?0P<:C=E#[4" M4@ =#8Q;DV%@K9 CC$E4RC3 M(/$]3OYWE&CS&]^E/ H289Q3$7OPR01/-06)F4V*'JQ6VPJEW[BVATSXO3*7;&8+KH8[]7Y%<:!CSM8V4 M(0^43:.!<'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)-EB:M49J:YQ0TD8Q9E/@UL@9,/-OXM\.SR\,O MF%A.(-QK2HQCM(IJWGR!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@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_].:2>#'E 7O7C$X7 MTTEC+:?#S>M+I\-@^O@X6B:%VOJ3>U;$;3F:?!Q.!J.A(9=#B;!B1\JUS2)B M;2B33G@.OQSN9HJ9& M.!I*BWAI 0#D@C J GDK_0.UTM_"<5"8$@LN4YHPO&;$ISMAN*?G,PN,[-@4 M+NP#>BYE5"TQ6 J=(#@OZD!( M@50 &^^U-D '#%LF_*"X1DC^I[=8G/5;-.WKZC0G-NFBT^/C_WY;ZR ^&P^HA;I MK'\,AU,;M3>;CD>QF?I][SB5WLHG/?LPF1XYS:;W'X?Y #=F62+$I84O6!BB MQB:6]\5<[O83%+*<";$A6] 'CM$J1R6[N M( G!8YF=XF)W4&I'V &)X*HF? M&*@SHKXVF')VT(=7-Q\^O(=C'-8)'9=0 &B./'JHL0-J@<,PT=&D@6I)>PC& MGX)PYJL>":D!@,V%_!59$;(.YJR)8C*DYU3'K8L9P3ODV,,O[*X6'64:1K7]Q4L"_22?Q7;\>FT4.> MWT+LG.5>L(Q1711/*MF54PJ M@!-93!G]LCQPHM(3B,FB(;)*(&9)_-I!S.OYKV\^W'Z 8] T!RR7; !8WT6. MR^(*4IOFO!$$0T9#2+-0G9," ()'9&VH/DARP30I'M(>$!3>DN!(Z0* U$-$ M*$.9?\.S'YPO[%_RK'59!PAYN25QDI$% *;/>.-8HKQI42,(12M+PG%."@ ( MABZV0N)8'S%=SG$.J-K.IM /0O'(DD I4&[F3-\3Q1\JH;;05 M\OSL=Y.&@D! 4@:?S=04/]$7.3_SOYN^T2'C9WZF '00X<%0%"52Z6@N6J1. M5BX73?F\[&X<24#7IP"O(G?LK$3^<:6>H,WJ@GB2 GD=B">-O)!N/PX5TB06 M1DDYA,K&R+,I,7-GO0FUL]$YQ?.DPJY[+_H/RLD?BB74O MVO3 H,5CYQG;Y\Q7BS<5#V#$C2.>U=W^$?WADP$K8B2)/&F- #$"I8ILSNNC M0S2 \U\RW]-L)V@K#VEHCP(D1E5"R!7!YI/]K0*>M\[>W'QX#RA!KUTAX+(" M@%S!T0=?5\:_K^-?18:^N M_Z_,]7]U1%\=T5UQ1$LVJB)7M%I7<\YH'=+X[NCB7;RK#FDQ984>:;6NP%56 MJ0"H4=@!K_2E'VV0]A2CHA.BG]M(:8+(N<)S%*OCDB_S(Z )P#(LF M6)S5KM 1B-=711Y50(-V(Z$YZ/).RY]@^6_KAY-+;A/UF3YYEN^R?$>V7QSV M#G%A)EEK"'Y6=0$\%F"2D=3P8SM*%M^,^'9DA5-R>)%2X 3B-X/C#U(]IL2T MF.4_2V,X3(?_UD%!6P".(IDDG;&>1T&7^0_R]*B,2?V'1+VW"NC.J72+(-/. MM .P4-IX]P0R\P? ?<%.6^3"*NYFSGVE2E(N7BH]<+KJK#IJ-!,L*K>1;P+! M^50&OCP5T%X]/%# 'FMD!4,(LL)?G7 SB(+0WV(R\@YE0)FGC/X_6_RR8:F1 M( 17RX!:BMAN.A?YW-'U.;ZKV><8CY:96,]?'=M=_9'M$;%TME1\IJLEH9*W MPF2Z^NC[MLS&T^K97>^D$GD #H"">4J=78I]@;@J-415 TA 3LO&HQY MOW?FC<\VX.42#@'QPZ0)MOOAS*<\''F4(+[?4[43!/>GEBCGX"P@#A9HTV=, M=/ Z;P_!)JH#JG.Z *!T+-!^%P74$@B"16)"RV[I%/3IG@];D3 (<"43DIYQ M9VV J"5*@I8#(T]&%YF?/T_?WWRX!>#%K@<0+FE-Q#L??9;/=OBV.-#);0;A MB.<*S3&8R9UV$VP<>IBL]X5LY#:#: MP,- %7>"J1)XCY/_'7D''3G(3">=(<_WH#D A-6H"U09.J&M-A[-J6&S+['/ M1$GF=.LC*G& PWL]HYN@RQE3: ?'MU]7$0^E MX2$<%@ D2(E77V%@/LZ>@Q^?/TST&J?_UN/TU]@I@ WQ&CN]QDZOL5.@WOMK M[/0:.P6QVJZQTVOL]!H[O<9.06Z^U]CI-79ZC9U>8Z?7V.DU=GJ-G4)=8-?8 MZ35V>HV=7F.GU]CI-7;:?.QTL7%V.W89V[-_1IY-O[0>^ 'SM@688K.A?S^\ M'N?4L-KG_ZJ73BW^T3Q/L2K#T6)M%^AS\6:/K M P=ZC[9S>7Q]TD!_;^[RDP;Z2_-R1Y26M9.T[U3M? D=$%!)%_/%T2W:-,<0 MDAK$T^:6I>MXDL$"NTQLF&[D!<)3[:P1!&^Y(DQG,X=G0_!T-CD:!7T@.,?5 MP"D@I .J>.PKGE(U![&_CCPZ#)Y@;9W[MH+.'4^AYZ=SZ#GQ)/ZKY^'.:-80 MJ]%_2UKW]5FQJPY>>1%_)$A0Q)+;HE-Z=F[F 'A]+6&IL&^UKY$+8H$?J52- M_2"8L@=M=GZ W.EJP;2.F?^"R6(?,/JH',8G.7NR*0CCFK^\\&#YL2#H[#H@ M5R2W\0@O5?/8S-)YT?V$GKOA?N;2K6+X5^3$NFQ>/^2K]95'@Z#P:R-;A6!H M1AR3TJF7ENP>T0V&D"B>T>8W.,:X$J]3DS!#@2$3/)X!U^R[^!6 F7TA M#3E&-F?A*;'RD3)E&VV%S#S[W;0%S4$^Y>;93$WQ$WV1\S/_NTD#J8B?^9F: M];9UQMLI,$*U-MBKN_.KH_68*Z(A,8=4W?."ED.>*^7N!R#S/>OGGS^CV@-R>; )-+<",O4:(0 M$[JYTVW]5Y_\N44>RXF4/$DI;0_AMKZJ")Z>JY22U+BZ,736FW _HQL_9@]> M4Z8A-]9[!FA'S]UP+WG84K4KA-BE-B[*U#4?JG0\'.X7S+%?"B>]_A#"D=I@ MZ9'8$F)+V@:7@:JP(X008DF,"FF#IL6+5-R+")MB &4,(5U'F:BLUE"@[(-) MV#F;9]^R2(3<.3UG'WRR0"X.#EDHB?G(3=31'P/"(:<%:TDZ6ZB]<,@FB&.] M^R4F6QY"W&80#B]]$+BD-,[GU']X-M_D*JW,:RKH .%0TN=] 5'-HY!97/F/ M]]>4;I;=8-%1\'3UZ!.\W"!O>=1QIJOX!/V(O3B5P_?2LU3HE*W_0Q!R8$J@ MW@PS($K+"_:.9DS3 J/X+0@%#5J1&45^M'BD$KQUHNTG#VU]$K*:+/TMRZR: M^)[%+9>HW[U5<-_7?P0KD C-1#E.?H'#,%&T,[5;A=CJ=V\5VP\UFB[J)$+# M5J"?'!1U*JWXBQ,TM7E&HOS:MZAQNV UZ ]JX'Z'@A9\R%4\*%EH3=6O M@QXV\@0*U]+_B$.JS_^&$4DG7Z0 U_:9=N&NS4_4""^Z(2BQ$O_@/.-6Y$7P MM7;%IC;/5I,L,7Q+I>^Z_@M3*1]\PE*2PE64WE,)]&ZDO'GU^OQ&2G\\GO[: MGPR&O8?IO'<__72W?/ATO).R,'3Q1"G+]3-RDS++?<_^-U6OG-6>E3A*.7.D MDG?YI$1_$^?^:8JI#+ \-E8.A3SC8$D_+TGO4NUL_DI+:32S2H(JN0#4.?E4 MI1E$:EV!I'_IB:\ZF( 2P;*;\X!@VXEO*TO+6\B[0$@MTI'/+&IRRIK0N[)? M3)^S6/J+:+=S'4SX..ATA!!KU45#A[ZF,8DM[7_;GONE2^7Q 1/6M0 M:B335WDJB4DERJ%Y(66&Z&E#D[^&ICD&!&VH@OR+E",%RJ&!+Z?]#KGL3Z6, MEF-?",I636 K4MRX7U(^C\$&D36VESXK;D+_?G"LQRWB^CH.#BZ+UM0Y, 2- MKB+D=;*C6XO^'C,GK7/Y^IM^=P@I?:TL_2S1AE<_I0$[:V_XQ=JPBA+#U0I? MO%];?A@(Z7K-KVP!\88C!KDB>6R_2>OD:9>M/[GO#?W\:S1Z'D^5_]2;#95>J52VL#68!(U;_2\ PZ1,NRMT-I0SPYW2W M+X@;*/4T'S0HB^)98D$QJ0#.83%E],O2>(%23R#A @V150(Q2R( $.\BQ[6+ M7IPY;P3! -:0OBPNYZ0 @&#,+#U'8?G)A+OZ[D#Q1_+&VX4&KE%*1J(\'C7NP,U.-;^E0 M:P4YA'T\B:EP2VHH= *M9W+!4Z6L<4B$TQY^L=S(CA\9]P*Z_\=ACA$3GS55 MA46!Q$K#@=9/Q3!6HAG:ALV?JNRPE?8 K?=*MU4I6=!0DX6(='6D]I>B^#9^ MG1H2R.66/;$%0.6; +E*7P*8/!VFWPHZ?TU..Y;Z_C*6NIB.^_/>;/KK<-Y; M_+98#A\7UPCJ-8)ZC:"V!^8U@MJ=".K0Q59('.MT?U/@N=-L"KUK),4&O M6"6G6TG"VRD_4@2@:41J\6&+*+F:Z:U[I$&:Z2,O1-[:H=MQ4M5+VTK_<&FE MCR;+_N3CZ&X\[/47B^&RJS;Z V,P'CO/V#YGDYJ57CR D00D\:SN]H_H#Y\, MV!->$GM=:P2(=KLJLKE\)1VB >RHDOF>9CM!6[DUKST*$,N^A) K@LTG&P#@ M]_@9N_1 LI?8VGB^ZZ_W<_94CCR%K; 7!$N_I"SG3]T".@$@./"WNRBD6IJ_ M"E_0Q>$LQ5&Q+P2;H@8T%:D%@*F$V"+G@%I7<^X!'=+X#H+B<[BK6742RF2A 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* MTK/39VH<5G4@9I,]]>:8O3+&*@9[]L3W2/J?=RAPI&'W&L!/21A>W@5.W+UVY/-Q/1D3 &@+IPD.J$7$=KS"%'IY%R 1=A6! MY0/%(^KK ^KW=V_>W[QY]_ZG-^_??GC]_N;VU6T;V.$5BMRP3?"XA + DRH/ M5!\(PCD*\>(%[:3ATVW]'L<.&LO*1,K/M]$ MC0V<;"(G2I,GFXA\D#!*MTEQ95#@2@0L%VJ4L%'2A1[R^UN?YCZ'+LQO<'&V6F: M="J#&3@215[CMHT]%?8 $!/.W%0V9UY[((=F-<'G[-0\6K\FY/('SXC(LQSDLBW0":-X&?$"=[HC@$CX M:$I42G$$6DS_=/RE7-E/_&1"_2U[<[!081?V Y'+T?0^H< 'N)!K(FT48%$J M1GL 0\^F7>H1^ MJA?0;W4N\R(X+>+T3=7%!N-PS+Y-T;G;\T--1_,OX[A32L5HX(-&7J+B3%WB MQ!,W!YB3T9A,Y)ZV$G($P'G!FYS4P2/K ,0W5R2Q1> 75[<_OZ M%1P'7#V0<4EL(B4VLVTDZLCA)7:N]TRI!P0?6K&P'2W>(G):83K5[RQMOE]V M@N"?J,+Z2XH:YGY&4]:1>W$W"$Z"<@B(:6H/ \UE(.T)P9JOC$3-"^*:_&5< MA;YF@UVSP?1@H7N ?@!* M].GT38\'GV J;L,OU@9Y:TS_\P41^18I[P)AK]2])2"G"!Y*TW@R.B#E>T"P M<2MBE"<( $3=NV(C.,F^HBLVF:/X>#Y?1/V$QQ"WC[G\)B5BN/E*#:@D7:U% M>2+TR)WIZO3'V(66!/,G?CA=K=A_KJG@!^' =UF=/A*3*Q><*D/#VIH5):T> MTJ$E3Q10=4SN:49>-(:'=6K4(S,:Y -,Q4B3Q>?8\M>>\SEFZ/Q1CE'@TVA]Q]L$O_9.TVC1_]XFDC/7_6.4^E*"H=^=O[=?N11 MX/"1<-[!E[?G9"D=;4[@ZJ6I-=6C?=FY>FVN7INKU^;JM;EZ;6KVV@B"XK\B M0I G>.B%VP*6]BQG*Y< :'93]SQA@M2#K](3QE%\U%UB\LX0?&,JY%6[1E]> M(^R^TRS#(VJ12\M2')DH?A^BAG%AG8FU")\> PP[/SXCXC#A3K>^H1?&25=: M?HW7KRX+?'[NST=]]FSF:+(+96\X68Z6H^&B*WZ*T]-.(B:IO9Q9T+N& M#2$@888L^E_G)-$__&_==QV92F4Z!XQ&0-X7C"=!$AZU:.6GU'_*E8>$: M[$6-#9OJ*B(F Z$YX[Q-&')7%F[>W-S> "B+4@\T7-( :,;+R/X. M>Y3GED/_*;5B= LFJ)+'5A4BPR=PE[F+!Q%@OAO2Q8<<6"JDV0NZ;9+P&$+1_#6!X)$!SWDS##2;21^%R+2 XSTHLC1P-T""0/\EG@O$" M_U@)QD/E^6+CDW")R?;.)\1_H0:W" !N2P@E,A! MT*BS<^0]TTG'/MB1UU^MZ+RH :7IZWQ]Z>L<33X/%TN6M[6@_^[U'QY&XU%_ MV457Y_"OB.+SB,.-;V?8I>;IE'=NRY53-)_+OV(\05LL<(96&PZBPU0%X]0? M5(UZ0\X\T:2$#KVB#@!\JW5(=0IJ$;E?!VQYA^5/-[*3-3?M6U<3PZ ^2TM+X:YZ#@\ZS8#K/R%L1 MQ,+,%GNG\B'RZ/PE**CW->FG*P&).F&-X[.(_M[XT;%P\!BC@(K(P!^'_&Q/ MU4XF_78E$%&@J'$H8HN0-V])KF%Q'Y-^O!) %!-DZ/"?L_12@0J>^0U.R9QR M^G2&%).,YDK\Q:\ U-X+L<@QTK#,/E*F;*.MD)EGOYM6;#C(I]P\FZDI?J(O MMEWI7$X$%5 D0%[:& M$+:O!K20-&A! OY$IR\>)BR7?4:U%OK?:"URSFKTAY *T 2J7&)A1B*6Z$M" MPY+0SLB*KRSHAB^[]$O]G#\R5Z8^>8U<'$-7%P#%UWW@(.PX#H3 MN+BZM@VYMNMZ^7+GA,C]1-D:W.T'+@IXUUL*6W?9P51('"R8XHE)BU.(&@,I M2U$@<@)(S!AV[67(V>V@6 MP37M]IIV^_L,[1,R_+Y%"218+P]7O3N$R%$U45"G%=I*_T;\X0 S=:]Q*NW* M7^70,QNV$L WB1C!T]6=?WP\)#C5W[[;+S?XL)4DE3+W/ A+# *A9%@%&$M0 M; 1*5;1@E VK&1!XI]S%^9R6@AIY__(IZS[3'ZE=HZK)B'I#*#I6LR(C(K7Y MH*$?A/IJB5Y7",7)*JP]93JA+-K$4%0D%A^TQ MZ)7--A"B*6K=KN/R52, BF@S' L\55W5"_>]N2PA>#>=SZ>_CB8?.U,SD)4Y M/3UJ(W]OE=/22'XN56:=\ %9R#[]TY'KO36,A:A?80_.Y%'%8@P]C;2Q&SC7>(A'M) M@@R_&9S[F@7'LI@$4X7 \"XBUH:JC_TUP7'P['Q^PD06C;X ,%\ASO78,ZS_F!IE.0*D"C024TEUC^B+WP&4G]#F,(>3(%!.3?%N:H M$UW-@&'$L/=QJ'QN^YX=OUO$_CWPMT^4"79_RX2W_Q3$K[1+\-09!()6K@FX M#GG0%F=\*T']'2YQ MN1/DC55'JN$U)5 M4_DX?73JY9X"Y:\0)GV;CMX60%%;?7GA&'#2\U BMI$S"R"JKCJ@JM= @SGJI4]?VH;;Z<7\9 MH!W]Y2*OL]P0$!+/:EC 6C1#!ET!5#AZC:*AEY\\9.ZGLC/'C!-4:*HL.MD@ M4/2>$@BJD-?\,U/8BNALCJHQYZUE23LH6DL!]R440%M$AUD66]2\AE!4#L7% MP",!*!X*3Y%S6T+1"O00:>I!-'.QO:;:26SD4=-A@7>(H!"[=&O1Z=#CNQ2JM[A!2 MS>M#+4,8 )1FA/[)L.ZL-Z57'6<@$$GF=2XX#HT 0)QC5O7.HO]B M=?#*X7<^1KO0E8^+EB0/ &I]RV(&>S#'%G:>.8GR%<9I%[WR0B@M^Z([2+47G?0RGB MP%R0.H84$*$RY3SC/BM\E-R('7[982_ NG>HWDKN4'W?8Q_L,:]ISTL_V:/' M><\Y?+2'DZ]>KUM]T[G!Y&0 A$)Z.534&,@M79E8R< =%.W!CCR]UW>W=S> +C5 M4P]$7-(:#+'>[8]^76K"7/HK)$6&]0: D 4M%[WSF*PJ98T[$=ATCW/B^'*9 ML?PQ0@31)7LQB+4-#2%K6A'>VFB&%A7^1.W_8^Q: M>JV>VQ)"VE$QA%(26EA]!3XJY:6F. Z$3*)RZTJ1P"8@.]2)]]9'(T,,B[@M MA#0B1=:+B8"V1W6M9I%2$.):L^A:L^A:!:?%*CCE/%?S9WTQP6>N@O6@#PPW/EXH*QADNF:+,V[TWX<'/[^KUY1XDNN[E$-//6 M4K'!;-CRE;%2^'02=+OU6@:CHV4PQE_U=;;J)3#TB(.V+,?7>VMU^Y%.,TN3 MA>8HQ ^NCT(J"O+B]7K](?B-5+/ ]"B#MDS2^;*B^\'(L]B=(;N@]$]!'PB> M)XV%5$!-XRLK]WVZGSIA\L1VS@?)6U**'2&8VDI2=EQ1BH291$;]YE2)02#H M";4AUOQ=J7HWPD/^:\'6=VP%06M0QDI(!50PSI>CN_&P-YDNA]=G-JZI?-7SP*^I?-=4 M/JTXXFE;*TPY$;2%H%NK)YT(B Q1VB"J*%%QN,PS'[#&.D>*,2-^]1J!6! V@#2Y,Z9VC/Q"M)\R01ML<.>F+N6@?S,[K*# !A MJRN6QRQZ.M0!0/,:1VH]CB2Z]DQ\"V,[OJIS=F:.&$>1.PJ"B$DBS^&CTQN" MIT?YMK,&72V'(S+3F<;?F6$Z ?O!)WW;=I(/RR"K,AH$!U"Y4(4>GBPS ="S_ID 8;UXQ@)O]D6OF< M*6FOE6"5]N]8&48-RF"#VO>\"+DSXGB6LZ/_0'M.H$NO:\?J-ZH1!1M%K@!2 M(BQ<86FF_3M2WK$$99T!=4F_$FQ\-W-:3%>+T+?^C$E9$F>]%GH!*H_:D4J1 MM=';/;%8$L2>F;U'>S5_0N$872DQ69*\[B%,_\9NE++*6AE*M'?WXO&Z4J&R M!E+->3'FV,;;Q"9G.T]V/YI&81"B^-7HHQ:2O$$Q<24.MPNAK0CU!>+]&7.7:9B3%D=0*X*6; )MBI^IK > =M2\LP)/?"T<%; M7QR'Y??J2I%/98( XY:=J/QAA:).72G[J4H/--#N\0JS5++DICV.T\L^$C\0 M:X/"]NU"58=_34@*/)1$KL#A:H4MIJ!4\)1RQV@7S;K]:H7D04.8GN5TU_@[ M#EQ/5\>Z%[%0BF+TTB[MXE?=F2:G!AI<%S61G^@_+3=B^EF6DH+,Y.+N[<)8 MW8>F3AE42/,G=M^S)WZ2;BW4891ZM@MD=5^8$E'0,)SC7>)V#ZB]DX^&"K"3 M]F@W":.Z+TM*C.&K B./_A%3ZQ.S@OC/#O.F/_@D\V>]RP,?+B\/C":#Z>.P MM^S_SY"5EC]^IK?R2<^)/]0+V9>ZQJ@:2]F1WU,)U^ M%&YBV9-D[HH:P[ED4(A&?OODDP-@D[RD5 ;8^F'M/_\8YP>3/4/O??H?#+CW&> .?_Y] MT#]WD&=^@) <7219L6,Z,V>S[/RT$+"3_0 A+5:'G6S.AJ5S(I+."8P452WI MG)AFY[]F G:R'R DCNJPD\VYB>CE--Q@\J^(.('M6&QD2?E@<5L(Z9I*W)23 M 4FUR&BN%X:D@BTQAG"91(D8KBIQJ;=WM4#9D:2#F^T.>Q2&,"$P8H%?:MW$ M?K:@L&)/B9% G<+:8J!#*30'5T+$V _2A/^+N=_AE9_SM@R_4%HH+QT/D7W, M'>;!HSTIS]WXH:'$T:O22F&PNS7I!1(6^HU*0524DJZ<0V2B*&T9IR@+813 M3B6,5T#&-2GB*TJ*@!/%KR$IHG(4OS([[X<"=K(?0!DR"NQDRT ML9.H6/0?YYH5_=/O8[Q&[I#JZUSC@]L"3OEJ)8N#2T/[C$Z^SK4D+G\V;#E( M!"/E:'Z^H-F9S].^O;EE5]),IZ%KLIA+0Q/YDH.#ZVK!7%?T_T2QCXTN-'': M9&$7DV:72%:.V9*%LV^0#ZBB(NIDT!?5X+Z*@W16PW"#'19Z=H*YZ<*H,8;(,;X55 M(* &0%3D>I\&S'T:P3([UGPZ3I;%]>>83H4]5Y^\[10>PO]]SXYK1="?D)OK MP%M^M0T-*FQ3!'Z]I+?P0/,QU^/!)]A94U6<['R6:"&!5J47J.B0$FHJ5#4. MR!S;D87MPP1RXC#U#N]Q35=QTM"A!"JW[&RI84!%H)0@*T5FXQA.(D;I='7G M(V*S=+%G'(1Q"5M6:&CE6"R-*3LI'H(E!@$5\E+"KP21T'(W>>/%XJ2,L0"#:C2B*#B=*J:4B6*H0E$_IB?K@3$ M9:O]Q6\L)F6GF3[O#[^@+>67'=>@IDJ^%\Q]UZ6[W M=)@*I:?ZSH&*6JJ+5 M/%N@R9^ 0KW-!D8Z6EM+26$OZ@S.=(40C ([IEAH#P[!=@,D1=K\ZXC0W6,>73,V^:HBISDT!+,3D,!I ')'?Z# 1TT^YP M'9BE8P8!#IFI.W;0$V4L,WQU+]J]*;IH=_A7?S( M+_,9R2[7G3VDD*!UJ-1.T1Y) @>*37 2Y$' MS9*ZF'C\KJA0_X&M M,/E-:0N7#P A>ZSJ-BZG$/Q:/Y2E]-:L7/V V@W[51)C4U[.LA%,WIZJ<<7* M2 2/, N,(I>%1=-P)Z-"?;L6]V\57>&KS)71%1/8_H:;9C*/G:T3\O(%U+NU MZ_ 0/L!<;7?E$09^Q<7OF2EOGTGC=M%JSC]U( <\1C%E6J[FMC%JSO%S( <\ M1I>A1E7 >#W;1:\Y?PZ/-O!03K"R;R!NVBY8E3T\S."1J]HXQIH2?L!6'[+(^>D"QH MZ&FG5X#)IA!@IG9-I9V$"8$-+_[X(GIBC@1VNWSG$&%X77, "):\')8R5$%; M2?+[BG?(E<0'%?M"L,O5UI0K0NA6+GA;4+D@/WKS10J*"^?RZ@X( MVM2PF (29A82_:_S143_]/L<>6M>-8&SW\P7"Y#RDJV"LQG7OSFI\Y-[)_SB M5\,7^;GHYQC9W'UM)58^4J9LHZV0F6>_FS09!;"K'F%=/#9"I69SC#9(N:POW=H:Q:KQ/1/ MUF4232TC0O"0FI0+&6^@N1=4Z.$]*9&2%CKQ@:I^O.@.#<'YUX PU//ONO8:"_R"6N/ L$C:5A6R&'N524J3YTLBJ8T (&5I A.F<-5V4FSBQ ML&__$24O>E4YU"Z'@E!LP+"L7#*E&U+"8U!E9QV, @6M2P2?%>V]&MJW;2<9 M^12R%3A@=3J:M']+N-SEQ#2.QJ].N-GX+GM<89F^?7GO/#LV]FPZH9 X3Q$] M3.[V1YLZ?64Q?G#ZTMZH;523SE)]03T"6P?IT/;B3YY]FOD0$?;R1C!='2A8 M1$^!8SN(B(U/G0'@Q$94<2]#9>,+._:O!XDS+"^3=2SP.D>'LV%K+?0Z60!M MP7,2;O<3/YP?'\Y)'N+)/]C#ZU1YYS R$Y-NT6I;D!%V&5!2U)0.L_[+6I6( M5DX,?(R0J'&\J(=)#U^EG5U.5GLFTB$RH6057;2%LXLI&4(7\X=V*%[,=+TF M>,U"B[[K(I+LK()C3+$O')M'('G9LT:1IM97R_&_TZ?]9I@L-HC@.Q0XELH: M*AH!CHDB@:D497# NG=2C]IZ U*I<3K$X,\^]\1G@OXT0X M[WI(B?[P[F&=OP;8V1F%(<\_NZH685$\:>7+1GU\^FGZVUDN-9/K&6"4QJ40Y-._%5U4TF[^Y M5Y!U@X6T!8:RG(0!-0'7[#&9@1_$-4N3]X'B%G%E16[1ESH'AG!GI2+@=;+# ML#P.E&%_ M/AE-/BYZL^&\M_BY/Q\:U?="QV8.,.<9+[ 5D3B.3I%S M(\J%!RHXK.)>E#P$,UV=\Y#G56GJ(R;.^HHSO]OS!Y#X:QK]HGDG3[,2F%4^ M&F4D #64/[T)VF*IZZBX&Q"W40M+KUAC'__=V;]S=OWKW_Z MO;NY??NJ#3' *Q2Y8A;?T[C,0^Z54@<=ATE_N$3183O4=3M M#,'>5)7KH_ZI01_89:LLPB(W8_W#M^^!;(I%V25=MZ[150_FQ=;(,A7Z++Q1[0W!G]&D."DS IKC E2/M/U,[E,INAGX=:F%QKL]Y?K(';(3+UXPN>LD;[(46HH"!M"!0$H1S0T M*2/$,DKAC$2Q/3[P[!Q5G;F MJY@!P30*@Q!Y+/M:MKEKC@&BZDUYK#6IA08XE5,2*YO(/1Q&\<3S0IOR!-LS MM&>-^X0PI[RL&$ = X.H=U->-.I@02?E9>![=#4$L5I\CY_"TZE715ADHX*H M7M.PI,CHAR8F@EWQP(J+S5'O)!&/ J+N3.UGB9A>:+!S:=?Q!0 I!U,>0@%5 MT(&2*^["UB JM=0'%EBUO*(K2GH9KJ:Q(9AL37KL:F*3X?R5.791R%1-$NX/ M[\VPV$?FY== *Z7EYM5E2LM\..XOA_>]67^^_*UWUQ_W)X/AHM>?W/>6\_YD MT1\L1]/)HGMY+EGF93EVM\_]HI3.HC66B2U';8*2)!2= 2#FE)1 .[M?Z) / MX(3)3DJ:!\!K""3;0U]D18 !2M>H $P^S>#]S>W-.S@I&76#Q26VB9R*N1]@ MXEM_BA,GSEM "%Z)Q>B8#W$^[>9+G#BNLW,\%$SP2^A[0P^3]7[@DYV8M85= M(,2)%'A=2$8FOC^:Z_ MEFQ#:OT@Q &4,2@BIF$OE-(UYL'&P:OA%VS%CH_I:N585&I$+Q1*6T-PSLNQ M*22AN07Q$?G6)D+>.L14)4CU@7%H%ZV(PHX0'.K*2Z*0FB80&$?^GG[R7\X+ MHA]-M\33>ASX/TB!T.L/P6>N@(<>4= 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[\??^*GK]OX2@:=<+');0)XS@N+?B(/)1QH."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]7A;/FBT]2Z[^@#P0%JLGUDU> MI:P 3#W*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 MTH1TB6PR7Z)R9:'5'&?=ATZKVH"IY@N:)LG?\9?G&VTO?,) M\5\<;SU ._I+N!?LFWI#M MLC=XA]R9,!#8=")['(1YQH MU"./77>.G5S_(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 M)E:TUCPE">(EQH%3\;<\ZMDMH00+ &SI6K.6I@"7&@E(CGCI95!: &I)$Q?Y M&XA/UT"X9^?3>7#I- -)B56M_A R=2M(\UV =4#_B%WQ*C-.YK4)3: H9 '4#F3ZYSCJI0A'AD3>A$KQ\P>XS?J3B MO"G:,0I[0\CSKA_W0K([@O8"TTW+_@TCT M)'JP'6B9_]!UH=WHN] R7^N*$XT]>9V;N,Q1)FK<5G7S,9661.H&E%T<#Y>H M$1SWE9S?:55S'@V&*LKGI\*NR7(=2_*FACU'ZR/G\)_=W-[=M7 MYJ_E5X.#2U(CUP!=% 3])+R$7H+("8,'Q\4V4T=??O.)Y$DIY:XF_7$J(G:Z M JA*41-(?%H,F+&'R3,]4>G.2<]Y]K[G?;3=T?^ZCUC&BQ@,G=XFK6@M/'2( M:@*2!X<$8=_>4B:Q!WO9XQMS_.S@ET/BWO+%%R.BT=GD BDI>T>,-,B$9O)< MJ"E%'DY9!W->S&(RGHWTX'2VR5F9T*&T@ 0](3C[JJPI 5G-)W7'.?],@KP A\DF?+Z3 MR1I"<,%I+!@!%-)Q((K<)^)&L)QH55 [/AJH(!(4Z\V7DQ' MZ.@1-P7@8Y,+F9CYAOUL-; _[Y3Z<'/[]@T,/ULU2+AD 5"SCP\V'!:Y_!41 M86O3WKVSG?!DC*MI+\Y<#(D]&$ ML?KH,Z$Y?$CLJ^8V@Y!&S96&HQ7*G78CA:/B1Y\+VD-#RAU"T4Q//[9WLKL<8Y87D]344XM5EANTK=#,T7%TDAKD M"B*7DK80@Y=5T$SC-A*2#<72#@L_.Q]A,$W2%D PLU#TCB"(R>@R"/G8W^W- M[9O7,$*:U8'ADF8(JV'$2EEP':>7/YL.6!8*5LKZ_+0KLS9(9Q]@ZX>U__QC M_( "V3/VOD__@W'W?8:[AS__WO]T[I#._&":HSSX8^]S9HYFV7<_%+"/_6 Z M3%O$/C9'L^S[OWT!^]@/)@U$%?:Q.9IEWW A8!_[P:3YIL(^-D>S[)N,!>QC M/YA,K%5A'YNC6?9]O!.PC_U@\G4P%?:Q.9IEW^#_"MC'?C#Y.)<*^]@BY0SC\W0+/-^$6D[ MO[2M[7!6LIQYOQC7=$8BR1NU+7D<>2/CDM<7N:W[;;NM.9XO.?/ZQIW6 MGT62][EMR>/XO>3,^VQ<\I8_"YC'?C#M]9(SC\VP!=U:I.H5M#7M[Q+P3CYI M $ERFIDFXX([(^6',W>/I"H+^'=+RJ7P=/6:R;>4PRY(=JY3C+Z*=/:)[UD1 M83F6"<4"P"^;04B-KA/-2PK!9> .D;69$=^.K'!*#GGVNIFW;]0R;]FG* /B M;U$0>D'RM>ZEW X]2OS^5\?&&49F5NZ%V-SM#RS.7F90R\2M]5O7*@.-)>XV M(!/7.@37.@37.@37.@2@ZA HA6W.%0K!W0Q^,X@U9!K:W<5,, M<=M+".P*2 MM@ N:LA$\(SU/ H:>P\RV?K8)V/OT.D-Q'0R!4]#*OE I#J[A20TPEJ7XDD>&B&N'S]UGLY<#8/"[J8#J^4P*20+6K!$U[2\ M"#B<^=@JC&!4OYQD.D5I@*RX&Y"8F:I$RH$[)^[K 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'\!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>1Z60X#2Y>3KY)1BY?_&)& M9AJ9SF;39V1F\HTRDK92D,E<,].Y:B68F9T^ /WZ%%\]N!=SQ(R5,Q8*>D/( M3U B4&[%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[\?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-PI64)A=$5AXD M; ZD=*;L@F1[5-6?5T3CLX=RX;W8 M;&L5,=[P(-(\ $D2CT?0,E%C+_0H""(JT1%QO#7=RQW_L&=G7-3!\ O=Y)U M;+24& A$-D$V<^'5]O5TA;3=8TQ8/ M08KN4S'A3]J$SS&#-;U@B*PP0BXSZ6YD8MSV3-H5Z?;C/&WS$Z1XU[.N6U%< M)=]K5U1;"?2TP#5H GE,9DR>L>-3/O&]9QRP!1?[\V/E._L[N^D[\^Z#SYA/S9_F.8^UJ[4M1+!:YIE7[$5N*%)=L(-22O:70+5K^5OMRN5K00G6^8@7$'LK]<$KZF^DC>O&A&\ MPF^U*VBMA!P;YAC(2_3S(*IR@_Y&XP;]?/'I>GV>J[UO MU^>E$C3']#QS+.8T8?E@GR@& =W9I?<."_I \#\UN3#R3V=(66&R[C;(0N9M M7I6_UD"_UD WM0]=:Z#7>WNS>S70:S-EK[?"K[?"&Y2WX5^1$^Y''M5CHIA! MQXMNN2M(:#)\: M=[[7EF<0G+J>W?<]K"&>.[[-KW^E5[?;9"&T;>_KRP9J-2VCJ^D^C>5&:6YA M .;S]=W5!L#4;T;>$S7CP2>'/[%V(OVO[4E\O9?*V^8D-'%NSDP[,JW!+,Z2 MD_B&+Z37S,EO4)R;N?>K__U.!"8;V3U:%OBO[DIQ(>F?8[J-.4G//]]I)VD' M)/VQT$55G_O 3DDS@T& MH;;KS?):K:G!] M.VLLO_W$<5DHI]?Y9#J=N?0UK"$Y/*;OOT=/ ?XKHO,>/K/)ZUUU?\=Y+/[3 MW6+X[T_#R;(W_$S_[Z(S]]GSG)!>3>R 7NPO$K 80/>T:X,F_QKN^YO;GS[ >>*W#KBX!,)#4/ZR M+[\M"(]TD2!*0()V/W..=Q&Q-H@5,//7!&UE1Y"D Z"+]*JGD(0:L.@4UR<1 M=H%R'!5*73%(D ZE>F'*[]P?Z,[]"M#15!MT7#(!H'F:;G]-<');NJ .C+@# MB*-*03SSQ5S$] # YVQOO\A^D.L08Q#7_PM(D"EX';^?S\H#G02,\QZ?"$:% MCB BJ#K0*M $SB4KF;/4>UK<#T1,KB;X8#@''QP/>9:#W$6(PGA/2$N$C.Z0 M2W_"BPW&ND[#]Y?U,8\?ZAV_U$L_U1O1!G?]<7\R&/86/P^'QER*2M6 3D54 M!CXEWZ/ 7K(QX'D7M7NW5>"(3H6*B&.S2\)#C^+HX$!0%DW7MA$3!N*].EU8HE M*.4[=_K&Y9Y^.#Y="S>C?$/S?J;:MJ(\86 4=B&SIN"VH1X@B5FON$-B*J0 M/@F9G(SQ&KGI0A87RY2WA[,I\:7I6$I33H:YM2!D8N$[5^.$"$[!UO+7,(*?:%@Y= [+*P*=($ M#<93]78^ <*X1U$W" Y99?"*R8&&6]^R_(C.;(XM3&=)#]P)#@^4BG9%:1<( M'EAEO.2D0,/J/L(/E,XY=IFQ3LUQINO*L9)W@9!:KXR5G!1H6,T(WB''/E1. MI#M!G!&<(U8 F5)/" G=RL@I400-0!6H3((B*,&HOO4UQ7Y!>>%1G*//[(B1 MQR)DCNT@XES$:@O:PM$&>+PMF'RK/.ZO5H[KT*VRD,/9EG!.;R7^9J<.;0.Y MQRM,%Y<]\BQ_BY?H2T(753!$9[6D YR36GI$2RB !D_F#)KXGB7=YP5MX1S" M,E $DX>&1S)#Z4$+Z80M/EKAL7CLH">Z7<9Q52]Y96WCNY36(+F_5N -4^]N M\A2IQ8FI3BI@C-5\G+(.$!QGND(K@!&^'Y1=8J4V+?-!^%2AF:$]\T?(#9"B M3L 5'%_%E $#;;4@W28YY(@NP S:0\(]HT>8%)RH*%U'^&EK^D_$W: 8"OI M826C!AQ4F#C/*'2>\26-0@-*U@6"":4)EY0>:(#%=H8R5L+6$(PJ/9B$I$!# M2!D^MEYAL8UV'ZK=C'PD?%Q*T!:8RZ"OI?+*@(77AV\K0 MK.'3.^\%3(G01J^00&@XIO/;/_CDDV=16X,RBLY[Y@=.6DU([@W4&@&8UE': MA%8B%BK6EV$F;@M@JD<5=P<\+"Y)H5N&&]GLNIM/8EZ'(7&>HCB==^DSN?*] MD'*03F4]\D),<%#DS*K[(R97;RV.S+H9 DVJ!OYVZWLQE=)$P8MF$#QCS2R) MO#?MG&YH "X)1D%$]H40\AI"4'V;!Y%'.308^[;M)-^?(8F6/L_&)W0@G>L$MVSSBQ!,=^P.R_Z8K:"N) B-XH$/3S%O8! M7;9 DXY+%BEKZS#0RYNJA5Q.L^AEIG&M[V*HODMW"BHT5=OE6E#A6E#A6E !5D&%3A:?:JKB MR[7XU+7XU+7XU+6^2R60KO5=JGK!7-=_8<;4@T_N_>@I7$7NY87R@F1@O3&Z M7QU&CUYH/I&,,YYN2%,24Y\4:IUA$M?;+8Y BGMV_MZ,$I6 04TJ)H^"(,*B M=^>%K3N?*R"D##Q@TR@,0N0Q!ZTJ:KDNG?=(RLF#ZXT\D3E=3:D=%9NGVJ6D MWVI[(!?+_G+X&+],-WWH36?#>7\YFDZN1:6O3L>KT_'J=+PZ':].QZO3\>IT MO#H=KT['J]/QZG0$Y'2[P%3@=Q<1!0^XC M\8-@1OR5,#,ZUZ+S/L4<-=# .'B,\V\-$ M!5B=-X)PWZM0WG(IPF<$0$/A(_8H-2[=P%X4J7%DZ% M%$$#;HX#3-G"JM/?4V7(]7=LEY##5M 'P@4M+= *Z($&67P/Y$A@<@?D,%EQ MZ8FB3A"N5VF!5D00.-3.B5-5*\S>@FE&G0 ,S^E.51% V9:M0O2^28BR5$$# M:>)[/G?%%ZCJ"OU:!?!# P JT @-SO1NG%S;N&@%07E7EL0L1!>4P /D5$R? MT91.6(B,J#D$O;TD1"*2H&'U@!P2I])1;>=4&C(N-GZLTO08EXK ]M2;8U:6 MB7+B#@5.,-@@;TUI^^01C%SG;VQ_I'R5G'E-?0R"J5!*3IIB"#@I\PEVUEZ2 M@FOMEP1Y 64)G5$ZYSN\HFW$@06M$2!8(>7D08=*:""G4YQZI^U/M!,(VD(H MQE *. $]T" 2TJ:K\<*HJ5 **@E-T. Z&5%I:-'Q(CKM4U9KLATIZW.H%61NFW >&J56S"%E1)U6$YWV,/BB*2P M=;MFV:O&I(!#6N-/M1WKRF3DI^A9O.(^[2)29P*/(H$P5U(=&S:,K?9U$SDW M'=TEJ:%WFGG_&3EN4NXI<]GF4/:'&7F62"_3':5=O)M(R-$FN1L7E 2%V'1O M*_U4\;;28/HXFP]_'DX6H\_#WFA"_WO8^X_Q=+'XS^OUI>OUI>OUI>OUI>OU MI>OUI>OUI>OUI>OUI>OUI>OUI>OU)3C7EY*K )*X<[9!YR\;98F!YMU0J2W. MK7:=["I%5R7J&KWSMY-JXT17!$@<&.][=OQ?+LJ&R?O$"1QO?1^Q=(D9IE3: M!0\'M/)E"#EG-:]1%;&LE8?01)9#;X&H27MT_G:>E+J..&51L'EP_1=M-^R[ MJF[8_N+GWL-X^NNU:)0IKVNW'!M->5ZOCHVK8^/JV @]]T) C7E8[T&@:Y! MH&L0"%80Z.IUO7I=J5''[*09\9\=:@W=[3_1"8V\XPW0/C7PGQ,MI^!:98F! M.N_%+4,T-,\'7+^[Z+IE:9'MB@.^;_\1'7(?V0.2E-A8 I?^'-,=Q7)$4SW2#8'^F\7'SR__2US,_\=_UT@6&I= M(>PM;:V\K"BI<0>:.# O_Y0DM^46B&E)@57J"6&G,"$,2LR! M)@NC[0XYA#%JNE*XW"!J#>$"N G,A0R!AO.US$!-U\I-2-FW4J4@9A-SI''> M$1-;.)(N$*ZSFQ 8.5>NUR!+7WAO$\SKY4D0ER??FY>$CE^YC!\OHX<1MEEP M#WN!S. 4-399V,TDYB)^0 .9DDT5C #?X^1_,X0.T,X)D5O@PM(9 (*Y48\S M2H=J^)!?/OJJ##:O*P2WDKYQPP1)M?R1Y!U!X'@ M-JH;;#G%C>OA'.FSG]D[S4M_$>UVKH,)5Q=7ZP=A$RX'F :1\)?FC. = X#MI M0,T2T@L?\/P+&*E#_])-6FH$"&Z31G9N/KD&5.IC!.;!)Y^H^DA"RAGFLLT4 MF513LM5&@J!\5?-]5"(?_GI.54@Q_II](6A?37F[N 1#P_A47#K)ZSC%8(O+ M:W-Z0-"VZL%32B8T%-5)KIPG#4/-J@=C':H[ GD2+:LA15XZ4.>+7)0ANG$% 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.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@,?GPZO7Y*R;I^#WV2_R- M7O8C/7_5&RQ&AIXL*2&\QV(EH[A:8G+OEJ5''#.D>(^7E.BOOS:#E+X 6S^L M_6D-!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>G953Q[8RDP5S;X2_@3/!+T,/D_7^9]]E M5O7 _T$NRT5=3 ;5BGE<-/O&=&*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 M7O%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']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^]-G!H8>VA?EE>@.T"T&TC6M=W\ MOTH&K8R,=K$XQO!>EPM>OC;H(WU3*4PL(L'$6CAFA&YWR-N761+2$=I%I9*E MJT"-P:-DN4&.BSR[V K0':)=B"I9QRKDM(O1(O)P+#=)_$\/'7GG=G&I%'66 M$V)P6UO0_Q_M?(+I3HMUH%$[Q,W;]N,2T4BZ'SACMXJ-KO^O3T]HE@3CT@9B* M4G1I2=R\7>9KAZ9E4V^#SX^^';DXN$?9'IKW%:<__"F1[5YEA MVH5*_VYQ"9):/,'_Y: OCL81SFO?+@+:=KAT[FVP^E>J.Y###>9B1@M;M\MF M;5-:,G.37D'DO+"(>1G I#9OQ&XK[Q )]Q.T MQ9PBC.)F!BHQGB%0J1*CF#!#8)S><^FO"<9);"4_/V[!1LV^AJLY%HE="HT& M12*\#!14+(5C49$HD_3=U$I?_07'#-0:K(QQ*S5IVBLW/#XOWEZBY'!FC(:@ M1:Y;1T'?"V+SU;65SZ$S;-FT[? ?ED]%Z$LX3*I[4U'#Z\.#X(??73_ ]C^_ M"TE4JD!S'8\6'$IG[Z>$O:X0[A]QN&&/=3#2,1Y$V\A%H?.,9^P2M1>B-9Z^ M4*T_V#B[_HHND+[K+@GR A2[QT5"T\!W()1NKRQB#?"E<9T_F6?Z+L#/V+7[ M01(3<=D;T!Y?\U?I9?(8J RI,I6E"O3_]X\)1YVD5OW__O\!4$L#!!0 ( M "%*G%#J;DMEQ1\! $54$@ 5 8W-I<2TR,#$Y,3(S,5]L86(N>&UL[+U[ MD^LVLB?X_T;L=\#V[$0?1ZALG^-^V7/O3*BJ5+;N5)74DHY]/8Z)#HJ$2FA3 MI$Q25:7^](L$^)3X )](>O:/;I^2@'P)^4,"2"3^[7^\'VSR2CV?NLQZH81\^^5?OOSKG[[^^.4W?_OV3]^0 MFYN0TJWA\YZN0P3)3U]^C+^Y"ZFZSG?D3U]]^MM7G[[^]#7Y^.F[/__ENT]_ M(LNGN.43%W/'JIO:S/GU._B_+6=*N,*._]V[S_[]#_L@.'[WU5=O;V]?OGWS MI>N]< )??_SJ/Y\>U^:>'HP;YOB!X9CT#X2W_\X7'SZZIA$(:Z6ZOV\].R+P MS5:%HWV9HA9V$3DJ&^FHP M?3;\!=2QJ M1T.+?_Y#W?4VK@.Q ;.IE%3 \,V+& M_UEAC[#%5Z;+4>L8W-CA+R2Z[SSWD"^J9.?F?/D/>]O@%XYTR2CB4=\]>2:M M]=.FY2^R=2PC;P&S-75N/J]K"/W?!37R2T3O?_^;Y-O_D+H/(XBYLW.]@YA- M-\8V<>64QB5-$0^T*@6C,5?4#NGPJQ2WZ4B,"),49?*+H*UU5'* M<\Q1U [Q "U5+1J9N8V0#LER69N.14F5A&2)H$LXX<$1<\/IECAB^#7B 9>G MR"4"PG=(AU>NB*T1#J@-/I16](5!. JXN@[XLA$^+%&YJ/T(!ENIJI>C+[.<#'M%CZY7-E OFHU@?.8I=CDLTVV0C\9<45L/ M0DF52+*#C[TE]9AKS1SKGH_^$MTOVXU@].6J=CG\,HV0C[]\65L/0$F6<+H$ M" ^\_'A@-GT^';;4R]$\IPGB@5>D4':]D7R/=+@5BMERE0$4B20Y\!B+YGDG M>#8.>2A7T S]6,M7+#O>LFU0C[D"45N.NX0J ;(#C[VY8[H>G]J3&/;./?'E M]OG.M8J'8E4O]"-32>WL0"WM@GK U\-B>6A8W MIA_^![8P/Q;:*+\M^G%)A6:98DN=XW0;I4"P5M7G6HR!*8JK#[BM!N#/UJ%$ B!=?8QYK.8K$ M8RSU'=:QE2=BXS$E8(U3&Q;'X"J*O=R[3O$93$X3Q&.J2*%H7%U^CW1L%8K9 M='P)@D10'/H,9DW-D\>']\=/VPT+Z.?/ST8?L%B>@//M!F[^:>:T +@K*"9B,8<'F*70ZZ=!OD R]7U*:#+R)* M(JK#!F73 W4L2*=XL(V7')TOOT<\VG)5B899YDNDXRM?QJ8#*Z9&@-QP4?[) M\T %YO.)^V=J>,4Y6B5-$0^S*@7CE4!!.Z2#KU+T1CT\E5;-[= 6-D8Y4-9E;[M0!^9M?@3Z) M&!#)8> Q^Z-KGYS \$1BFY=W':^H'?HQ6J!:=FQ>-$(])HMD;3D68[)$TAWZ MHIT$<)GHS9P7R. Y%0_$PN;HQV.YHA>W[W+;HAZ=%2*WO8L73O,Q>2+I#YZV M&%"XTL]>*0\PC%"J0IL4-D<_6,L5OK!6B-PZ)S&F#G&H$8U>#7<( MO#L>![^X)4D8EZW0#\U"P?H[SWW M+=C?N8>CX12/OJ+6Z$=AJ9K9T9C;%/6H+)>XY>B,B!-)G83DA[]?:IJ0P2-# M%<M40Z1!4$;G_[-*9-(N(#P^AZ3VV["CTO&B$> MC\5*9;$RW0+I^"L1M"4R"IJ#X^&SN_$,J$NZ/A^VKEUP4I/?"O&(*U$K&G(Y M39".N3))FPZZ9Y>$1(FD.NQ)3KAKX!X.<#G,-7]=[PUNLL4I@!JI(%;Q5D-Y M)\2#4EWIB_V@DAY(AVP-P=ON#0D>1#"9$,F&I/@,'EDFIUP/_).R&G?7+1$/ MW@KU+@/*BV9(AVF5M*U#R?3!I""M:3C*>A9J S+;=C1#,D?%_$&9:CB*89DG M;U<#,ZQSHF=H\@#$\1E5H#3_^1UR;;[%[8([AF(Q/%:[TGH+"\C6[(AW)30P X[I./X2C MO)'XC1/K%L_KQ>/\?KJ9W9/;Z>/T^6Y&UC_,9ILU@A&?5]:^L-%81O%5*?O\ M%F,8F=V4KX_)M:U9W^'(>RPH75_:<"PC\$JYW%'XB+A0O8*P'8S&Q^*Z])UH M5EC=8 CU>M'HE7I;=W"=5K/U9C6_@RGL>;8AT_5:Z_0U]7T:^!6AV54CY."1 MKU0:.+(M$(-&@:"-[\@(=OYV21.$L;A<%UK&6EG".K?Z7/ .\/?3QT+_C/[[<1>#9N+Y4^#.\/S MSLQY^=&P3T5K,]6^R!VTE@G2#JO4$;$#UY._\5#GY(GA6,2$?]"$D1Y__CTJ MK1"/(U-[.(!;40[9S RHU0;JZE-!#GH-S9*&OYHD$ -A4TT:KV1C?B3V&/&/ M%,])T46386!2HTD .W3!I&:UR0TQVUTOZF!))M.E_14U*5=[:]-G&N1?CE/L M@AP*513.K--*VB,&.26Q&Z_:0N+$BZD3OE*Z+O/6B9I'<3[V6KYNTZ+NA#@T M@/I0AFV[;P8?>V3G>L1R3]M@=[*)$77D3?[?;R9_^LLG ?[\G]_\]5N^&H3/ M[SE-J%Y&OODX(=Q)_R::@+=..#__2,5E1+N?4KP*&(G&LL*&GR9__>8;:<1/ MWT[^_*<_M[3B<$#[V=DRVZ968D>_'&9+.R 'V6IETQ!;W!HQP"H(W=0K(M(D M15MS@-BCMCD8,"&GD)\NU!M67[]8X>$ ZOY$'[@3KZAM\ !U:7@!JX*HBB[( M04I%X31,E;5'#%1*8C=.KSOQD(=3)R%Y$M+O%ZY4(L)>U9X>I M;D?K^:>LS MBQD>9Z('H8?5UPM_[J/DHPNF!U Z7V>-@>3<>>7:N=Z9Q^$%9KEH@AR'\Q1* MXV[Z>\0XFRMFT[$7$YL03DX/HO2B4&_XZ :&C4&;X8! [$E.+8M:&^,]"53+ M0[;*3LC!0DWI-'R4]T ,*(J"-QW#@CPQ@#X)C'<]&#.LCK#DC MS7+J?0ZV)SRXIC?A05G!OO"?)W_].MQ;_^ODTZ=/H]D5OJ<>1SR0(I-Y5K3< M*6R-' $JU,SLLN0W1>SW51(WWEN)Z1)!6/,6\ !JROS()MYH^NPWX6,?/X4> M!I_\8^FY_^1.+@5><@$#?^I8CQP%0NF74)+6O7Q;N&Y?I-[7R 3@B[4Z:O9, M*[S@:[3]'3M(AY.Y(L20&T=R#@KVE&P-6TQ5_I[RV8K2",=>6/!GM,#QNZ1![NB%IYY-N%V([3HOU/NR%Q#)@\EA?X2040@E MFB!3I\I#QX0#^UB827^4]/0%;DN/'@UFS;A;.C[ERBZXOWDJ09Q:3Z132@/U MT\&=0C?$@5X=Z9L[L^ A\)XS\<6*Q04^4:Y@GWY>&03^_DV@L/Q%;01-M_F* M=@K&!6N5 #86J.IV,&[@<&40_*DZQ1E>+SQW5Y[Y^"UUMEH$D'MB?6/4N:R2 M]$;LPPV4Z/>*2L(0YRV5?@R"^8)*?QJ3&^*XSDW![SWD.@OV,(*S6%1R X#R M1]@S*B"'/A4%,XNJ8K;(P8W);%;[(@(XA,BR LXBQF(C)I^MK\JPY>! MM#[&6M-$:Z>G/"*E!1,JM5L<**QADW8)>[3KLY]32JRP$5+4*5MT.,ET4(L>/6HR(0ILZ[]XO*%U(YI#MFBTE0_CTG/A M1, ]$E]*11AOXT2;^GMJ6^("VG?$A]6RZZ"N+)V-K[#S=[CK]40*/ W4 MCV-"M6[8 \6:6K3.#7D5&70@O]Y0XKGA*RZ@\,2EICA2Q M514MSKH8Q=E'I2;L^07G)QKL76N>9#X6 MV*6X-7*_K% S[98%31%[997$30>KI$LD89*BK&?-UI>:\VS"K[';,9L9@=:TW9A?9)/4UE=#WXW2RC5P:0?DWE.M;-G5TE&LA!6$[NZ"J>X,OV&4 M'?"::;*#U^BF:5YWI"[9U! *]TVO^F(_5&BB"J);IQ/RMF?F'HX:'#,Y,YI][_"Y;73OD\5FEX][5MS9+=/NU?W.4F*UG\)=1&YVB/EPJU@ MAW>Q^^S+R;-@BJWJ@W1ZJ:5R.N@K[8 X[E.3N^DPCJD307Y"!(,;=W?#6M?[=Z"CP@FL7BV'OJU=8(3X2^1XDE7B^F(V8L2X$+#==KS^*]CM%5ELIH_: MG_5^9,:6V0S*AO,EPSIPS5_WKFUQ:)2'P!6/%-?HCMRSZAHB[7NJ?1%[9VT5 MF@[[%*/X6F)PUO[N\7#ZSZ>W\\?Y9CY;\T7'['XV>YK>/L[(\^+YYF[QO%DM M'A_GS]^3^?-FMIJM-VLR?;XGL[]_GF]^UA4BZ#!.B=I:T%'MT?;2#N-!0(7G MVXM;CP/ENG[B/$4:SVON/>H;J6@G+#2^Z[[>NUZPH=[AUO4\]XTY+T61?GY+ MY*Y9HE[:)W.:(7;&,FD;W]\$FC?<+P[DGFXU;>'UK-@VICHAS#'MDP7;F'#" M=/E]\KYNT5;],"NF 7[I"1$+0UT1TF _>8>']H]\Q&1%7CB9DZ22>W\U^B*% MUD8FB,_J53MB/ZBOK4?CW8X]C0[H/:@7X8OS=P%:*;PR?-^%2A+AX3HQJ1<8 M=4M#\\979_,#G[P/9M;'/-1WG^Z9?#N=YXW@W'H;"V19=(4*JU MZ+KH@1RE%-0M672EFR/&*16IVV6PA5.KOI=&M6DXG&?>N0ZW1 "7J]-Q4KES M5G9"[I]J2J==M+P'8B]5%+SQ271"G@CZT3:)YJ!B0+7%,D 71/6MYW7EP"K- M!X4ND4[Q$POV=R<_< _4BY(NSI4 IM(5/XPI&^ "S"K[X88T=?&;I]A(PB2J M7:@?T/I7.J[3"..,F"$;C2Z>W)N_SJ8J6EV5=T'NTBH*YU>5N&Z/V(65Q.Z@ MV$+L(;KW. ;2-Y40B.5BL.*,7-D)N>.J*5U\-WA$\Z^BX)W=#L;BQ(/I;0/] M,E\>:G6A3^-)FT21@H/:!^;PZ :TJ8HE%)HCA2-51>.CVY*VV ]P541O?XR[ MB[BDAZ?88"\H0>,@JW7?IYEBVN0Q[;OZBL_TJ2P\Z4+EC3D<<19L(2NOBXI; M(X4R136O"CF@ [+26*I"XG;'"]$%A+Y#";5J#J-74[6@@TY%==[/++#)&$%' M#6]&!35]S(B9)^Q[1YFJJTXZ-1ST46KK9 8_&9YG.,%Y:IK>R; 57INI[(;< M)U45OWB@NK0/8G]5%KU%\41@0"(.)&31>R5>OC)BKC6#*HD:U>?\8>$2%BKM M4=%U8'B!5E5OZ0MSG+ZUK8P">]=34(3[:]&(-EU?9]FKZ/J5.)J'JJ"NX13= MC2]JBQR42U7,Q$IY#1'#;[F\S2NX!F'M'4&O?ZAU?2:.G0;75$9.RPS#E]6E+S;E!\\#\KTKC6*G:G8] ^N M]]D)ZX=LC/>E"$)=I]JKZU% [N$-S)&WN:S0';'G-]&B;1G LWBZ/N9&X. V MYJ:.Z1XHMT$:* M?$:GNA1P9%-7.SOVE M71 C@*KDS6=!29](!L+;,]DHG;\#^ZU4VJ$O$$&71P #Z0[^K/V4_W>EK3&"[PU']5)1"/^0.KJRZPF6.42S1U&7O MXTJ'[M78D-ICO]@QC-(3>)IJF.L=R1.<%X90ZX$4J6JH6WK/(VD^QJL>.=+W M>=O#V'$HR5SVV-*SZUBCN?/1H;URKWUH?G9X,)51+,0N\\S5WO H4W(M ['-Y4K;,=D-T M Z*C-S)3K\+IK/1T.+ (D1(;4LV9(J]J;P'7FV MF+;(M33QR\T/A%W]6SE/'H\:RGS@J=!X+'M M*1"5_UT("*#@E6MS45[F#K?^R<"7*8Z,>HF3?M.N6 &(QZ4K2I/Z?% M^6/X2N^$Q"*14":2%@IR.K-BD4@N[4]A(C.O%$'CBYF UZXCK%)V8IK3##DD M%2EV&:ZDVR"&A4)1VTS4W&\%Q0D1-+E?^_Z)6OJBDCXT]/<&EY?<\)4X9)C+ M^R/?D9-C,QZI4(L8IV#O>NQ?\"2*:#LA?_YV\O%O7T_^\NE/(HCA?W[SUX^3 MO_SM3Q$U)@PEOG1/@1\8\@:G$9![:M+#EB_\O_DX(=SI_B8:@?=-".\)3]2Q M5VJ?]97I_3_:S,,AZ\:CAG_RSL+4TDAE"%O2'#G25BF:1MRBMHB1MU+DQKL: M(>$(@R7M$(O[3!/<5$%Q_RK[4F7NR' O>D(<9@L'_LO7WT[^_/$O_-,TJ!@^ M'(CA=_FI98DT9L->&LR:.W?&D06&G8+< H,K=40. ^K*9QXR%&!IJ"-^\ M#G;$@@ /PAP23N,1X3W?,9$7[0DH=D?NYNO)I/Z_NA=C/:PC?=)A'+$C$@WQ(<2$AFR\T M[1@/:0 :\M#Z1%BDG7QHR3TQ$VUJ:"W/$; MFN7B>;$Z)!!#0E--6M03BL% )A9D.$8WCCX TR_$12,(F3EG;8]$:S./*PM4 M9LQCX, MQ["8P=SXQQ_7$29 \W2FP4$XSY*Y9I%C:,2_; M(';+0E%[=BPD[,-.@W_:^HS[KJSX/Q M0T&W1NP^,P,Q['2L()),#'WE=)'8\U9_M=W_ RS1(.[48@.98CS[^^?YYF<4 MN?E3QU)>-BIT0SX]J2I>D-J?VP?QE*(L>MMB2RPL\3O+76(-X^&]*WMU/8!, MG^^U^_+4MMTWP-4'U[MW3]M@=[*GIBDJ7ZZH2=EK]>OV=6D@]_)&)LGL']',TXB8JKT7\2,20)!S[?2]-*3H7IA6,63=QCEXM!DW4$EIB-H4 MD$X"+^2(G5TB3#'4Q)1@A4W+@?@![!G[$F]!WR*N# MPF\NV5)R"G@D!RF\X8NCP1NU7RDY\!79WB8'U:C^()W M, )B>/2*%5_GV38D]7$7';AHQ="_3,$$'?TLW" Q3XUU+8:V2DK]9$#>1$^@ M:<7KPB(7C8G\#E [OQA&,PJ_$^SN\M&$+N%;EA#Z/QN]N_QMZ@"XKC)SNFQ3 M ..IPB@MH;SSFY!+PUMX?,'&A[.X]["DWAHR%@H6,&H]D0)\ _4+KE 6=4.\ M#U-'^FXN6BYEP3;)2%[U(9P5$;RT7[SLVP@B[V>2W \D'_@:PN(3A<$A@<\W MLH'&ZA I6PC%?7DCMMIR%ZW'X^QY:A8X>+KI.)PZ5^)N''D=WF'M\[&Z1&N-F+M(KGJK&BO;96SH MFZ-P*02GVH\)A_/$[A:,4QR0>'$/.E^XEU8HL%9^2^3>6Z)> M8:4#V0RQKY9)VU5] TE6CU_VJE]8S #AU"IO6HD%'>QF5E2M*VZ-W"4KU$R[ M94%3Q*Y9)7'CV63QO%X\SN^GF]D]66_X?YYFSYLU63R0Q7*VFF[FO$&')RMK MPZ;^BKY2YT0+!F)9.Z1#L%*U^ @DKQ'V4XY2F9L./.8([3[F*]IC=1D75V'W*&F-W(R79V]VR#(B\) ??8\NCD2CF!@>$\EP@@;W$L?GC@*O MLI(M#=XH=<@'XPMBP/8M5+.'&]:&!G;HO]-_)A^T7F$Y#'B.HZ20J\ MD :' .\'ELUUX%KFE#MTQ<9>='HZV>Z9BY7,R]U 4Z@BWN^$X ME'<\>BYO> ,A%^@0THF/)P^&8[QPM;=G(EZ?M:AD(-IQHGMVC#+AI#1_]/\8 M=CI(4:U+44'G(V=FLB-4XW'?'!Z%3E*=)L#J(&I6^2%QYA%V.%!NDX#_5L:! MV<)80.X#Y0QV._X)_X[3L4Y2$2Z11X]P%8+_)7?+)G Y+W54:_(AZXM??'OB MOR#U?:B(99U,J3 ,!_CE@Y/GR.$0'[?QAF)XB!86\V5NW,#GM;VZQRKM& EY M$M+7< 3;J[HW<*$STO&8K^.0A9)B55=E,YE*>Z0SF;*JV6I(!8T1KT.J9>[$ M15 M!/!%MA=?/9SZ/I]%J55JXLZM!:KN.@^,V'/(KV@\7N>U@VPU75<-&\=FVK8NM< MJ2-R\%=7/GLX7=4+,;37$+[YH:TOMB^^C_=B(C90$,OJ^T$4I1(K[9_6ZX[4A9L:(MY=K=$7^V9K$U4:S]E[2HR7%T_4U1>E[&&?32[P C?< M?Y6KGO 9"Q]\GG_E7&_3P%9=LL-8LOWW)=GLF1_NX/)^DB^3&?M66<^T<.'[ MTCSFN-X<%@]NB#*:T;[R"W6BZR"P*?PJRCD,O$\XY"]; =L3'%N)0UH$V\YB M6CGY:OKZ,]:B@W S M*]0<#HN^]US?7XJT@@)C9%L@1YL<==+PDOH:,9[D2=ETO E:1!+3@Q;=:W/L M49LJ:!A*F^$08!&50)B]0ZH1#[[*=X'+VB-'ATI5TUA1V!@Q#2VW+NJ>R%W-T6U,\N! M\BZ('5)5\L:AJ:0O=ARR'/0Z[9!Z&UF]]3OVBOJ4.\2>:W]/7ZGM'N&,L-RM MJ_H@=VHEE;-' "4=$#NTFMS-M_XE=3&N4_3U.O. .ELIG?4[LG@M,HZ_Y=W7 M4.UG6KCNKNJ$W)75E,ZLP$M[('9F1<$;K]Q$TD*R?HN>10U9R)=1NW7I;Z72 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%XS2Z#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:-5Q $#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[*)F3ITW'DB[#F>9/4 ME(V,<4MWO$UQF;5Z%+!/M?7-D9D_U;MCGA0;:-'44T)>)&)&4MQ(:AJA"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\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^>/P50KXD<] MX F#]&-&T/H$OX7OVLP2M=.8$)?J2GL>X:]1XV?@]EJ 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?(L8P7.$;+PQ3P.2@6JQ;Q*^9+R$QRYQJDFK,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@DJR-9EHFT+DY%.-J]"?*'O9!]2: MV2QN\;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/YYDC6_OH!],L/D MVL.N$+72=1;E#<.D4BMO&I=>)C=RAP@T(WM0;<);^APT!!60YK?8%L3P";_)SG;?)!E97L%P".?":?_1#X\&>$OX,+K9)>]O\6\+ M5++HCG+LL@11$"&EUU6R6V]3,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/"])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'GRBVDP:^[<&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:D5(9_21*?YED9FSETORHDSW!*X>"B"7*/SU,H\\Q:ZGO$?ILK9M.Q*(EI M=KU.-8ICBNSU167]L'UW@ROJ QW?2K(_;NA62[>L*Y# M C$*--6DJ9?,XSNH]^D[J&FF?XQ>NOX%&).0LR;(0&P?C6=)I@UM"5N9&& 5,4"4?,92@88EGN,+G=-UY\)=]X_W7S]+;:5 M0X1P\"K\[@<)R*&$B=2+ F?I)=(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&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[=&295;C?:0! DMFH4Q)3FLH^/1L\S; M DL9CEFTF="*(/))J;VQZN4\%%%#/$EUH%3/V0\)_RA1,Y) %P!IM)EXK7%' M/0#F^,65,-D=D#F5&I%7:5$@=YC7B1K##)LN=O+V2VC!\L*R+4F.'\EYYJ46C[&JK!E3RK<&?[^P7;? MQ!,*TO#60N:]KRF\!E;_'>_F7)##64]F57F?NR$+Q*#7EZ8]O$43 MU%?.AW?3(G8X';TLCT6EWXC=O#"3I++32)V\HUR"*A\7;'HZB@B:.G@W MNF^@A#\Q(3DN)97 J+HSE=_'""O"WI$JU:XX"F J_:H M<4Q![#X*_T_7/Y"'Q\5/:XW[KS0 G9>>^\HL:MV>/W.?GCN+(_7XFL%YF<)+ MX"Q@M&JD-R*$?/PW-TYFA[4V%<2^TD*9QH$N7^4#3Q(QA:R%#\"7,.<+$K,F M"6^XT^+PST[P<=@ 3JQ_B832505H>.LEYC%BXM^A2).'K69NC#G'7G_C0AZJ M8S(;GB%*=E$V;C?H- !;Y%@VE.$+TN1[X8D8)P=3O8,T^0D)121"Q@F<%L=B MBDW6S*:M+!-8"X^U ^^8?@ZPKQ>;GZ]#HR?4X!"?_R5^J6/*]JX*Q ^U/OQ= M6_K#*1KE2C8?;EJ]IT>N"!-A#O^W3<6Y@F--#_!J\;_*RMLH=D4^O=4Q0'J* M4NF'>)JI)7Y3CTDS@3H3(1MB.!9),](#[8.;0.AME.@]G-M'YXH+)\S*\ "7 M@O.2JRF2,XZ "XLUI864F#HQ$2 $ZT(:88- MRS5/($=>Z->-7HT#\(-[D M%K%$K*LR];V!KU[K76!Q(UL-C S)( M ;RM8:Z?OE6G@3C::ZQ*XZM_,B-=[VAO=2F(=:V!@YA)8KF3FLR6V) M& XK!&XC>!+9;RPRW?EY[[ M3VH&0C'_4K.\V+FJ U(04EY#5K9&"FZ*:F;>[\ILBCK&J)&YW,S#8&P[9T,/1]:"D0VHLPX($ MTOCF?6U:J8W"]>_>T#78G>VJ: ML&E;Y+P579![L(K"F2=P2]HC]F4EL5M,O)*X"#LB\B2BK^G)W#XUGMJV^P:% M7(3&5J2QT:?&"G"%2><62Z1GUX'$L#@1[!'*3\S>H8K=U1Z-4@>D&*2N;+Q$ M*FV-?8FD)GSCJV/P%EU\O"BJB$ *7Y*L9XOJ*S3D-_#2IU_=GR-M%P7::EC[ M#*1QT>^K\_WC5^X%KG?^"9;C]^Y;4?9E;D.D6%6M7/:AXLM6B&.C$F$;Q_<1 M22)HWEBNW/FA^6L/Y9Y(G:^!^O%J1*T;]F5)32TZ.,))EBFGI 0:)$1.HHQ( M42,2"PNZC@H1J+3I&AH@A>>,< M2<1R(O/'\&!$?W;)@8H)7Y'R0,'664;VV@3W)_'ZP(K:8+ZEX4$<G*=!"D5_/(&[T^L2)[ M>*$]CI(/)AR9)V=5RL;+]AD=2N2H7 X*J0ZCPH \N3MV^7E?1YUMG+M;O0L5 M;'&V)#%N6>V,]9ZBO2)A6,Q3YLQ3YL MR0+R<(/&HT)BJCR6@9D,E@3B'BLE9VIXY(/KB3^V)Y\YU/>) M>39M&F[,RU=7#-"#!,8[E9,A92+/7;0PP[C=)T;XFDUJ1]]U"!?08@$)J WQ8W:0B=J%?%CD:=XI5D^M5TCZW;CKT_%H,SZ&U>R0VV]<"%VL M>@DX7W<:'RZ7Z# T)$M)Q+&G'PFC'?-ZL$_1[K7D!.K'O) 70]&F.;]VKVB M6^:"IIK>EUW&A6FY"I? 6:;]^) L7_PA0=HR>%I<@]W5&/KUK""QU1[;9<(&U-#"G$=F.D\NTX%4JCVJ>KI5#GP"%X MDY"IR(R1M]'U0(EF*T7FB*Y,I0I&FO)T "'^" / ZP)2PIJ 4]1[= A3:H:* M[,*\KJ/"D'(-NLXK% Z1<$.'%?U80ZHMKM&BQ8(H@6%IG"'ZW4":D[+9"CJ/ M#@G*C*"60YCN.2H<*%6@KSS"D-F$;/*RZG1E%O=BBECGHZ2*R?>?W8!&VM9- M!/G=!R5WY?)W[';"U:)S_>2V]/L$-'$7RV1^4 M1^C\]R<*CXJU3 U$.;_B?W3K*!4KU5UG7GT2%%F1$4]@TN>HX*'4H5Z&77X'+1@ 4.>K&$ M5#F,%E Y?MX5BL?P1N19V6A55$8'!4IFJ7_U*"8Q*G!0TZ3K*T@AHRC/0U.M MS*&M$>=Y9),C>\WTR-:A>TSN0ZL=[Y9U1^KX30U1D@U2V'=\F2'5JG13B#(O M7R1S2U^6+4Q=T->>Q-&?:?)@<)XNW2 XDA1+#84KAS3(9;U.NUAS[2NGQ J% MX-F, E+\;&$.A8547O=1!4S56O2RI$IAA2Z4T&$3J7Q+>*B3%FN=>/1G>)[A M!&>^4O1.5V]/UNV+U,T;F: \8S:GX_@"I H]!KX(D,VA=;Q&ZR+?+J!^P M@]AV-&V#'7QRCO7T0Q0GUP(W$K$C(3\4@5A/IA!TTB,#_?(1^9G MGZY@^*F:(*_CV+"U4/E28+WJ-494+59"+Z2> @&7T.;@.I3#(^2&)G>P!-#: M@*0GSD8 )CSB%)"MX$+Y,' /S"1;ZM ="R0P[T[!R:,A4PQ0VKWU*W*-@1?A MS(C@AN:R0O=VB!3.#I%^4?1[U[7>F*VH=:KUN/#R4LT2D(R:C@\9KR1O=R!= MLO?V$G+2#D>=J5R 01%]%+%;9\H6:=4ILL2''0^N]YG[JQ<8C$>&4&_%Y,N" M#91Y4--;D=*X$*F.>4K02H7,^)"LEE9:@[Y3(EV\MW2&9DQ(*JN9:(?)0>Q9 M *$Q;Q'.IKC+@E#"2D( %!@[B*6R)HF'D*A*1+?HBJ&[;E^D M8-W(!!6)H=<=1W5*429_UZF@(:L>8:%5%<@>+!&K'.3I.IS/1V]R+!QXD6.Q MN^?SW2N?L5\+/;V\!W+_5E W[=4ES1'[LHK4C9<0XFT5^>Z\&;J@^V^K?F* M0TA<8+(Z_9'#66U3I,%-N3-BJ*NO0[LT@B2'(N$U(<"- #L2\].35S&<.0!S M1/$ESHHJGW"UJW9X_^Q"SY9BCP'JU""!'AOK&2$.# M>F_$V-! B38SI0"!B!G9GLD'X,>7-U\4H8;PGA-\'#;(6?UW@QMN8-AEN#&P MJ<3SX\>TJ4Z1J5)O<,4\T4&*?+4P8Y>*-_L:$1HGQ"@81P%J2JB,#W)4E.D) M>F+6U="C_=4_#=9+S)/ C<9G_I;&&:(S?^-.S=].S*,S_O_!^8D&>]>2LHKO M"PQ8HSMR;*EKB#2BJ/9%C".U56B<>A(R@KS-D!61O(AD1E+<=.WL#&:-%"V1 MOE7X6O P>#B8WF+^X%[I<]B5DX$XH#* JSR5BHKQ/>.S!-N>Q.RVHL')T;@Z]UPWUG0=5QO0/OR(>2N,;'"<=OUO'5 M\5%']R1A\<1_&XX]_PWR0>V3Q5NEM9(4#9D' M" NOP#N9D3H^M7N!D4KW#(-Z7V"3[$I$ 1$A .%L2RR#^2OW. M&A\XT6PXKLX>,NSX0#J&C+E7"(N)N[RQQ> O=ND9?2JR^CFC&(-AIP8?)""'$$,XDLYVD!_BIQN,.[>OGD[ MP8(+$6Q(R <'I/:@?@HWGS' ./F<4L?.*+];V76=CF^,;06#BHG?)V/,3>:6R1 MWD%2Z4:33JM4C \'1O[6JQ4 L-I H5X4H4V=J66+=8=A\34^Y];DUUJ>M MSRQF>"7(TH .=F!I:IK2))XJ(IAAI;$N72[F$J8DX@K+WS1?- D^O1MH>K%1 MD*(](0Z5STV++&6#66/(/RZP;"T"R'&EOC&:Y1DC1I(&2NC/*T9UI:$O4Y5< M:6 Y.<;H(.6!.3RLZN!*0SFA<4*,@G$4H*:$RO@@1T69GJ G9CW>*PU]6B\Q M#XXK#:DE8_K11845YD5SY-A1I6C1KDFZ+6(N(7Q'AQ A$QC[P$8.?6"D?SX>Q !VK#0*?X\W1Y^8XWHL.*_WAD?WKFUQ MRU7NJ!9TPN[G2DKG'QCD]<#LWVJ"=W$4\,P-#\]3NK8-Z\-H;UUO!;.>];_8 MZ7=2%VYH1ER$SC+NXXI>U-1D]:9\,P1 MB?!BO._B7=_42X>R:@,7AARY-,,_D#N@4;+>+Y@1P2UU7*#W<5QMQDA&P#E_ MF.B+?2!35;P,O#7,7S>>X?B&N ;W3(/87-=')04S3&-B2,&U&R.EHZ=FE!#' M5"T5:NI?(@T\YDM2C"<$#B\CWI/[6X:M =*7@T-<35I42%ONACLP:J--YNB%\( MREQ6#.\9[ESO(.JHI^5(TH8"5SP%0V4]#18)I>FRX1#F6J:.E#+B- 7L)HV)%]"J:>JCY((;26RNDPJ[0# MXFA*3>YV>4EAW#0A,0,2<=!UBMROVIFCY%UH Q$!I=YBQY'V<><>#M0S&6A_ MI%Z!NW;GF\7>?:L>K*UF0[)BJ<=*S$51WI0;[T?E"W \,QX*MN*UA0Q2&X\A_ M';CFKXNC6.[-WF%"\:FE<(9:U \Y>"NK7EBD-:\38B!7E[VC$B7 @X1,2,Q% M?^K>$,K3D*X(U80AW*/F1Y4C#'YPO56,P(N=>*E-[AT5V4ZE(W9O5U8^+Y6O MN!=F?U<7OI-I?969UN4KA9(/BJR^H+GYY)TE"(SALFV!&6L10 X& M]8W1[%(M8G!HH(3^2[2H[N_W9:J2^_M)S@R&^_NSW8Z:P6(W>^=HY[S0%8?C MA0.F@O\!M+X:-L#BBL)!$A20AB^FCI7](-6RX!?HAQ-RD.K1O&DTZX$-8MCK M4]NF3B]E$L]7A%(1$ L>M1>P">6QQ3]23 <%R*H("[=1:614#XPJ_ZT1-5N9 M94D]!@^'F!!5TGLJ_SL7A?WY2$C_ -( !;_8X$(@QUH]/TH:AH>5 #%":S)$ M4YPI06@I#(FD(1\B>;[0$\>.S+(0"[/8=E9D.TA@@Q!Y(@-EFH@H?@8O5D!\ M/U*<[^,7_)VC<.>@^GO%R$X@;Y*#=PG')&Z]_"S5H1<0/ J8FCFEY[L8S*<" M7L0(PJ=NK>C5VS,U.DYMR1AN'1A>\'LRW9:^,,>!15+?!NQW^FU_50_$"TWC M6%X'?&Z/ M7 _NDUS8O#TUI%-E1V:*[U8T)X7]JD4'FK6Y%NN41Z^Y3@B5Y'V?[5CXD!2\ MURE?"=QSZ6YVKG<#UY8&OH2AT9"P!(B73Q%S&4A,TST=C_*)!\,&:S[P*6CNP&TF@005E8+5 M>R/%_X9FR%R]5>N*>/E35X/&EVM3?"38 ">28J6]JJ\64UC,-VW7/WDT$PE" M%8B(L<8ROU%]F:7!+([$!8:[;H7"Q7*2JBBX:8_^ MA[-')O[WS3VU3C:-JYB*#:UV3WP4[ A?/1B[HLD.Q<9=>NX_J1G(?92\K9B: M_9$"0&-3Q/N\=3ICW]EMI$N+JWM>ZFEJ(RZJD_.\,/%2@D#!E*,4)=Q"&WC? M=E SY3P]3=+\R,8E(<=PEU;#ONS R>B;1KQXXXY8^9JF.A,61&KJ]G[D3H6 M"T[\%^"!X,GSJ'5["I[=X&4*.G$(@ DXXK3F*B^.FZ_,I MB(E\.W$;A+CB@MU1OC.C$346WHOAL'\)D+MS'8YQS)*;SXZUE'.G^'.Q"V-3 MPU['J005B[>N:"/'FTY-F :C3@@C1JIN]6OJN8O5]]/G^?^:;N:+9S)]OB?+ MU?SY;KZL4*Y?9_+AJA7A0 MEPC;>#M#D!37LE,ODF[H>T!N^:(O?%J6G" I(Y+TN.56;UV\:E M'9#[9K6R:1\M;HW85Q6$;KRD_OST-%W]3!8/F3%\M_C\O)D_?T^6B\?YG=;! M7#C[WAH^\Q>[] Q\>_*90WW_GOJFQX[A''UM/L D 4EU9_R.>")WJ4%,KA1! M=L$0L6,/HW?C62XEG;@*G,@W(4)"F.O3,O*/0RE)2DRQR$P$)9&D"&(#W#\ M?G!>49.R5[$W4!%BY+=$#H0EZF5+;EXU0PPZ9=(V?@;@\7'QT_3Y;D8>%BMR MO_A\NWGX'(]5G:&P;;MO4/WPP?7N/&JQX-'U_>H(0*4?\L&KK'HF/J[JA'A@ MJ\O>>)A''$0-+LF#2"8()K,!],?JYI"_YQ]KQ9K+0&3SD*5DU+%5W&-VQ+)Z.R]N,:N-U!<$R<)-01 MS#W]ZMS.6XN?LTTR,0IFB]*&2+VM6KGT>[37K1!ZEH*PC0_$5XO_F-UMR'2] MGC6+8%2&5S7"J_89S:"KP'BE#MB3!)7E;W/)FPO .,:G[L/!XB-U#8YXU#;$ MSIKN;,#>[9'-[L,Q!0ZD>6N4NF'%-MJJW[Q MED-Y)X33;7W96XSJY6RU^7E"EH_3YXTX2Y_]_?-\^<0#O@EYGFT0CG3UY5I- M$F,=_XK+N3K]Q^@5/4UX8;[F,L[7C!GBF/_TV*47X%"]'U2V6BQKC-3!U90L MON:#9"JK?Z>GPYM\Q*([YC!YWOUJ,!L.V'1?QNDN36CQ.%V1Y>*GV8JL?UYO M9D_KWIVL=*5!('[(,R'-P*)S0XL$'?L)L1(TE>.4?H*S,4'&NQ=R[7=%SY% M<^/8(,J;X5F8B>@C>X4G9 *N%3PR*?','%;2'K$[*XG==! _ M3.P6X1K$53-559\1#N/2V:FTP\@&AT0$A#"-*J:@*^:H3<]?.52KMWM@5B%RX0M.D(?)Q-US.=H\WW*0VKDSDO4KFJ M2:FR$_K1J*)T=G26]4 ]6I4$;SQZ!?D)B1D0R0'!+-*WYGK]]IYN4_M;%;-% M86/D?EJN9-H_\ULB]LL*@9N.RMO%:K7X:?[\O<8 )JM:U5Q2W'I4@[-T]BAH M.IKAV1UJ EU<%7N&0Y_1GVJ[N\1;%WO6!#O4-:@?*;%%4]D [ &NHF M-RI*FZ._5:$F?;^U!HRM>PK"^Q1<"L)\_P3/:)S)UG!^%2_-O%+'[A:#CG"7G;,W-/Z&Y'X14O:I^)3[U7"EVX$KR3:'XTSN)NHV4$-")A^+X+ M%RDXH_ BAA^_27'!9NA+%/W^)H(\ ?I$," A!^VW*7I6NT.@[.PR.-P:^LGP M/,.!]^?4,W84NR*%V28&N+CT7=D/<1Q02_S&917O[E:?9_?DI^EJ-7W>_$SN M%FO--3Y22M=(8U'J.*J!KIJX4MUK-(.\E]2,D 6)>.!:@0Y@ &P^OJ(K%Q\7-J31WKLV.F/EB?MCZSF.%5OR32 5GD^-"5X;(%Q-O11(PMG:G6 MU/$@#VPUO]MPWWN>Z:^?%=F#JU_SCJ):SY%XCX+Z>0Y2TFT$/J B?>-A'O- M>4=Q$!-TY>D%>VL%MLY@_ADZ::W6K=Q>F7Q]K="G_'Z98AK./+]9)^:)[@< M10RY=>X>H\?:X2^QA<[;>^*OO6M;U$.# MV9-<4CW,Q.&3H)4#3L9@^B?1<@ MV-65%-,]T(WQ7N.QE+(>2&&RAKK9"R*%S1$O,52D;IZA?;=XFI'-]#^1C=KJ MJCZE7<8W;BOJ^!2W']?([;)R#Q GG#JNY7"_2J/PUYGA.1 U+:FWWAN54TQ) M<^1^6J5HY@9505O$_EDI)\OI$R64-<4:".82GI4%Y&#KN")&VHM#2\X;SS#\0UYI%1Y M'%G9#;F[JBJ>/2TI[X/8>95%;WY(\#B%$X+E=+7YF=Q.'^$YT[5X/V"SFCZO MIW>;^>)9ZP%AO@7J'!36H3#2\:]\<*CT<]!HN!%!#.2YH9K"36H3;"# MQIU[.+"PEH=CW;FB4CUU3*9P2MF4!G+@:&22-'34(H 8/)KIT7R?^^EI'I9S M /^X6SQO>! Y>[[36H9)R0A5$VMM(K\'%RF=7NM1&+N3='D6%K,3M6 R#''- MLT-;!B=^K.D+F&!%C_!NB_-2,9>6-$>."56*IKV_J"UB/Z\4N?&5I=GW,&C) M_/EAL7J:0CR(9[2J3W%J/4"'"!,N@[!/ M<"8>-2E[Y4LD_\2]!F[D&C;T9GP=Y=%7ZISHE^3^)&H*1$4!*._)^Q#'"$)> M(NG2L3@O[PRO0UZQX19QG1=_DO[L8)S%JY#\.T:A:L$^3.;D.O@RV?-,C@:? M>,P3O'X8J4+>W)-MD;W!^QP,/H>!R(;U"I,988>C 6]1.BE. Z=^]O^;"PXD M9H$C9AA*]_:8W-D&&#PR*ER?K^-7%'PP^SIW]?YP#0I(D;V%.2[VO52[(PQ' MVFC1.)G@:?FX^'DV([>SY]G#?"/>;==9XX K+M5>0(K^TN5ZQOK+)T[J7,YL M00ZYI[0U5*9*0D-:B'VHM4J-*RI(QF+[6+ F6=XD8HYCOM5N+VP E.BXV*6! M.#S7ON.&\45"%XAO+655K*I\I]9$D8-1-T;+% 9M11$Q,'6D6/,27M/5[.9V MNI[!&<[3W&YA2[8M'[EV2N\RRFJ MF?98OF25CQ2QV+OY"/W7)DCDV8I-O#6&J.4QJ^)5Y=EZH P4HCHWGB= M/%X_A@BE0^6:EXM*GNAF\F@]D@(R"A,Y)LFTRMTTW4U_A(+ CM/E9'S"X4^$76.2J$7(GS5=,G_ M7OXL14C5CB1R+^["8)FIN 4]Q C1B5J-IW).559>@7^DZ$](ZB6EDE;8X >' M-4WX!TWHBP^]Q*#PO3XDVWB&1:.;!^&"AYL(KI3")O-G9\MLFUK))^4HUH(< M<@1K:Z@T>C6EA1BY6JO4^/8T,$[=^(EXDX35A$3L4Q\BQ"MM-HQMYJ5L=@K9 M=7A$.K5M]PTV7A]<[]X];8/=R8YXEV\X-.B.%$^:&B(^-ZW1%_OQ:1-5NKD& M *4%C'A[CQPE NS"]Z:,2"[QB15*%G7PH3:!<>TR9&O8XE1AX)/9(:T8\R*< M&8FX):"K'4LU6B0S5I)AT6B96@2@\;G5^G0\VHQ;004W57JAADMEM1.4K.R" M'AS5->@&$_/QT$@=]OJ1($,C7/^F2)]IQTRPP-FPZL>_LMX\&X?35CQ^+FF. M%-94%;W,=,EKBWA56"ERFZP401C?*JYWG5FG(<72<_])S4 ^0:X03%2T1^IO MRJK& 4198^RA@Y+L?08-%N5NTN]R4$%$S-WT[,9]7I8ZI]D/ID+963'8F*#MB#"F7Y>]V- MD+.LD4@Q]%9$WU8(XX@4!_T -:CFJ=]68RE,SSU2+S@ON2[!U+$@/^ ([J&V M(5&C.U*,:VJ(3&E+Q;Z(8Y+:*K0(J@6C"1&LQ(%VS S?)H<&NQQCN]"(F=[" M>>+9IQ.U%ES =+"F4AY/I2]R9*AE@LM2=Y4=$6-"/?G;1$,1%Y*PP0<%PY@C M# [VU+9N>"!XXQLV[7 !LW9MPUNZ;]1;G_V 'GR5VV_U>B)UYP;JQTL:M6[8 M%S8UM>AS>>.#*/P#+@OQA3#D!+5!F'P,PX&Z%C9<-[%.\$3&CFRC=3W,B_ 4 M!W,"ZEB\"Y#CYC(&+Q0PD#D%&R+XD) 1'FPF&WSD'#. M71] MA 51]!DM993F)SZ%A\_T*.L5/[C>(_]5/OMTQ5[V%=LL=?LB189&)D@=4*MU MQ!Y^U=:CSP#L& LC_K0!*'@$1CP0R ]?18-GSYACVB>+BK!L&]T#]D_\6R-$ M#HMR8B:3=<@.--B[EB^C.;&'$5YB%.0A8=2&-]P&/Q@?R/3+K%F!%8';G(*9 M?G#58 QF70XN?4$;;-X%YR2?+KF$[[ J5]#7%;)BJM*:GOJ/K&_9B]^@Z+X]\JK%4 M$OY:DD*. 6T,E,G+;4 ',6*T4J>Q_\1,"=PK"ME"3 6,;P1GM&LR[1;;$7B; M]\865M*=EL?7BQ2NM]\91Q88-OM7JO:.:CI_'0K84::^.;))_\K=,6-* RU: M[%<(7B3+#"%LZ#"*F6&F#R4$*":OZRZV-GM12.%5Z(8<#U053X- 51_$GJ\L M>JN#89)P("D6^'Q^&'/ K?38'F[,0Y^W/U(N%GVD7$3%)4=Y#^0^KJ!NVKU+ MFB/V;!6IFXYB27M")'4\[MNOSD!59_G7PX')+0PHBB52>EZH8S)5EZU% +D' MUS=&ME"L:F_$_MU B>9%9&-6LK1,SUW[5CHPWG7ZYHJ^4N=$'_@X!K2 =WA^ M8L'^[N0'7#I/S6-K$T'NQ\V,DO;N>A00^WQ#19HZ1<@.*BVZ+_+-*GR0H,DF M7F*3+G/7]^QXY$$"!",_\/")]WB!1^'54]AK$D#J^\V-D22TU^F-/;&JF3)] M9E=!LI1I&[[/=LR,W[?T0SE%Z+\/!96%0B9AGA5\\+:GHL"K( )?$H/S"O.P M1(H\?"H(&C8\J.1EOG1%9R:G;#]^"C*JX_@EF1=)LJ-4\O(9=UZ0/+R'!I_) MG/L"&2;$2JP2MO+)EHLBRTP>PG*28>98J!6G#-]RWKP37 %P9?;_E>PR&RVF MF] 8.N-_T($63H.V*>YNS]R.\ M%UMZTJ/6$^E4U$#];.Q9V0UUP*DN??.(2O(0@SW%A81L\""!-JM8"9<.@TU1 MFSR\YNF\R!5P1@F%>+,!#:1^WLHD<=19EP#VP+.Q/GW&GC+^-;2 M<^$F\$^&Y_%%R;DTH*KJ@Q1B:ZF<#J)*.R .G]3D;KQ*"*F3D#R)Z./Q\V$, M$9$3*R1]GOS@>I2].'IZ;.%'(F$6N2YBUBK#1W=$BCWW!F9+@@8:8U%>CHT3T/JM@KE3%6 MG?S]&MV10TY=0UPD 2GU10PHM55HD0"4, J7(/@"$DWFD"N.#O=P+N!NQ?Q? M%79ME'HA]>>::L<[,]5=L._%U-"@S]T7C_.%FVDN%$2@%GEC 9Q5.:_4$TW3 MQV$6==P#U*A."E_MLM,DHW#+-G")1X^N),!MP(+S'_W41]&<.O .S@ 6OPJW M@(E^G!Q:_3AH@M&E,UKBN -))."#H.^=1RT6P+\*)Y*R'D@QM(:ZV3"HL#GJ MR*=:ZA8YO0EMX;H3(LF'?^"+>X8R!I\_3&D)O2[]8##O1\,^T<7N@<]$?,8Q M[+GC!]ZINC**:E_D;E[+!)F=%96.B%V_GOR-YS#.A0@V,.AC1B3%"1\0#&B: MU\@TN]@T+.&DL? W]=@K!ZM7U5M1I1V08T"ULIFZWH6M$7N[@M"-UT4):7RN M/(S>:9^5>6G4>A$Y:B;_GB_8-!8],SQXGLY?4F^]-SRJYLW5O9"[M*+:F=)G MY5T0.[>JY(W+GX7TR1**4 ,'?(X^F T^V*[O?T&.4(8:&&G,C@#VMUPZ"S92 MJ>.+Q<7B"/\OZN;"BH/#$SQ>4A[+-Z.$' ):F">37U&?#&*H:*--\XQMSO,& M_@U7GA.N$R+YAF6J0\[B82!\9Z>Z#6>FN.J#G&?Z-HTWOI>>Z_!_FC2U*E(+ M+QJ000XV30V31IJZ-!##3&-5FKH*9T@2CB3+$E^T,KA]5A3PR3X3YOOPTE+Z M^"K#OLL+FR9?!IULNM@5/J/V610%?V0[NC&V-BV_OMF*'%+\Z,I0R=7.YK2P MG_%VH5I3_^'D3O#^C)4Y!(8SV[BN_8YF*Y1.R'%_]IEIV-%SKL'>",1M2L7' MC@(7G)-_3,F+"V7U(5#RJ??*3(KJ*22-/TS$&PP7<<][6Y)("0B(0'X10NB^ M-HG$:G -Q+Q\H0&^.$;F1/(896*P!^:P@(JJPY>OP93.(^TH(9U".C!/9KU; MGPSB0+2--ETXE^0:%O:^>G=).Q!A,5-Z$F5=/,34T2D8\XV7%X_*NJ*+75C@ M1 EC5/LB1Y5:)KAX_K:Z(V+DJ"=_BZ3"%!=PA:B(#A9H&,8.:3"PKFSB29Y: M<]^NJB<)4.31VB,SMLQFP5D)%II10@X2+KODK=[GB-NNB$#C.FD::J!H5V2-9GI=/A8'CG:$\5CE@- M!ZZYY(^L;LM2^%Z0B@3Y7Y=1(/_H'Y /:H2'O7\_&7RE>N;RA()KPB\X[?9*ZF281Y HVAELI);:Q M;??-X ,)[I9#Q2[OE?H;SG[ZSOR"4%"Y,U+O:&:$]!)(K2="OVBH0'NG2/@( M_X@X$6!%?@%F:+WAWCT8[#+@J]EUU)Z0-8"Z'\A^H_6""_$[]8%IV@=^D9PT M+>SU&<%0,<* CP!&DCVXGKQ3^.CZ_A,];*E78+N*+LB]7D7AS,-_)>T1>[F2 MV$T'=DR<<.K1Q5F@3WZ1''0][3>(TK[85XBJEL.+ I2]0F@[@=)!5I=E0M(* M3:U7P7WCKD_'H\VX,7+=M%9'I,Y:7_EXBTVI%_9-M7I*-$^\/'+IQ<4PV-EX M319SL7^+D1X* #E??B1"DC 6Y^CPK[>4G!S3M6W^"9R2#[R)-HS9LN@7\2$; ME\2<-.&@#B/XQ6,$YR[8(W/H''9X6^R>I&D@A=!6)JF[(Q830!@1M=-CF)TQ MX$L$XX$10X]QIH^/BY^FSWK6E1@\A]G2J5OMX99==K4$JM4-B"4A*!.W' M?2@LESX@C6-BC3F?R?'GW'GE<;OKG661MZ!F:GEE=^2P4]<0^4GDY7T1PTEM M%;IP@)C5)"QZ&* !"2WV8"&KOM*OEI[[3[Z,5K@Z4JLC4L^NKWS^M<*B7MAW M?.HIT6WB%-S?=QT:OH-XE/S#E$.=U_5Z,\/%Q3RA+I);+YJLD/W1A[UH?10&PWV-3-4G8O61;1&A9,-5>O^HO45@@K))N087_:-[ZCBN__I;P3V02)R!)&(+V72AKO#62<-'8(K$6Q)R!,6W^B38HUV;7-&I%0F1*UW,Y"-9"'AB-B*B0 M1V*9I&IWJJ+_W%ESEQ<%\%(E_Y>NS\!WXN< U,]^NN*"=/[HV:SY)TF=L!C% M@5.WFG;ARHE$Z9<[H(1=+%3V?8](K@E)O0"B&R3'8.E=YE40*[%[^HD!UPG7 M8PX/KYDEGI#;&K;(/_#W%#/4?F\P![(+"HQ,O1W40^2*M 3;1GS&#;?-35L# M<.LS&2_DMM"U_:,BV2>20!3RX5$\/3 2&-5@O4Q9R]V.RGJJQ2": 5 _DE+L M;H4E!W@##%#ZH^$Q^-%Y]$[Y;QG,X!E01GUUD%2A,!KX4S9'/K!5=A\%9*EK MT84[1=Q(Q(Y$_!#BT;"FB;=>HI=]104IV$1A.V9*$ D+325H\^-\]D<_77(J M56EJ0NB[:9\L6?"$JV#*>BA1C*<1DN!L+C@_T6#O6I 'Y@<",2O?DZKNAAQ\ M5!7/O"A5T0TF]K H\O4 MO5#HZ"!VL1,?^)N]$4P]NJ*F^^*P?U%KX=S*N7\MMG>JCR^[(HS4>[LW7GR( MV0E5[.>8W2K931G6='*)=+3D KP72Q1M?H9R$2G8P,>5.,PGF*8S3A8[(@4A M( GAHI!$%K)P+HRF';H1V3(]%&7127'%7FP(B4>YQ6X5N--W.D,ROEZD<45. M8:BX1/*3$9P\U3+DS2@AG0PZ,$\VS*M-!G4(V%R;YL $/">I4K=AP!@SGI"( MM780TFFHJ]B2'"2COBZ\/9PX>?K$''8X'82*2^,LEIT/KA<";XW4N";DD()( M5X;*28:K30M[]-B%:MVFO^V$'.0@!0E]Z1B*0@P_2F&&S=?HWS;LKP39@W,2 M5FN"Y_M@'R9\AT0FU,'5?FJ8^XC #HZ4SM3P?!XLF":E8L=VQP7C$8/X?"(? M8O#IT?" BD7AD3^Q(0RC3E )7 @P@#;\)?>0>;P;"B)KIE/S%$!F'E_=^B!8 MM#L,F\)'S]VQ #I[%!(NY+?) X-%-@D52C$-U6*'XRF0*8)RI]^A)L=&J,\= MN%PR\2"A>+J0VZN NGBZ4"@@DQFTI1,./T SSW_)81FRE[,@B000Y@_C==V3 M("JKR;&4.A A)\>BWH>->V0F^=N?OOX"PYGL/=W6+0F1VP7I?%A'X:+\D'\2K:NY[EO?-Y"D5/Q%$?:B]VCZ[QLJ'=HX-/* M9$;CY_4,D^_[:C1&@0G"6Q*6\!&N?,"*'1HL%,;[1X]'N^S(XV<> M,$=A5;A!;,=F:X<[E6OJF<@T$\EO,F!>P<*BSC):D0)2!&EACIS%LDKW\:R/ M:VG3\5-=K]0S7FB8""FS'\,%':Q%A9\DGJ%M@3:(A6+H6.Q(S#!)91,LM0.K M5L/4'C"]0&FET_7/9KH6PMPBC1-WRR$1D^#F>)>$SP8!-*'EH8EJ]+SX6]Y)\,SS.< MX%SO%>H&9)#B9UO#Y"]?U6B,8OE:4Y6.ZE !2Q+Q1/CH]/#V*7KA]"TRD@$Q M%V>, 5S2Z3CRW=>-\1X"[2UUZ([5W29K0G$TD-/87/GH4YO<*("HN5:=5/3( MI!>&+R]S >+HYD,H \;[E7I-=_3<5^9#$1DXL S?]@Z,=QQ5VC\[26XHMTIH M#G_EVO:#ZW%TM6HB50."HP&JIL;*QZFZU$8!4XV5ZL+5TLP%.D7L"? GH0 ( M$4JKU0[NJRQ! CDM43K/5:!EQT$HP-B)M_$"N%7/D8P/OEP#!0B1,Y#LQ@"E]2A9KB, MA5--N.3EF.+&.Y>X9O32B"1V!.G 8/EQ3'UZF!&G"[6Z\+YT3D&\LP02D*P( M>/ )B^6\K'VV-'BC5"9P%>T[B7A(W%#8GHEQ/-JB^,Z=X1@6,WAC:E'/L.6J M#4C(BI10W@LN49P%"9G0$+@1V2WE/&AFQ]\P& M0*T;>=6DAAU#VIFI(-ZJ0PHSVK34J),H*^1,EO#@"O">$,%=N&#('P\L(;"8 MC)3B%R"VL;<%@T,FD,8!A@:NH$3$C(P](U-;'U@7OM7:+8M7W5 M$:Q#1J,!MZZ-FX][77$9!21VKFP7OI\6BB12D4@L>0/]+HL0UQ"+$$]1FMO@ M0MW$]A90ZH=U7"-;1V^HI>R-$8>C*UQ+_A/N96VF Q.U*2NK"BGU1(Z4-=3/ M5 VJ[H88R^I(W[@J4'PA+^)"$C9H8&8(2V2RJ^2U1;&19,:\4*16K>D+R+*B M1WA(S'F9)T70;L_AE^JQ5EUJR&&BI9GRHZ9:I!##25N-NG"LD#B)69,4[PGL M'4^<_A&/;=R0^X)IX_#0*/;<5ZW'UP/G#O8WO-X M:'E[_IZZ+YYQW/-UNT<-==#K@^-H@+$W<^>#9^?L1@&P_6G=!0B'TDDXB.0C ML8 DD1 .XT(922PDH'0B)A2T-1"B-<*?H.BV$91LBY'] JTMMMM1#R;$E\3D M I?U/H,$$;EXNU2FW5U:32W;M381Y"C;S"B7"U9U"HBQL*$BK9:Q\A'E:?QR M\@5(XG^$XY4(R*Y3\H?H0 0LX@-A$X^)1Y[V8=9L;EO7:4V]5V;6>16N>W[(8;-W4Q>< G?+##$8]Z]S M4VBJ"D4Y)D3\!6I$$J"!]YPWM-W5C27J?5$[@4UU$\[@$(WQ&._CO2]#/L) 3[D M%^"$<>R#=/?N@<^.=2V8Z3G6L7^MOM+83[J-<>SG2-]V[(=#?YI!?#GR)2=- M8=^0-BCU_P(K#(< MR=F0][$$SULJ5=@KJM&R/TZ7ZFT"V=;(/;6 D&;#LJ( M'/E%$M3D?SUII?&$X\DP]WSIZ)W3:%+J5.4]D'N8@KII=RMICMCW5*1N.F1C MVA>3HUZ_'$1C?4[ZV#O\RR_UT=(.R%VT6MFTAQ:W1NR@"D(W M':TQ:>&?$7'-[CF$OA.RBY3-I,[J\]H?Z9Z9=H6G7C5"[IWY2J4],ML"L1<6 M"-IT)$;D-/M:QUH]N=P[R&M(M#-G\KT@Y4C\KTLGXA_]8\5%SMO'O/P.JDOD"H8/DR]> M=.EZ'TW)+YZ8PPZG0Z%G7'Z/V#=R58F\(_,E4O_(E['Q;"VI:?217O09V#V, M]W+WN/@>LWODJ1*[1_I+K.Z1*V/SK9QWW>[1ASX(SV$?*]+IE#HB=:SZRBL= MPCZ.(,VNAO ]9=T\ZLZ\&\($J\5RMMK\S$WP.'W>D.GS/9G]_?-\^31[WDS( M\VS3B^JOU-NZ^I4ONP>/$.D^^W1WLA_9KBCQ4*WG6+'N6GTEL$NZC1'MHY1HK M$$#N^?6-D9]O7-4;,0XT4**+BUV2V8W@1A)V49$=[0G()<:(+AW;AN^7)"+7 MHX#<41J8(W.0K=X=L:LTT:+QT6^Y?R17]X&C]I3E$LLD=GDV#N7IR_6IC-=K MRLRBZ#EY),;I/:6:M/,@4N1!:?R$%$4>TT:%1T00P2JI(W'?8Q?9(P()*#YM26OC47 M9)EIV.17QWV[V;MO^CQ9/MA"O;6["]X,CUX@7JD_J_9%[M6U3)#V;:6.B#V\ MGOQ-1WO$A41LKN8XS>X^L!G\D W*)4+5>9IB5^0>7\< BBN ,9RJU1*_I]6R M_H.U0:PP?]Y,G[^?WS[.R'2]GFW66H_3AE'YLM@S1H"K/$53[#I:@"L_1U/I M-TJ Z_ 4J13@$)RD#6*$Z0%*>_Y+/J=XI![[_]A[]^;6;25?]*N@INK>K%1I MY29KS]0\SE]:?F3['-MRV4YR4NN/*9J$+"84J4U2MK4__44#( E*?( D2#25 MJ3IG=I8%](OH'QI HQ%Y]MR=*_=(4S^F<&*X>@G\5RY9C86:VB-W[%9556^N M;8S8A=ME[CUD^5*C($T*VG8<=6Q5XT+5J%;5"?<,_<1Y?8WIJWP=5M8-;CK? M;NF"W%=U%"YM%3:T1^RQ6F+WWB0L$57.#V:-J**(&]INGQ)^&^UAX!:79'[9Q<#E$^RV_LA]JE. MXO<_P!5,R#OCDK_3M,CV?>_A'#MC9NTD>TH[+'N?\KB)_P_NPS]]D1X,?_GO MF]"%EU'I)17_>Q,N167XY)&ZU'^#2"+Y)7SQ@X!Z1R;H10"I-_M=;\&?) M&)5]Z$9,*3;'\F-5J?4/HZ!+%'6@E5R M]6-5_;TDOR#K8.^F>\L[_%73SZWO,!G]]- C_JKJBQ2R>YF@+0([Z3BS$*Q> M?M,Q6,X)90@VHATRTGZ_>ZSZ@9CW!FO"!!XYSI_XU(3%FJY(/;F/ 9K"KJI^ M,PRX&M68,M1BL4 YTG*D:.*!Z^+U5PBS7J/(2Y1WKA.21N2%P@O8;[['8C$G M)0X)',C+]=C_M1]9C6+GNIBJ9+F<'8Y@:A1#+*O'RN#XJ09',YA64'K%!F]\ M 5%^J/ZYRBB=>F-&T^YFR %5ORMV3.VAR8#D/(F-$7 @KF!!@H('PU6&>AQD M(^)FT8328&(DG- Z5;'3@G!N1+)K"JLF0,,)C;&J&R &4;!&]NL"!I]L"-=%Q6L1HZUZ#@Q^$UAL%I\(RJ;J2^H3*Q^Q:>>P]99GZT& MO-#8267M+;*Y;HV-OR4V3@ 3I4[0>Q_,G-)!G99&=[\J C*]56QU1Z2.V5WY MAGVOBE[8XY9N2@Q?G%7%+Q"C@&MA6)--8X^:O2F='6XK&U-CV. 4SN80EN29 M;#QS^Y\G*1F]B2#%QV%&T8YD3BC,-;2I5V2T6&>17YTHN"(\!S1OF:-K%/^$ M-!/8XGZAKW[(,SM?G(!G=;*)IVIN09Z@76-EW;[($:63"3IG3"/&CV[R3Y#G M+*(S.Y QC3%.8@W8 Z)9>KDFWC3RZ(9X081 M\"89.L7 (B1;"P06;97IV'G+V ]F4F8_S M)9*QA=V)R6V3V\21-HDSFU0/*3X@JT>PT8Q&N:!YB +?/3S3>%N=[%35##,6 M-RBFY":>M,&.J$TB&P)-YC=;&&PIOTB1K7=WG!^!Q;4"H,KO,=WZ^RUY]X, MSD0<40:>>I.G)IHW4+$#(H@2H&HEY="\;L_R:QOXT@9AZ2EU0L^)O2.4%N=R M5:9IZX 9JK24S4&KL35V^-(3WEST!Z>X &7^EAX/:!G[O>X=$('"A/OJL%&> M$H^NJ9M")$<@%(Q])TCX40%4:]HZ8;+Q=Q.CVKAVRZB3D_C-1C; ! K_G'WT MTZ@+ K+: 4##5[8NI_PBH4<3_S5< #"F3A"("MW0B+E[DL9[UW#% #48+9MC M*<;M)749%;I:WT4Q?=XXX3.%A @('U?KA^B=QC_3D!^T1>&%LW/ [C&XH(?\494V-%7D2_UBSJB"!2XH_,A"'A8H,UG)3S]F:[0B9O93 MAAADR_YCR^*D':A 7G,=B"N5F'H.0?DA2OL QQ,/D9*1R\+T=[GIF7CDH; ] MEY 4(I),1AO3%TI;_]8VRF'ZVHD95PV'*H?]_R-6#6*LUXYQNQ/@.Q5MII@# M=7F=V338R<1#9D(M1F$:SXC06-S@Q?IE^ M8BRV!<7.W"]AOB4G+BW=,]@7]4V:=Q5UNF.>OGH8HN(LH+4O]DFFCRJ&YHU] MP8J-]#@^P$Z)H]0U.-I$MG8X,+YEE$,#N6&N<).W"4G!S^IQPOC6^*7CP+"7 M?)9;Y8FF:< ?257JMM=":8_N2*&TKR'4C#3=OH@3TSJK,!PH%$[*8P8+:RAA MT13%8P;VD*#F#$*FBC#0I!]^ M=6CDO!U)AQ"#WD6#'85"IX]":&&$V&ZV3^ M<$\R7Y"J0DNPP%?$RGI-7FO)O@&+Q"WOCWV2]KTJUE0"MX!0\7+6,N=4%;>U M=T&*%ET4+I>]K6^/?3&F*[ZA!5@Q1N%N.L]SD,FK[L:)7^%= [E[09T8[M@G M^0M51H[@-5%SIH;8P4%/64;+CN@Z,*05/PTR*PL6QS M*W?=1U:R='TG(9^@F@)=0WZ2>.$F\]SO&R\>C'0,>R>.=![R)/756F[AWX0U M>_7/T<\T?:;A[VS^R71K.RLPQP8I!HQMV,IS5T,\L =@8ZIL*&C+3T9+ESVR MXR7FSK6G2**4(\_:YRFNT"OPX0+\:::K/-,5 9]#4AJ2 U-*QGT6#U^Q?)7R MN:N4BCR4/LIE\5%J3U8A;F;B\?PD$#"?H"P?N6*Q\UW;<-?.&.!#^:0NV MC/5W 6VJ8#24)M(YT:C)U VC0001[RN9T:M_D<%W4A G9?[PLK"0@#^GJS:3 M0M@OL]37?+H:N>ZF;-76]MUXJR;T-(^@G3X$#\ M)-G#66)AJ%U)'GN@EM>2O87#_[:'$NM;(P>@%C556*EIBA@LVB3N?L+'C'IM#SV.I=XS?P:O* <>3*)NPUNU8RM\__ K7\VM M]^D^+O9)A-X[Y] ;5LO(>//1+?).BL1?:.VDQ(GI\7L;+,R(@H#] MQ6?-)MZRF\!>.0O">,B"_@H7\DWPF3@*G5S[I'I4V LM[Z(W'MW>A+]F0[@0 M=AEZCVR0QV\T>62#D]D'4JMJ)HI^E)!BIP'SJ.%J#S*(0]DAVO3>0Y8\82F; M1M:65KU4J01I4SLXTP11@KTYHV7K\2-4,6^6#>KY,#]-S5LXM-(G$\C1\M\]ML_]D[@K\6M?W%H MH"[O?7'EA*:IRQUFG$65#B,R(LUF4$\\("_(?O M";_8Q'YCK@R[!<3)-PD/4.B?+2?]9"-V%>)LCZ+8:Y"[;2+O7J01;9PW2EXH M#?/;5*RK:,#+@PJ#)_S)0PFT:6:L./\&7*&ML(&WI[S9E4A.XN)N'"@V0]_\ M:)\$!\'O/?93R-B-UFLH#%_: 2%[/IDI7^/3T0JOL4S^P4&,J((2H?N2..IOH;07SL7?6>[?*Y08<05=,'-UBN9DUECF845,CCY MS(,3&5(,VU+KM>ZZCF+JOX97'R[/A;GBMR2[@VD=&:08,-0PFBNH2AKS7B\U MJS1X=01!PUJP8(&MX"&O[O*G!1SRZK^Q(%;676!!FA+!1W$>.Z,*;L>Q67LH M*_F2C#$1G-'%K./8Y[IZ&-DLDL=&+J-]8%$E3RUD_[M:2R,L V;!D-F(_>=+ MDL;."0H/((,4A8<:IEP\KQL-Q)%9;U7Z5Y"3#!>PI%V(?%WX3T!DR9 .>SYB0G,OBR/LMU:^;P *@=OY>%0+?_BV*_[P)'^*(A4C=G+NQYUR\ MNUW]2O>N[S8'_]:0WH"# Q=^ZUCPP>;B(QH!2'_VP\\[01R!EU_[(3_)^3F* MO&Y>WMAS+E[>KGZEE]=WFX.7:TAOP,LS+H2SP>;D(]H@5_P5:!OM)!ZM.#39-OH?8A M@GT/=9!.IJK:Y@]%N 5/XA1,1?9"3 -'WA+QF9N*PHA\KU6\YB-J9>R$0E/O MJUJQHV2:E;,5;/G.*C F"F>BL.;9 A:V5JV:2!2Y)9]+AG K##$V_EX]7+ _ M\MLU@_#WE,[L\;?&--WP]XC(6>!OG4ZCXB]CRJ%$7-$Z$P0V;[D"F MG^,HJ=LD;^V$W&WUE#YZU:2A!V+GU11\P$S+R2_$)"LN<60L%H0SL?;BR32* M[W+%::'X:Y7BTWGUTF61Z9ZO=B]AL>SZ/$9E_QU0GAT8PB.Z\.(M_WNMK6IL M:Y \"!5\\L8C,\6.07MPJ.XY0M#LAQ9UN2A>5WMIZ8-\IT5>@]V#- M=XD=9=B*R\1^SHU7]=IM#HGOLE6UW/';)^+=,MA=":-XRWYAGY"_[L;(O< % M9YHDL*V\X\^L47$TSM$"#MU]=_)[$A/84[$B9T$*'O)N[^27S"92O:!H=M^W M&J:O/N#E/#]\O8C")(W%_3B>P/4:BPRNFAVG >0PHZ,!0ZE;RWUI84=4$ZH9 M.J"#@A/%(5T0A:^?X?T;[QAH%W"%2,@& )L+QU_7R9(I-<$8L#>,H,I<2D-X M=W(M+JTYD]?DM/DA,MY5JW.2\R<71\;.1!BO\$+;;KEUB]6LZS4&:$41AND6 M_M6&:=K+:^Z!="+HH*ZZXFYHCG@1K2-U[V/$&L^WNG4WI<+64]75)7R-/8Z: M(/?)*H54)U1_1^QUE6+V'767#;LCT_C4:.ID=<7&V?31V>#B#^;QU_">#DG% MRT^F:"+U.Z,FJ]I1ZD40^_+(F'YF]Z.\TMZT5]J;=A1YSG"?RM)GZ'4P(-X? M%<^*2DEL[W79-]_0(P S\11<3TKI+>POW##_#U^A"*5(O&I:!FET0XK_7157 M8[&V/HCC,VW1A]QS2^EGSH$4+&12H=4%TNBZD+S]?L6XV@B00V5>6)#FS)CH47IN$QA;"N)P(*)=$TP89J4(L5J?6R'NO2+ MMD[(\4)/Z5*B4F,/Q#B@*?B )5RQ(&,KK!.WMQ,=3*GU@,V?T4.#:UZF714W MJSS=7/=O($GD[F_"8)J!0RL]Q-!A1*VQ@@E>/+#DAU("*$N2P([0[]2)H$,6(K!C!_,YB'V$,+> LC])XW-*;..CTI>F.0 M+%(@,6VX/"'1 $WL.8DF5320EEBU70IIAZ>7M=9^Z(2N7V0B0L8)"7_VT=P2M861\X>4Y2M=,/\@X43?@]L=C?"C)A MN(>:6OSI,WA=F8;Y[]D?X9WBF.Z8B9A@D"-(V#<.>$&VW2Z.''>S(. 1&=?3 MJFP39UIB&%Q#YC)X#HE)0PIQ+-2?Q&!$-LG]JWC;NM82$P;5CA_#FW.9$4+O MMGA*^XXZR3ZFWBI\I.X^!N=E#>ZC,,[^^=5)_.3984:L"R0,TDOX) M7D!V@YL&-[!08!'_(POQG]Z=77*_A\*AJ_5UMDBZ"1.FP!X"Q;(5_W=NF-?X/?4QD 9%C][ M$]LZ8T> '^$,%T2P)*LUR9D2E:N%%>S$9KG/1U:Q1^0W6&#*N@NQ_\8?+\ZF MNL-]!#(Y@=@#JYDJ=?HA!>3.JI?+-K1T0AP^ZLO>OR)"QB$/ ^&1;\FDY@+= M-+'=^,KG:CJ6[PD6JG9TY?EZAFDL0=B5]44?,")47:R*/9.BC!2X;P@RHYK MP=W2ZR'C6D2)-)1=#P3;QDDA6?)5G'8^P6'G+?!F*/3U4#2XB$)^N>>92??U M\'?JO;)%XR5-_->0M]4Z$AJ#(7)@&=_8E;O+QKDA!K0)E!Z^[YP01;@%D>(1 M+A_)!%R0EX/2CF1"$I#2_GG3J966'W[=P5%M8^0.VZRDZFS5+1$[2HO ?0>Y M)$L4NN0;4$8U5"^CK>/759EI:#Z[X5I6M'G BK:S&K)'(AL=M(*VI1,]%*I. MYZ%L9>!)@:C7^-YD=4OD?MF@GNJ2%V.3M/VW(A6:EI^1'$>_E"@*.@G9 M2'_T>5UKRZ])%M'F32[.HY_\V1#9M71![I@Z"E=OQIZV1^RJ6F(;V-$HJ%N/ M^:H7=XUQ7TN7V0SE>H6KA_)I^UD,Y0:Q#0SEH]6VU6!PU(SG-5LSYI.TLE"$7&B1V1DF4>![?$U9NJF(POES.ZW6Q1]YIKI( MEF"+XM5Z#?]\=4"[BRB 6Y>QT_X-!I&>#90,-V UXO2G.PM@,J">@:":,U1! M;"$SEB"#B0@!B)2 %"+81C>+QA.Y3P7DR9LB:*$LS\L;D(WVM*GE-D%FE! MAZZ8M.03R/N]_:RQH[VPU0XLTV5;]Z@'<@_64+=A4U=MCMA'=*0VMJ4KJ./: MT1U%XWQ#-Q(:#]K/K;GL_IL3QPX#B4H'K&Z!U.$:U,DOHY=_QG[9O$9: Y?) MRUN+[Y+/Q/>[#:N7D;,$#&.JA'0QH'^0T](9*:+T,X)V #VO,QXM!48-7!$= M_(QJC.($J/[,IW3>DV3K#%Y@)]K1V$%3FD&QU'V47N:)C\M$+IPJ3'E/V^][ M]Z<[1[#I8[I6'.I"=&X0U4LWL^C%=SXO2YF^6>9]'<;Q=^%&P;8W&K]$/=!M M4CL*2P0<[0'CQ.*'_:WN)-PBPEU$(;-I"M5C;Z/P]9G&6V8KFCPXAX:MS?9> MR-%)4VT5>UJZ($867%/N&$B:0,I2U"*&]';56UF%+U$ C;\^0G=T.] M?4!7ZU^=V ?ML@I;5U"FT*>-Y8WU>R/W[(YF4#UKIV=R=?]\\WQS]61PY_XACOZ@;BKJ_59M1AXW0.I\]B2C_RI9%Z5:6C"5)%#@QV47O ME/U?(=C4V_QF[2&IR:K=%K;XQU'']K/E*WB*I!)*JEL@Q9(&==1)6_D9\01= M)67?<<9I67&:\;2Q[3/9POB2OM3M5Q\U0>XU50J52APJOR/VFTHQ^PXU(/:9 M#>XM 7+CN YD@3:YCE&%>,ZIK3WFD3[-2Q3'_)4XVS.H4CFR"0;+S9"C0IUB M)Q.JT@8Q.M2*.FPRNJVOY#F53=%(L=O3W: MEL[(/;&;$:IW:)MZ(O;:C@J8V)\5C(C@1!16QK=GDSA5/(']Z]@+V)]:+7#Z M5TKOG2VM*-QD@!Q23S%E*/"=H;00>I,QE?KZ5\%F08"HZ1I16IY4IV%E92BM M#HB]04_9;+PWMT8ZHC6%[IV.5S$/4"J'KY6B4!,H?>JH ^I!U1Q@/-)'%M'& MD?OGWZ, 7B%/;@.W_AY"$4R"4@F M KF]O9CXP&-<.U2I&+@V+SV,JF_-)R6?_B7[^[]\;Q"3GO;_W$3[_,V26^HD MC.5%=)M65Y[3[H09G[25SE&JM0=VK-)78%3$$F(H;TM*0AK$\>L*E_SN0= &=^]JPH3&^YZ:O3!#&2Z*N&Q:9ISHT4[.S@P736*'3>C:NS1C+$=%J+ MR(JK[RHBR]Z'[TSY'$G7F.9U12H@1(VUTYF-6)?95'Y609X_;/S(6#M.7;"Q'%Y MD8^Z!8]>#\RXH*=N#A3-S;$CAZ;TO7-E857B RD29ZA"BI?8Y:< G'&#O4=A M[X;-7"GD.?U GC>L?='&B2G9)ZP-0Q]//(M.@6H4\_8EK'*2)&(XYR!5K'^X16Y\G41 M^X<;;;<,&),4CK2C?,M\Y\2I[_H[ 9N^>-4EVT GCNO"[4^&E Q:R3[T:,P; ME/?;&779D,6&4\>#D]JX;MU=N>PFP-)&0#FI2?);]@FC9F#E:69;[B&.7$J] MY)H!TY,#FY*%)>3=U[J=>LVN2#&XCP'4?3B=?HBWX#J)/^#R-&="P.0$V $ M*FB0<;*U"67!"HFTPO9T5\I@I'7A))OK('J_]),T]E_V,&G5;K'K]4#JQQW4 MS8.GYN;8HR5-Z7L/UU)HY#)F9,VXP4HR9\<7?W($3QS'C*P]D"= GZ@,K)T1 M3*'R(W6IOQ,O&N[3?4QK/SJ6H*4F<(/#SN>-$S[3[2Z*G?APL]TY?@R_=3N$ M:":$% B'&T?CF+&!"N)@9X R(QP\\C/YE/$E.6-2<$9U!CFFA<1KL>]QE%+B ML16XP>CG?@\STVK]-M[1,QEA6+[00GTUOG:\UHV5D#-55?H9(J 5V<\2SB2 + 2"-A3E( M$,708Z:EKV9QW]DYB+(@D83&;'O\)OS?D1^FO[(?V5*T;M].NS=2'.IIAM(& MM%Y7Q,NRKAKTWM&2? G(J:A[[(>',B.1F9_TUE2GX]A:\3>1[\A$B?F#) MH\O$Y_^6U6O'V)2.DK1[ GC'KD@=OH\!BOUJO7[8PY.N:LSA@-]E.F$XWI_* MML!'\UC?QD[Y1%;X-8)/G&,DV6 ZTH<[RQ0LL7Q)^'.T-7-.53NDZ-FJ6JD* M[G$CQ"%0O:R]$TF!XH)P/_V641TG6U&GGJQQ_<3=?$H"H,SA][\L/I4NA.%: M/OJOFW2U_B6AO(CV2?59-A]][(W;*C&4K/J>MU1>S"7348.O"E@W-6 MGZ/U9\9,U(U?$)6?I5?7)S*&2@SBKCBSQIY9PW;=>=4(^0LV'SL:)G7[&K6>?Q1\YEX>9W4ACR[>(Y)T+?OR:85SC5DSBOF<10UK%?B8>;P-8]: M:FQ3V1"YE]8K5ZH3?](*L4\V"-O[AG1&DBAQM*7W6,;4KHB>+9:*V; Y'!Z; M:'.WRH;(W:U>N5*)EY-6B-VM0=C>)5N I'@BQ+J_C:4>X>IA<+@V/YN1>S5Z MU1R#>/N:%.3>4'*@3 M3[S0F-88>>([Y*SF_$A>XT""0BFLL;!"F=8HA1T:8Q=[H00AU,FM.I]@? D4XUD_"'-/I. M@]11?&9[.87";$5*&XD4N]',;FRN"^G[T7R'(J%&QWPJMIO L3IZ9X!BC:;J MBF&5Q&:.8,TZ38%?Y4W?&:#7R";3Q"X3R](Q]HU^HZ (]99O[*^O])%N15U_ M_B/DBORDM;#7(H,S<[W)/6TJ5="2!'$_Z&*0^3FGNCQA+>JG1_Y9,DE &$2=Q M2K[IF><"+0AC/';ME(XARLC6N7/2?K.6%3#'%//]+G=QJ\ MT;LH3#=U>7X#R"&'E*&&*E^?ZT<+,=0,5FD"V$D$[H (1,A A!!V\,>:R;[\ M^.5'_(CS.W7BY_=HH/$**F>"+T=FZ0,KDL09H,FQ)M.!"'!F(!+AA@Y3]F&( M\=-,$(,QKKM&W(?..:&&:IK>N %$S@4Y2KI,C1W ? ;H8<1&##^^S ,_KIFY M#9A-DCDC]% -TQ<\@,:98$=)E8FA WCC1PXC%F+ \;>9 (?_9B+ND&3."3@4 MP_0&#D;C7(!#565JX&"\9P <)BS$@.-?\0/'P"(IS!]7CA69"%:P9'],;"7P9?20<1,^ MOT< >'IEY/3HG =PG)JF!W841.8/'Q6ZC(X@8N/##R'Q@PB%)3N4<@.14F>EP!'C/ D;,&&L2<%[ M0>1#)&C+B$QEK$!B\2NWD)RFG;6IVURA3+_WS%&BH2*99M<98X*I"ENZ4&"W[MA4 MUK";(::E94.=L2[]S\'WZ^J*:7>>N_\;J9'5#0'L50^;SB)V,[S:].QIGOG[ M?!]7G[&'3[1-8.>X='3E49^37C@['PPTY(Y\5QK(G;^7250DZ$0 ,2STTZ.O MFTANL[X9/ZW%\-V+U]*_^59\1Q+G@"4--^*[])\[DIBZY]T)2+#L*TYJ(;LW MX;54;;T'WYW*.4!%\QWXCB3F#A@&+W=WP P$E]^GMH[=,PA=;=LNOO>AYNR*'[=ONTUO([DF&IKYM-]U[D#D/[&B\Y=Z5QOR1P]SE M[8[ 8?MZ^^3VL7OTH:7N$%.="4#T1H6Y0\&4_F_G8&0:,Z ^':G)&^USAZPG M*>08,<1 &GG7<[T]-D@=(X>L,[DY9M50^&Z-59Y%=[PMUI7&#!&FT^VP3@1F MABGCW7&JS]C =@=L6KO,X>[7H8NE9HH VIX^-X\>S7,1>>=@'>\??B7K*.ZV M;+"83F9HE50*7$A0Q$N8]TEN)$;>A&ZP]ZAW$V:_]%YW-I)$CF8F#-9MLZ6> M'F)L-*+6R%LS"Y+)0#(A8*?V853\&;Y/.Z+AL$5'[<9X8 *R__W5"?9TM;ZG MZ='OO:VL07CV2*5KO&YXU49UUJBEK=SHV"4E(5P4N*O.A#EIAA7#1C=CKPA3 M!]C>A>%]@LET2H1\>550WZ-!MQIAT7,M M\_,<\T7GU2U->$)NLP;G4H:C.N?P H3-IV#ZD.0 MR8C^?=_XZ0=,_EN/R$GVFC$P*6KK A/K,G-@4C48V3L9*U3 = :J#P(F$_HS M8/K728!I"6\4]4.GXZ[SA*A* VC@5*G??,&J6HW1W)8_B84/M\[0"GTAS*PI MAKV#UAG-NJDZ6\SJ %/S1:;1W1 +^,Q3T=J,S[&U'>EF7"W6G"1;\#^=EA^J M-D.'WKBQJ*L9%&S2[8H?JSIKTG>0RWMHT;IFA/,D'%?F-(D+6\03-^+3=QK0 M-^8:5M(2)K.08'6 @ ;K:PT!P0TE"65?UB-K41/U *NM=10$T3L4!H4&@9-"DKK2X =T<&G0 MG-J(::^2FP6K&,_FTA&^KB9;3Q+S1\_*2FQ]^I\'@IJK,C800].-'Y\!A)JS M9R<0M574SHIEC*>A:8A?5YZN'X79PVAE4;H>W<\"1,V57!N(H6LF2+KI!*(( M,=2<.;M J*WR?C;L8CQ+3D=Z_VU@(*I2F#^ 'INC(X!FW<\#0$^TL06@_KHC M?F(,0LV9LQ. ,J[( =2878QG\[5*G^;'VSW5+Q&8.7R>&J,+>A:]SP \*Y29 M&CM%CLD)=.)#1H.VT@7&^JP4'*!HT"0C)>"TJM!3\_FC8!_L.P/$FP;G!+[A MP[#)D,M**L_XZD^=TU-*3M(L)-NQ*VX8ZV2 NC1#I-5BN^8-Y=A9E^ =0TT1L FM!A;O\"I7 MKR&%F,&)#R2-2$R]O4O9W]*Z)2UKM)/E)M]XN4E,:]P)K":XSJ.0L%4S31$\ M&BD$;(#<3'&W2]'?H;1FC,&C5ZA]* &JSG8B1VC6D'Y0=\])U B?T2.I\ M8(+VT3]&*\ CK+9LW6BCU5B6O#G?_L7CEVS8I\DR])2'R<0V2LM3?UH=D:)_ M=^75XN[MO1 7;^\@?._HF;/@"%EZGT^PL?X:WP06$'@SVGY@VQ7EBH9(';%= MN9I-PCG=,:X5VM VVV+42[&:>X>SU*W+7J(I!9\V49Q^9IRWH^'#/7,X78@H MM9T/2IRJ6 ,41<-Y846%W,9+PJW/<^*(5IJ6!5IB]QVW]<_LCCFYO]'X)>KQ;J=IK4^.U1:D!ILL MNW%MV*#?:X[.7!U*:':9FTL;G(WJO7KDV;>O8X^@>X5OA[7*3^?>E_0EO0F3 M-.81Y[/S$AQG<#>W1.[&#>JIKEO1#+&[-DG;>ZWI;JBW#_A6?!X\$N!$"E8) M^<:YG6S'3?B":4P]/[UV7.ZGRP^_]D72JH;(1VN])OZ8)G M#]00C?9IDCI"NJUS ;4ATO6),G/U@CD@V4KG@7QZ(Z*#OM=),J0[)PX]=U] MX,13IW"-^AT9<2*I$Q3P.8G*^6A]<<(_B5N"U9X7&<;8B0'E;U*ZK5O>UK=& M"L"::M;ORN1-$07I'[U?/5B8+30@UL\L&,MPP]GF<"_WT1;1DZ4D]<:FG) MZNQ,9 ; U-THQWBE3P$YC/509 BZ+91=9PCHBMRG!X[4CEAQ75) M0=N.IXZFZ;#43$.[G@R"0"V H^:\JNJ6R)VP0;W2QN=I,\2NUR3MX%P_(B92 M29?<.>D^KES43K0+.J:N>684V3%/]*,0>S0]*); [ZW=C- ]:D;LTQT5F"A* MGK;4R,2VX%5(<)PW9L>@=\X'W-;,8XP+9\=^.:G(U),$QHSCB+DK84N=-VQ,-%7Y*B!<[[R'QHO>3%J207<>^R)#0 MLI'(C.!6WRAMX64]A9E =@=%C(-ZSA-UD#FB999OCA_ 58@L-8E9R4@N24V2 MWA-U]XQ\OI4-Z^PC2S2U0^KAK:KER7A5C; GX37*;"#Y#E+37">.#T6A,AB& M2F:;D@F7"&&@AIG#J]I,G,DVBC$D4;$-1IZS+7 +66NCJE?Y1>T%*5*L]F.G MRH9(H:A=.36@.&V%.&AH$';HR"P=.-F9^$?4+L\*5MRN5MO)_4\]7FNVS5'+ M>7A@E7H5+J@VP^^#E=(.':;'Y[^V*MI,H6N52QH,LQ\"ZKU23]3]NX_2)[IS M8B>E 5M+P#DS]1[B:$?C]/# %$F7H7?UC[V_V];4SQI&#JF?FC)4'ML/H(5] M"6!"M=YGI*?+@P6+_6&) "L'CXF1_7?^CBZ4JO"=@"1,)7%W1ZXVJ+> QCLI M[8+L0%Y^!DTSB1?R_HT3,\+O&\:L75(_$9!##<*@&T, MSW]%L;QGPTO<9E+%%!IXQ(/D]^@E\%^YG1GOV-\ZL1\/;QQJ+/QZ:2U8UE9KT$OZW/63?C&9([BRM>ANG6?]YQT8H@.=_YS MSJDJF.88/Y/N?^832U]5<_[(&:*<*\R9XW1NR(8HG!G.:B9X8"/9\;U;)LPO M"7WT7S>]URU5A.8].S08I]-:Y83*_&>,)J4PS1T[(2?K #4!&%S'(.K_3"36 M/[;VDD1\/^!-&'/"N:.<7\:P4M4JI&I SVS6>63.&_LN^Z\+)]GT,_<)C7G/ M-=4FZ3#-E G,?X:IT0?3Y!+G(C+2R0;A5")JX0 K,>$!ATPV2HF?D) ![XY! M@9^FF:Q!(,A]WO&/!)VVO/Q.2/9A)A^4P#F@FZD,#YKR)+6HFZ4@_2D?"< 8 MY?QDV#:G4].Q.\QJ2EJZ_+'WY)&ZU'^KJ'H\A,Z\IZ9ZTW28GDZ)S'^*:M#) MX#0U8):"MHX4DKEG)J6<#!CZ:\Y31Y-1TC*M>!$5$\O&>:-B5H,@%5+-LHIP M,,.X^R2-MK.?',;\S-E4('C43@7V4'],Y4\Q M7HY1?+ N)K^'./J#NFG^3.Q3%#CQ0_1.XZ=#4E&\LQ^%& M_6W=NU[=J2"=D ::I:ZHG 8)Q!Z M#C5.>\P$)!H$-X4)UW[BLOGU=\KFXHR9]:+.(]O@>L\(4@AH60"^8]I#8H<, M@L4K(Y4($$0LIL;A^$4YT<=,]&2U?L@4N@GOZ4?Z_$Z#-WH7A>FFKBST4)HS M@HW>)JM#E=+95.Q,X.6%0C#8,6H'16X%)2R J\@ 1S 1@CUF(0\V5&$'/-#&_* M@)+6N0&,:J)!^ *$S@E>2OK80!<08";@8L16#%O^-B=L\=^,12^2UMEABV*B M8=C"")T5MJCZ6,$6)L!J59H2:AR08$9H8]9BSQL:4VX"F[#CA,F#+6O7*.'#2 M#+6+UTO;WWL932*)CE1L]C^%:B%]A3S$9I<<04.:)/]%UO4GQ%E^9!K5U*0U M\!9B3;YS^35T-2?F.HBAETB?@%QF]D\J<&3FN2Z>L1@2:S+M+^(DC2Y$66;O9:\NK8^2"&TD\IJ!-38 7$L MI"=WWX&=NS8G3S+ZUM/H)M*:?NQHF)S UX! IR3XA;/S4R?P_\EKSA8W%ZKP M3+TVCUPA[,=%.B=]YW_CQ//A&YW''=@B./8XXNK7A^X@91PGZ$ M&2LDCO?'/A$36BINQ1[1\Z7+31SG3&/%(]!3^!Q=@[(0UDQL 77*&P89LH=DEA,<+R5HJMBXHY[:0'&L!.8[S1LQ#.J\:AY]B =L"OOT:%:?S MPKOHC8I-KR=X9=N)/<"DCY2&'LGI_LX=V1ZDO7 MC?=.\!!3^N'S&/O8V[4,'.8;U-HV*5IV)(,:E_KKT]18]U"%2DFKT@06F M(F/6J^+Q]VF0:'HKYG9B2Y\W/^F9?3 JWLALJ6XF*SK-$TF.E-: #=EC?AAQ M+'COTEJUKI^QL)5U-++BN<+E'2Z+3URWAE'2!"QRHOYK*#*QW,,SE* +^"[E MSXX?WD9)G=>;Y8 <(D8P9^DI;G/D$8//&%J:1ZJ,*U'85H8NEMX&1V1$R8+0 M#W?#*%!"UVOJ]MJDK3D]N_-#?[O?+G>P+1S[7/S5FJ=J/SL?3/&UGSY'/],0 MZ@T^4EZ$\!%VBQGX-J=5&J.,%+E&,%]^^&:&+/83.<-:]G6R1RH+S"8\&7,K MI,I2[Z 4'I3RYY#X[842)U="_ DHO0K)X1D:7KM3)'P^ M/%Z0GY?+AXD/YY 86XI!2G(4!F:B$"$+&%%*0Z0X))/';G8H,DN6QRDO72P, M6 Q9[2%J+YP69^6K=?$FU#V5&2EL$KR(PB0*?*@7#?/R+Z&K_.%I_Y+XGN_ M6[OH.BVD?VW)?MF2@B\<="G#?'#_B+/OS)$1^8 MO.RKKC89,?<;C5^B&1O12ZB77#/F85LPRJ<^^@[BTX:>^$]PDR=X) MW2-&^IQF*-RVTNV)?0O309-A;%LF&^.$ZB-X)? J.(;Y@1'S)B4>S MRBU(?KO+SZ\3R8$H"Q;V8M$0(!%%&9$7D037R[C9^,)"@O&X".W:M2ZBH'8F#N-'(S=TE547?'QR19& M?N2Q>6KI>3[\H1G%!U'#C.K#S51SG[<+*>RH;T"S(;/ CM,'AY'86L2"/!=; M.%;VZD^<'+O6T80@ OK\D2 _%SNQGX+2$SZ[B'\/;P++Y_#O[/_>?H.B&V= M=,&)T@]GNX.2!-\]_/3[O]W]]+?+[^#.OKK=% MCMV#1S:%5?P:JXRS)-";3[H2P#R%]#*&SMI@?A-%/V6,KQ J!O__+!)Z+Q+& M@*SF=0(.2+=D$CZ*:T:PD06#F0.$^IH=3_"09/UA=2\"2/&_OS'4G7[]WH@W M\WLH,591&\'0VJ&E!8OD!D!5RJ8V)A;_"8G!CQ!*_*1EP.;^LP((#5/4XT-# MY]G @XX.QM!!89;] ]@1SL_6X=%T]E T!G3 @?+,.37$&1I0YFXK&6MVJZS M H%F ]3[?W6_V;A^B_C&O%[P4K$W6A0QY@M8+"!0B7O, M*BX=$!/D_6<%!QJFZ!@3B,ZS 08='4:/"3@_'! QICT4C7= D7SR0^+!._=Q M @L'DFR<^/1" *8@%>?$M@A*U9/J_43[*UQTSS'_NLKK7LB:3C5N4)*-[-I M 8T>R3G"3T?-Q@&E7 AE'P.V +D< J>(E 3#]L;TYGMR II(^.);H\4V.]3M M*J=IN\> !QO[,?7H5IXHPRGC=N>$L&,O-NDT-I(I_&>!:F/9JT@JJ[>*JC,H!42*M"AME4,W/NFP)XSA--8 T,P"OGQ=&C&T M\\.*/7CXD6>A[9C4Q!%B%Z5)G2PGC;>1B6F EW3+FKT3WFG^/Z,EI-[9%&%=JJEM=G-8U1K[_:9.Z/B8(RD:1% M#?$%X=1M+9[&4O:7D#DZPS5BV:=1LPRM>PXHMWP:DY%;30._. M/4RBEYA;00"UV_?18ZSTW)PGX@S=,>Q2Z(WSY' ->HC6+! _. :HDB(JY\-C9?23J>-0)+ NC=[E/-Q'425A^^'6KR=K&NEVN:S&Z]E19M'K&@[JS%[ M)++942N(6WIF$(>NNCZ:9$Z:4/>'U^B-#=9]F,8'\-%_S_X![OGOBGO*/__W MQ?+XX%G] :G+G0K/\X3ROR)THPKA>E\S8Y@^L6.8E-X)'<\QF(2X@H)1_WL? M^XGGN[#ED-Q1R",_5J&E+=:AKJ-BGB57UQ![PEJKW 9>1?%#45.2YY^(C!#8 M3$LC(DJ._:&R)^_L3U0I.48V#B30TI@3F#K3:S3[<,*D1)E\$[2GAICQ];1Z MBG"Z1KWU0WJ3TFWKPJVF#U+$ZJ1RV]Y#W@'AE-Y-;M-[$,"!<<7VE(UWXJ5-Y#XF0^)2Q?DC1VW/HS@#Z4YN+CWHR<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-<CP_ M@OWD!*4.1P8T3!HI*HUAP#Q3VQ!=[(G=IM7L[6H;2CQ&+TE]EZP%.Y(PN??, MDPZB,B!4#8*R@KM M0&(YI(\7Y9=W,84?)25^>.46N%CDEHMRSJSKCE>+_H& \/^2"_LOA1!^PMO% M]'4?.+'R=_X =LRDA/\?," ,'5%IFK5(#@F<$DVZNK-5_6 MR=K3E>]$]".#&>@&&"9'OAXTL$/A$)5Z.T/*(O02/,9"BAP6BH7(,5Q"("JD MXJ_ \#V"3+"),=.&Z1Z/#'477W[\\B,L M1-G__L=X("S>;5NMOT9.[,%6VAM;9_,7"^"Y@C5;)J3BU\PX M!5>BLEV4X=4"NF*S3O/0L7?X^$L84S=Z#>$A!68.>9*1Y-/1 PV=(/5IL@SS MAV!D9<::@Y)A%)&BM$%SJ0>. \@A/FPTH57_=T$*WAR$,NX+-1[,)>!;:OG- M.BF$G0-&FU9;YL^A%8^?P5YC8299C#5[$8F%B7O5TH!F+U)B>V!6WJ)=K6M, MJM:>9FHG#WF!G^?HZL/9PIXK1.(TW<=A\A@% 0O2WQFFUWRY"=@BA\6I#*]B MY]@\$0/L9*KW7V>6CL<8KC3@FRFY\N,Y%?F-P[*/$K=T6LAZ7=ID[\N-FBID:H MB!BEVB0V'N*-@@(BK^(J]'K$;L,3$,3KEB]. ._;C:C?4^K$J0T-O])7/PP; ME+2..2P CRF3-7FDR3Z XF7\NK6XC23>:(?H/,/,SM%]1^+S1+2>1M1;*W>A M/#^\[*O@."MH+@K)19%E%>35/"&-6&'7Q1"V%].3VG+I>9Q2ON.7AU;J2IK' M9M*$!^K$Z"#PDE:9[8&9*QX*@%U)SQ/^>AE0 _PZT9T?]/53SSCPD5R.8^#C MHE3"'M\_8[_=.KN$ORN^+'* G_@)/O_KK;_UQ1F88:#\3V'TD+X"RO2 RFEM MSP^FE83F$E1R4^^XJ0$>D_]/,6!0&!!N1/AQM3&M0VCUS).E5(GWYP_/L1,F M0=,+D>:HSQ-(^YJQ=R!93WI^<-I;PPE#R3SY48I#%'EF$$J.:,S,,O3#Y=MZ MA/(T=71(5SUQF$*Z'M3GB71]S=@[:CPGI.NMX0A(E\EB#^E&B@7_2ECWJQ/L MQ;V?((C>89]RMIA#Q:4.W1%C3Q\M^CI$SHOD MS,AJ3?("%@ Y@J&E%WEL&"5G@:-VQXF:R]"[+0Y:.]3KT*>$'"<&F*>N+H9B_EWH3#!;%?^BNW MR<]QE.@6&ZSMA!Q/])2NJOM5W0,Q2F@*/KCT50$!"\)96/?\J30OO-CBFV$G MRK+_R/XFJPNQ11>-WWC>+\_W=8+D-R=FJZWTD/VD:\F^Q.<&"X.,V @?O2C/ M"6:&*6@4CN"_\Q^D, N2\>012R;0@F0BY;\C 2\[]I07 \A[9A4W2E!%*UIF MR1=XUU%\&>U?TO4^D#=CS4)>"Z.SA#\=XPZ'PB8N9P>+6LK:@\ABZPC.V#,! MLTOQLP+,42W]U?'8DN\E)8[]#:83\\"=TE"4=M.SI]IA;D!VHFPC(.6MYP0L MIT(;!8BZ][U#5U*DXDO]ZG^YA>BD2EEX!*<*HL M$=2E,U*?[&>$O!Z%=D_L=2BZ*S+L$NXB>S0-)A\WOS_WEA\ Y9,2\VYU;S+? MSB!.FL;^RS[ER89I1-9<8M8R$SFK'3QU5:#I;%F)A8(;*=AE$9.-\C_3V>*Z M]O,C"FL>8JAIFQX>F)(I"_2N_K'W=^"8NA-+$P&D$-O?&(UA4&WO.85%[4H8 MA8:,'?LO8,@73CE+)*'3F";9Q=3-:ADSU?WMSO%C7KC&\]=,#@JK1C;;['([ M[7([T4P._J\D@NK2N^B=QEGU:$0PH[>X%)MGR@FCV;5K%?FY0=1 0QK86#JA M/2=X&ZJBQ4TDN;.L2(4$'VW9-+.(6E1!N=W'8-+W]MN='[XN"-^A8C(YK&'X M*BX)0?5]XNVS37K^QY11_+S?$7?CQ*_] C7==>VC$/4Y>G("NEJS6>8/ZJ;B M-ZW M84 4F3K;XSZ-6Y3[]FM<[64&5AP2GNIJ[G25=8X+/" ,M7Q08E@Y%4R MN&^;,*5D0 -JR40 V^OA46U>E?4E&9+GB !+R"F53&4+#"OC::Q2I(,(]);5 MAV"@\.&'.["5+TZ%K[=1DEPX<7Q8BR)"VK%K(P6D(#[ '(T1:'WW.069&EH8 MC2-S?@08DA)')#'BB":Y9_-1E%L@8/09;KC XK/D@0@NX**/$\ UG^SZSBT7 M6->.#?WG!A5MIF@$BKK.OZX[[3.[U5R#"E.=5^H>5[8M MXA;$#5A/?^TS,DY2E"PN:H'87L>-8.V:[ ZI>L$(PX)M!/5O3C\RHG!J!7MX MVC&H;(P4-O64;%X^0.Y>5]) MR?8;;G/ROK+ YF^TC>-]\!Y[)^\SHZ9X!_XTC&+*OE8I:]$O3VL!Z)JJLN?< M/+9>_4;W/>TV)U]ND-ZH8U<4Q+!5-&<*&_QZNIRR5^U\"H6O0OZ"%AS5597$ M-:AL:^GS*=0MRJ W*&T1RN^I=B*F:#HWL%84;$1GUFY.<*R*:Q1_^6G'>GP8 M[AUMF="\(=8*A?X5VUPHO%;);V*&T*\*4MMO/O[GM\ANQ.T5 M'L+W$14)&5M_<'LEMP]'L1!%Z4L6QKPQ$-*J U+;;Y8.7J%ZNX,KG6;GX%6R MFW=PA0LF[S:K?$8+4R4O1=D!%Z(TJC=(A,3LTF.B25 D;<-^4FL@X MRG6I#O>CQLGG* &D^"M3?>VG>:9L6QJ_'@6D<#' '%4)'QK=9Y3[T46;@:G\ MQ[D=6<1\.,GO8+\Z+1GZ.:4=EU9)U+>8HC^%,>MPM[B?)5@JB?J64_0GMBL$.#EZ/8XJ;JTV-;W)[F6//70QS^!-S/CE_[BN0 ][;1FMP#NH)+YE7#530:%/>'\1P$;YM4O49\U\03V4JQR_7_)*Z.) M#7PTDW4K>LP20G32=H^;SPX(1DC@+?DZCBQ>XPIC2>6]X>]JE#5L,4=-EYFX M:)/"53Y:U7X&3MHHMGDO19#M.XK&%7DHRH&T??B MP%E849W'X-EAO19/^Q2J,4K"T<-PXK4G:8+9FK+S0])W2 MD'SY\*Q$_ M<=FH8]B5$$C$=/Q0UO$LGFZ>'*&,:RD($DZ1?.,T3[9(S'C.K1_2&RAUVJ*7 MVFXF'G2B6I47Y8T0+A?:934SOH NX83'V8=K.,T>4<7[B]7=%7E>_M^K)WLK M]ZOUFDV,_AO-=7QDT^A%%++I<\^ 2T[D49C(GR!3*'3]0"2?M^RTFZ..U*5' M,J.Z@6"(-$+X&$O#WA4?,CE( 3\$^)$RPP5YH$S]T/X=5"R6*Y/- VM8 N[B MZ,U/X*_PY&L1 Q'V'[L]1.PO!^+L=L$!PJ0+)W0\WV&-J<=$#WA8SDDP\NR? M"8OD]OS)12 1PV)/":UD'4@UT!)O6R+%T/:]?5Z2<=YI5G- M&.4J6H8!,=U%,;BYXOKR]3_R2?K?]^*6&ONKV]JR$C8X;]8G27TWAXX"*Q2" M.63L8@K_EC]]@HV"[T7JNIO#9[:1P/#S) =^E]E547KB59WES]]INI2V*J3( M)U$+NU,H#,?O$%4,(O+)8:,-?@)FWV-;&I2M="W*B)=:9 9+V83=*6[I3!KI M1#:& =M7!-WHSFXYT%.]\<%-BG+23A7'$M@AM"B_99:1S6=DPN)QZL2P4PK5 MU.6+='_L8S_Q?%=,P'."1?;'OT>![SF'N@2([E3. .PJS-(5UQ02,X>P*DW& M1ROX0;(="93TRY;:L1)?JS K; 39N>&*V-QY99%B_0V%GJ3. V$J#=0#9DIT MYH\UU>I, S@%[[% QV0D9-Q8<"'1C5Y#?B41H*?8A)P3^%SPAZ)NPOY5ULUS M.0/(ZF'6KFC6@<7,@:Z/IN-CH) *%C85>>I5%8QG@))36KJP7T6UXUEBZ%7H MP%:W;&/@,YP0/"-DK#967Q L4SL3O*M1:DIHDR+D36>$8:-8#]:9;FZ=;*<+ M-SSQV_A+[X]]DL+!XY#U906I,X"D.@-U!:-C.C.'H5IUQ@<@SIHHO&> .\;- M):IH((^$JM*2!NUT.>*_!&101SQ7"K MHF*6.:J8?=Z^JJ00T-W55^+R0JY:5X4JH$G"Z3"[)/US+QQ\]% M(U3*-G$B* )C*B(4(1>S7B8&N2P;K\B:RHV7R6(!OY$9\#A6TQ^%[&],*!KO M8A_N/6-9$/X2*E)?R42OU5I:\VG_DOB>[\3U&0V="""=+/H;0UT0ZO=&&# . M4*+_X;OJ,!DOV)S-($AE9V?/R)HYJ&*.1&'#[V,XZS5?+;-_LE'-?J.\W%1$ M7FB1N!X<"!-28H_!6/0A2Y%@1BBCLXF8U"AUI' SDAGS&-4<:>RQZ@B:&J^O M4[YF>1S+SB.,163GAY(YCX/;V<2U:"WZ7AWM*N,413W2K&[CX3Y*'_, MSFJMYO55=1H<]=J1!.E\AN#SM)14'EL,Q &]36L8+?Y\($QL4LB](,7K6*4\ MWNK>\"8+_O7&'+]6R?@F"]%K;X;K;1SA!= 6M1HVG[$'Z T2C[@Y;'V3=Y1- M6Q2[KT8U&__(^R&F^3U9/=QH[8$90_34538*FIICQQ9-Z0WAS$[AA@%T1M9> M)7^RRK:$1E.J7'GF.'YFCKQ1JY6,<]H6,S2UJ7B: XDUDC22 M5!K3BBY?7V-^)SW;->6EY6A,D@V4$Z?%Y? -52^(V]N(.C%%IL%E% 1.+!9I M-4L\W;Y(G;F7"=3M&:V.")V]G_SFG']!"C\1K.0&B)V=BFG,\ Q'*Y)&-.POF_OXH*=\D#C9\ D;XZB>_J(&0K!:0^/L VAA: M>[P 465&E'Y0GAB5PYJL>"JCL0_X:PN\?.)1*SF+)N0U=D)Y2,;^#LU+]9UL M5<2?QM0549;RIXPGW$D@G"OA;!&$7R/;Y>$X_OHLAZ&"OL60M(+#EWX N]N# MC%70. LL/C))=S26!,X&CX_U,83(GB#[/Y@\DKD[H[)DC!F73=FF IFSX6@. MF\VLDY_<#?7V 5VMEV'J(6[CH[ ML*M[M5T6=VOE$ANND!#BS(-\'$TJM/ MMG1?-"L_8#/F*8WBI1*_K@' MN2;>*YG.4IP@D:S8@L$C!3,B?N3LR#?!T$;2P(36.!D.CT^_],H[1K'NN:UY M77<$\DBA=RQ#&ER^W")^ G@T%4W';9UW-&Y'?G2X9YAGR:2?+\CGF^56RQ,.'Q$AG.&I=P!Y++VO::L79OY%C7T0RE>H1Z71$C M55<->E&)K'$$N"^Y(3*8>&5A=_8,)P*DN#P%7GX, MM@JYA8[-Q@NPUIBX)RGD&#+$0*5[M#WH($:70>KTOLE:M5>352$/)>I4X5'> M\2(*W]C2UX?';0LBEFZG6C5AD5KA0R$MMI+,'R&&@NZ*G<(H[7?CU Q"W=-4 M) '<,LQ<*J\3/TJ$D MIGP#-F#QV#8*.8 >&2D+ ZGWX!R@\3*.X16+I@A7!DB@? MR'?-PCWLLHL]H=.3$[M;Y5IV$X%PPG?4+NE+6@2A0[Y&(]5SP+UVLW4&O7J2 M#"ZKUG/*8T>?"W('SUCN&FR",-G!2"XS@]/+/(.''$E:>OA](O M6A="NM%"CGZ#3%1]O:,#(<3H-DP?$YP7VJ+W3]6L&?8(EH_/OY.OR]OE M_<75$UG>7Y+GQ^7]T_+B^69U_V1QP>&Z$&LDC]2E_AM@CF*3^FT3C6[(W5Q7 M\=(*H*4/8C?7%KUWL"D9D(+#HC2G6=N$&%UUAAP>)7%.7H36^?LK!B]:7#C) MIDZ-BWT,QV-'1NC0#:G#=E4\OU:AT0?[A8HN*O1VW*WP6V\O!^Y.T"=.DD2N MS_T7"EWRM6),=U',"U/P1T8.K!%QF9!DO0\]*+<.5*"U'Y*?R(&M(;(%UK=NF-?<_749MCRB[^J1S/.9)>Q5ATAEH @ MUV<_D%\2\: K&^D!Y(#PPSPA%N'+-'&@!W]6'EDBGY0U6A12L4J3C_JQ/T'S M$&[4!R3:T=CAJSV^:B/^F@11^$KCJ==O$W^3G!UY./X06"(Z&V:1Q&O&JD%X MAOWWU?HBIIZ?7CLN?ZOLSDGA&/WP3.-ME2TT^F"&8%V5<]!MZX =9K7E-U2, M=2MI0SJ#'WG\-A!G3M:2^\28-KH!^.D:Y 4*-3,>)&-"@(L%U!I=\5Q!)L>V MXD-;3&#)T[HA_X>&"72= MRJLF(/""")&)(C/A0K-9R0FSPDP+(@0G+ 7HMM9[\_KPQ05T-DJB&YW072@ M(^V4O-'X)3H3V_TLC0:%P$56J,F7&99)0M/D[S3PKJ/XR0GH/4^U7ZWY9"QJA<.!&;(E,O!R8UCR"&P%VG]ER_G/BP-;&?6XP)P0V/, -BJ9/'.<%U+ M[,#6+KBA+8Q=3AD&*"];FN^^>5._+#R:TAEELEK+RJ0%<1OO"8^GJ"!5\2U- MEF:F\9OOTD?Z1L,]A9M':LYSE<*M/3##C9ZZ1>7EQN;8@4=3^H$G4VQXQH*# M3 ^,HS>?)WDE@G_"KXKE-\J4>RWDA:;OE(;DD_,]O(G-Z[?P^V9.>. E!6#8 M)_N7A!%T8I\F_XM\>OF^]!?@[T ?N PM*+!&+J,7YCF(C!!;.D%X!T<3_#%$ M^9 6ZYRO"Q?BX.+#87]@P<[+/H7;OB3PM[Y80BX(K-I@=<_?%HXC1N$S+)!X M6"@8L$5[2N "\=8)&0CPM[<85)[+,5*GC'*G ( M8+Q.?"$8T]A(GMT\>=7,;J*DF-H_+'+BO MRQ\!*.+NU7K%9T8VP2[7#)$5\]1MS'8G@QQ-^AJF= S5D09B-.FM2N_XPQ%7 MNCG+A;) A3_F;%GXQ?BJ8&/I4&=J\Y3M$1W9 _8:U66"/7RYB%A(OPR]*U$A M-M&(3%JZ(,<-'855C&AJCQ@/M,3N7PH=UH&PPLK(+VPN/2;1.8\.7,8%JJ9" M1J&'*E;(1(0Z8WX*RR%1;H>MD6ZC\!52@8J?F@K#]"*$W._[&T=%@^Y4$&/$ M &4&>U%!>$%RK@38?N8I:\7O]NO =++3;4MUF-[$SLF_3HS4V\=N9U!?9J!" MD_K:;7T]&IL.]TBWXE'#._9_M_NMV)@7O]>_$-"'SNS<3-,TS1[60F16SJ6K MBU&_RID2R5467R0Y7SLQ\?3F*3A9W(3/CZQ? O^5GQY>[NE->$\_TN=W&KS1 MNRA,-VUS='OOF:"%IAFJ,**EZPR005>#X=D:.:,%8:P@T0Z8$<&-"'9V86!L M6WSY\72'[&'XMV!#@@\JA M#:K/7/DG3*ZL;8@Y.JN>=\[*'ZA6%D]%';JC1D-NYLA!T3]KM@QL8X7.;3=UG\X/D]JD?++ITQ@V5G(^18J=T3.U1V5V14I%R#.,0I MR0-7A)E 1>F0+W Q]IT'#$?4 MMT368%23UV_:O^PB&CKR,9*3/-;6QDB]34_)/$JI;8D]*FD7W%#9HZ*,6Y*Q MDH_MT5+1-E'8>>+ 8CPK*,78.K!C=YH+$IU M09R0PA_#^_"R^?P[^Q_ MGKXC8F/DJ)S8=P\__?YO=S_][?([>"15C5_$FZEP7=IQ^1Y(]N@.HP#+X2W/ M/E^(,F8;GS6E(?& ^GI0-V!-26W]"JRLFK.^XR5AS0 @A4W$(07OPQ MGK[ [.CV.([(2,Z"9#QL/(XSMMK+BN\>U^@[8:4O=T.]/2]31%_%14WYT/A- M<0[Q]2!_;$K8[D<)*10:,$^IY%=W,HB7;4.TZ5WX2_+D\8P@3'*V1.&[X*_" MR!;6BW@\L7E'/$&R3_R0)HF4+*E(+]?M@]UE=%0N.4=3!\QNH"5W_TJ[@ICI MG/3N0U@(4IF47M<&^Q"M4JDT)-4&F(=@I9P#AYRE7/-1=4K&R"Z_BV!&DASJ M$X*JFR%UD3;%\F5?11OL*[TFD4=-W!&,22(X3[R>&T-KJ5 .&/8R:D;1[NG) MY)/W(8U?#ZTH4=T,,THT*%:\4'_:!CM*-(D\*DK YI!@;@DIQM!<*H0 *<;3 MSGIL7K7^OFW)I]/LBA2 ^AB@(L!O[(<_[M<3?^ARH'*;!4$*WC1&N/KY[NK^ MF=S<7Z\>[Y;/-ZM[>^Z>I0()E6%K*UO>U)BHL0-RUVY75G7H^M:(W5A#Z.$I M'P7Q;!:V5 UN$FWS=[SDZ3_7^T5NT&5QE<4TMP;0>N#OGL$YU/(%4O;=M#OP M5=) [NB]3*(YF9\20 P'_?0897I?$,&1? *>WY-O&5M\<_T(II$OOHG')EYC M.*\6CQ*25\HB?O[J G^"@3KN)@,5#&>XF>#P2M75![-JZ 07^R2-MLS R]"# MZMNWD#LL'G?6.\[M210[ZA@Q6O4A;Q^*F'')C&(FCGYSS^3NEXE 20N^500Y6?;>Q'"[$K#E9I\)38T?&L[Q+8MU@1 M,[PV?G'GDPI;V"DSKQ4O?,I=CV@5<.Z=2.QM! M^Q5_B?PWWZ/*JD9YS/H$M;Y"=BIF@WR#AZ?R]+XM%:#> )- M'1U-!Z2!\8I+(EL-U%BE&QKSOSU$[S3.Q*C/#^O8'ZD_]C9%GE'6I3/V5+-> MNHR>@Y;PVF!;(1;WBP@$DW_?@6AP'"+<)EKS/I3'@1/GJTUJ/E$Q37+CN,CY MR4IJG&,17EI,<[-@%+VA8AI+GPY)2K?_QT\3J50+=M:W1X^5+:J6L;&F\2RP ML$WVB; OX6*0/YD<"U'A2DAC'^W&,I!P9$&= /D,RZQ#V;@:*U_:-#YE>/L' M9>!W$85)&N]YR7<(8IV ML"5=G?TZ-7-$&4PT^L["VSKJ,I$4)?/T5PLJ#^1 MR\7G\\2!&CNH,' B0QX%=L(^*CNQ.&8,K6/DI!8ICQB3%Z4>+N0"O#6@JV^* M&0U;%"PN356WPXYR;6*/BFA)MG43T\!)Y1^91%-?H1K)!E?D@5QD^U,88K/1 M%'VXR+^E26P)&%C%OLNFK)O0C;8-T5=]4]38TJQ@@2W5[=!C2XO8HV(++9BS M5L!]09PB'HJS 6LU-!K+0@I=(@A;A9WQM32(.BL6?]UEAPJM04UC:\S8TZYF M#C_U3;$CD(;DTP[^U]W$4#.B*59\4757G,0A"'7&5%=\OS$B'K[Q MGTGK, U])V@X7FQNCAI]VA4MX*>^+7K\T1!]]#TC<;J3'_Y]VF:"?&\U]AG3 M-N*4+X.AG+I50!I;7?9E2?%I1P*EJYW+@/62OM$@VL'0SR!6#Z3:N\\%M#0- M40EB+7WG!&JZJDP.T^JRQK2UR M;VY4L70INZHA8K]MEK=WSAY0SB]?_@*@]YUNZ+KSP)=]G MAIBVT?\:FB-WP39%52^L:XO8$5M%[CM*,\*DH&S9&\=7-E MG=(#N7MJJ-NRH,N:(W92':D-!GE &]\*#J3JMG@K]9C;.#Y5MWF'+6\^IW%< M(;7Q<8QKC691XPE]5V[_GVC?&".V]\+NPWIJE_RXN0MF7]:4O/?HSDZ]JC;1 MK<:1DVGNEC2/&0>++AU3ST\[.G1+'^SNK*-RR9F;.F!V92VY>P]G3AVA&X^J M=<6:D+PXC%C/Q.=*+]8J>G;G_!'%11'@ZLI[E8V0^F>S4EE]L],6"#VP1=#! M,XB-(GOWSI:NUB6M:HOL-;5%//I:5F]:,,EFM":>MI#19 MJ[(WGJJMR@W(*;^(MCLG/"SKT\9/6B#UHP9U\N3O\L_8\[MKI#60P@TYUZZ@ M3I;L7TY*G"R^6#-W^NE'R.R&. 8NZ&ZC^.AV[G=)=F"43)RT;=@F%[D1+*9= MCZ6329B0$+0*&^[^5S5"#19U2A5X<=P"/634"CSZQ8_L$0X2A71!WC>^NR$; M1V!-X,2O-%% YG01,S6.&#=4/DLSDE;19#S-V)<= 5.>WZ-V3%$;S0%33I0Z MP92\Q5PPY53@Z3 E?8_F@RGF#)5['B.) 5-&T(Q]V3$PA;72B%3*S6:!*Z>* MG2)+T68VV%(A\H3H MQGA"\&C54@#!!%@3%C:,>_,(;;I#)YL[1-=*M]=[2M M-U($ZVF&ZGNAC5T1;H/VU6#@Q<;%R<[H+9[+GN-:H*RXQ5?JLCNF-?90?D;N MN,>*5+T3B]CU3D0<>FG8[F.LAIYS#(NT?Y.EL^[W,'6OUKG_54WV58V0^D"S M4GGP?=(">^A=+["A X:0,X"#@RT'Y/R5WHG#9O.*WN>:U4XR$P3,8^J5?ROR M[J>;TGIHS/R3X4G=#^+8RGFE/]6@:$L7I"C41>'&O&ZE/>(96TML,.*!Z76UW071@<9W3NIN_/"U M]+O C1J;#2*(W)F'&TOU^/[4$,." :7Z^I5D353:!)@O2,:>9/Q+C?( ()? MV90FWY&?XRA)R(-S4M=^&O2Q:,J,QW?\6:O"FE@"AQK37$1)RK Z>@W]?U*O MFUE/^LX3BZI-H $[Y8[S0Y@:^4< $^!$"E:HP&$D*Z@@D)#$W= M30C]V-$P M,9D5U )YZM^72;%(6JV7NUW@NQ!*/3F!$_LTN8[B.^JQOP4W8;*/8:OB*PT9 M_;1R3W(RSDAAQ8+Y\]W3:=ABWY*=V J&]GEWN2 0/-$B>')RJ> A3"X6SRX7 M>18\FSP+RG)T84UD=L96B$_\3'[R(A4 -@[Q*H")[)A*$V\OS^2CU0^E#UN(2Y[4KRDE)KG())/9PI[X3#Y&V;)5?E(XA$=>#F5G :O7>P?: MN?COT3YABY7K?>A-,/\>H[R#89/K)6^@':"Y6^,/3&( MVS/^A^FFV%J^?YU)MMGT(TVSU4S_6A-MBPUP3[7B\<@DD_XO,=N.],%&FV_% M4Y:YP.86G>W4+JVM#/D1$YEQFQ9)1>TQNG<$YS55DA0Q./ MPZGR*PJEA(2MXU%P'H9ON>^T'B0NRAM%BW)X"Z_2GM^$9.:K=)U=!%OD4X09 MTRPK1VC'0[S^(]/B\UGNAGK[@$VO3QLGIE^9-3RH14;#A./),F8ZOE+0(/EZ M*-H\.%RKY;L3>TW/G)JDCW3:&]3!%'G"%H7L>^<)!) H# ^7R&OP-R M%M(051Q "K6A%(EPF>P_]RI,T_P T'$;Y-Y6J5+I8H[: /&HKY:S]T3&!QR* MMWOZ.W%ADM"#B1^J]#8^^C,2*^0N,*:!2W//"'P0.^2HZO:>D8 A^=HR"WV5 MLY!L6)Z%%&A@\HG GQ?DMOLX$DIS7_UC[Z>';/JV_I12=KGI*8WH28;0T(B^4^$FR M/S7;@(/V91CNG:#(";@)W9@RF6["0CVA[BJ\]N,DO70.J_65XVY6:UX9^7?J MQ,E#[$?Q\[I/_1D6$*PA7'9/A$ LI M_"*R4#F] (%,V!,6,)G(5 H$5TE-P?.E4NP_B).KE2$9FSR@VQJT(R]PJDR3 MA'C.@:?N,4WA?QG+?U_ __T/?KK,_N,_R0ZTSK(H#DQWGO60:<]/L!VNOSR, M3ID%0!9A A*)30,AQ<09$>?PV84.:E;>C?*="SVR:9[9FJM"+L6GO9*?5E3V MYPJ1A^R3_BX_Y[+T.85>,L6/?\Y.(>8Q)=:XAC]G/9B3B,2/2.0<\ABV$-MYQI9X"(F'$_\5"'"0? MVE2$DZDCHAK^/?]:\0VN[SD\O!G'00U&-+VWM.11X\^L89HLUVQ(7'WL?%&9 M>[5^VE'77_O4NW32XS38*?EBCDJF-'T>=TS!%'MD,:D-C+]!(E&"OW6^=2!? MGKR"0 R-]J''D8,*G%#@ ^YR$ TGO'2/T'+,.^_#3Q_#^+ MSZ&3:Y8?9U2FFDEIB1!7?HQ"8'[,D8E,0&8+4_ZH,8I,B M#LXF'^Z["\UY;"[3TPA&'CP++>3=QF+: ;GF--.,8-6KAK&*./VH-@=<3L97 M'VSYZBM"-< :P05U$/+DF1@C1F2*O$1G9<9\*#IR*-)L*.Z OK)VHQT-CFC^ M[6IQ_ECQ#512"!/?_=4)]KUG73.LYS[7&OP 1O*&._"=\[QJ4GV+V<7-DVDN M+^$"(YT\,7P*\0:[G]OK#:@"PF>K_1SBT4Z>\S*C.E/.>'Y<[=,D=4+/#U_% MCNY(7Z^*SYG/?+6F-3G-G3 YXSFM7E<,$Y@B779I9A2HW7'PNPJ],<'6O*FS M@[>HH$R<5.Q20_VQ=58(]O]O[]M_&\>Q=/\58H#=6P6DJJ?O7:"WL1<7<)Q4 M53K/C9/>F:X?&HQ,V^J2);<>2;G_^DM2+]H6*4H6R:-DL)C9FIB/\QV=\_&0 M/"0I.,ZM^=3$S%PO[V:6XCA]-5I\(DL_#-D?[.K2>/QD18NO8@0WL;0\6.]O M9[0??#%YF*[?1F3@?/FX5[S@8M78=B!A],MT#B\LK2K;CS1PG6-ED5_4WAN'7I*H-K3&\F3WT=LS@!LQ7L6%N3N^C&?I :N^B M85M<4&0YI,'8&*^N]R7Q,YTR-VOU)@J?2<*" WZ M>-$R9*>-)T\)'\LEG\]&O\ '-FNJ;[QPVU2G@ ]B/OP \%U'Z=LT)JN0L MKE>'$) MQ8&FSK^S?\IF#=J5@3-E-R7LO"&D51,P9W4$T/L.D;(;^6M915=N:,.2&@2B M]$3LQ"!VC5C7$OH\JS.6Z,"CI/LJ%ESN:=#]*8K9C^;G%KN= >=9LTHVM,XB M] 28QPT#!K;"@KXR(5$AY=C>B3"K\OI&D/$^@--MGY]I;V&+3MDW/'C M.$BZ$Z1X&R3>51G "+XU%<_Y0L,(OU7'[$87=T-I[A)+%G]M]PV4X9U\@N.O MG.K8,4 >=X/?X?U)'1*#G!'VN#Z*AD:Y.D%<>SLI'UK:W>$TPL[M?;U*-M94 M\?'LV]+1JV-;7;P.V;42<3^?9*1<:EKE4GVY6P&Y)Q2;[[&E=?:^\6/HI\G] M[%'Y-G=;': \UPFRN 2@K "0=[K)W7^KJ&R]>*V;MX_NT0P].GZRVS#PV>,8 MERSY?_U*-4-#M?QBE!^'7CEH[@(X'9A0Z" +B WM R8;(S =+OKEU\ 7^'C''&RPO*JFK[KT^4RQL-H6,5GL'2HB./D,U,[37-?2; MXAUHXKB4F8,\&;:[FY7YF8G LKC(U12>38K*[17^&RV31HB4B8<()SNM6[Y. M?D1?XJC4V?PS'B30TE_$5O+2XCMFDAU\"Y/\$7T9F8\4)TIVGE5XA0WGZ*X^!,K)UO>LB[$6QU-E!_%RA#2*,%;'#?4BG _6$A.ZYT4"V_\ MP5U!]% V#ZJ]<">7S6]:_ZD'W;W9(;?X0=D;4W;[?Y( J M40'\\307O'Y@<5CV_SG_)B'/A'IQ/+!?%=4GN3!&^6W:6? MPP[!'W3_)CE>K@7X-%_)_IJ9?O@/5*OME?-]-3W:.V/\F26JG=%/^@G[,3^_ M!F(_I:.4;W;<..JS6EZ.ZR+BFQQ_CM,4_#%*6-H[N'F 8T0,)&(H'1\]?JW? MNEGM'_;4_K;'/\"F\*^1KLL'A#:\_6M,TU//*QS(7O4>EODOJ[>]]4I>=X6L M^./>>WT-<0174OCV>[F*;SQK+M\;W8\Z_DI7:20_&L\&U)'\,>S_224MSJ> MV?["0B[+VQC.BOW"H(_?@FPWNK0 M9?7+[J;EO(VA:S1-#CU:"H$_U!Q.E5[O MF&+TD^57*2V8\IYY,E&T*!(\4;ZIY7 0R9X2\F=&57+^3/_K 3\%4HIO+@J= M@!4 =^BQH1QD\E*)VYM:JD81;Q5]Y>T>9+RY,T_:W^2[+[O;45YZ9$:Z!U-E MIT71$9GJOL2#62MK&7UE;<.RV+.(/66EKYVJ_/BL=A=JB]WFA<=EN7LR#VR[ M>>NN,HR!H'7FJ\K7B61EQ^6C\M>(&@N.QS<'>H3G, )R^N*0<9"$-0O& :_\ MD%RD9*T9WXG%Q^6&!T 5GEB5'8\S'HH\G#^RMA%O'(9/#HCU\71V_M^/YS:"_)JLH8'>">E1JO"2WB_H]LQN23I*$I&QI?1J%213X[/F M^22\ <&WI_[./9)XX,WAOH!ZMW&55L]8F.B$^C/U1C%W/]YP@V5BB^9 MLJ3SM)21[0@50N8WX5:O&(8D19@+6F:JTV)^NOU?[ 6:6DJ$PSG*=@1'B2"Y MY1=J0"J_$@K=[6A;>#.2"H9RR?CESM-]#>]*AT3Q'+PV US+IFUZL, SB5,A MZ*3_:S_@I'_Z?>:MR#P+J(:I+N?L,NKY)S_$H>?C8$9IB&\@)$TKX-UK QVP M>JJ!#4,=JP(,5OLBZ.M'50^HZ@+5?0R^MJ[E RK44YQOAL#%G M^%)I1Q$78 MMB"C* O4%;4@5@LCLH+0%S=:Y>YK=I-UE(7\H5R_ZH*E<#E<2S"&M6X8782N MY_(64";['](0J4P6"S_P:1C22BD[)<="*(?P&NFD+C8F,FF0>F@JP547#HED M0)Q[#E:W["X ?X@)3K)X.TLC[YLJ[[ZQ(%!'; R_#%DTB MWN:)R[1KD^@2UN: XUB9Z>U%:W(5)3^?F&DW 35;$SPO9*?"XJ>A=0 M8=_S 96V)P9R*(W0R\KW5GDO^?F,-4E7>3O8\]A0S&Z[HH+AS2;PR=SRX&M< MZ=6IE%Q75UQ7S,P-1O:[5XD_* -\6PJ@(0C!,;O:C.^NJ>)]"],:@*CMA6&? ML1_>Q@SV;3C#;-N(#X'"!&\K&3+U:@(=57K %R,WC6J 0[DNTO>^W(GV43)< M%*(S/]E$2?5N,N^/.43=HYNXSX8J6.M,!W.N QP,X?R2T+ X$)@\1!./DDY, MVN+"M@I W5P0CG9MR/S2'<20 4K9VPGB_9WP-+>J2U>/ M7]I4"A5_1?_%0]5*&1O6#]<%D>EB@(G4IR@6J?(JPB&%K+NTHU4;* 'T5,/! MK*N]ZE@F81V0]-\:S+?T<#XWVV!_CJ(8Q<0C=)">LYO7V!9>3/CV8+@LM@S9 M<:G(\WEL\>*G^3Y?P.1C1.(P.<^BZBKJ9!NE[W9BC/?HJM0%F$4F"QKYE(7S MX@FC1EMP>0*@6'*X7=Q$=#YZS^V;G5ABNK@G 5/A':8F+IWV=6P"*,D>HY#= M4P+Z]0%'6KU@'''8NKBXDCH([P[5_>5SDZ)'5'3IZBR!*Z7DK,$U 8,W1,:L M)$T*O5!F5=POJ5D5.$]T48!LX4=6#S O=!)_F&6)=W4_U!7>%P11].5^S<:2 M%H(H7'Z@@JW14Q3'T0M+H'&_,$-C)XJ_F!7RP];/=$[H4_AWM#<2QV3.4PE: MIJX=FH%."ST5T[14H]L&9+KH"V60N4?=)1M#A4Y1U6N>A.-ZZ<:->N(=]:1' M9VH/0RW"5ME%. GGD_DSIF['EK>J73/5]=5=Z@,GD\ZJ$%E$NS)@^NB.8:@- MVG".RL[X"G#5W;'W>22EAR3$^[B,GG^8$S]W#OJ/?9^@?_K]BM)(<,X7EQJN MQ&XN =2N%7"8Y3;\#- V55+V3HYD[:&\P2-OMNYL7WFOC7=7-_P,V+*:@)1F M)?X&U*8:1>R=;%^8DI.+IFVC.6)S:3J[F$4!CM,X"GTOF:ZH@,DJFT97Z;SQ MFFC]6D ]I2/L:A.IO0KTS:,." :X-=(/:8B]SE_L8?NDU'#9#@"-):@<2!0$ MO2M%>4_G*!]/$)7'\N:0!=5,T0SMX2Z[H:@99D=W<%M3@,9G-\!L#\1;A5$0 M+7U"8VBOG=1D%<; 9TJP!U366'HL+*86W@Z!(5$(=J#3$6V9T87 6 = (7"5 M(=3Z'_<8=DK\&_)R'I)XN?T2!6QSG'*@.NAJK0*:H?0 UQRE+@^>I33%-\Y3 M5 J4BX$*.9S%6(950MN7H'4>7)E&WO$['\-;.,1S'X><(:]QF"VPEV8Q[>XJ MB[94?'6(U:4V:#;KK(::V+2K@N>X[DC,TETA3S%\[TB$WA4RO7<1IME3E%(' M16_.XS<@ZE";A!&2+&>\K,,^--E8?YQ$*5>%!E4>5AXO62JP.*3+>FT&$E\: MT)52#=4*'>L0)F?:5DF+91PW)YZ2($CRV%C%CY*"H(E0!4Z<]1Z6 D]M2J&- MSW!YWPXGM0:PLZEL!8NC M1IC-Y+-3=%3LTRRY3?KA$J#+CY=!,I0%57 N2%@;/43JR6\K1XC*P94LJA9/)FTE=L)4B$29O MW_UJM5'(>U_VAUL!ZV(>(KNE_ M.$KT!4R891AS^5E-4=$D2](8!SZ^2[?J7%.=6J,A)B7L9GYJK#(JFE(CL+IJ M7HGR'E%ABG'Z!.'Z*I]M^8A4?HF<2UHSH[<]E52=,(4X3T^U#G_/(M"5O_93 M,NCI'Q$3OT@XY):*@[LX^H-X:9$D6_2LR80=&AH-.7953C-?ZK8R*@KM#,HF MJ^X(APKIJMSO0CZ71&I->WT4 X9O86C), '?3L+Y]2UUN]B/]#5LOK ,B3KO*U-63ZWD\3*T8SNV=15FZ.L=) M.DG8F@717]94U81,JMW@R[)>)-6@TVA'%'9S8*@TB(F#F#R("O01&G%:4E^[ M9EQS)1A%?#3/CI-%['O=MGSD]<;%C'+H"EX\K#0^5E1@L,^)N3#"WH]KTC.@ MG1;@\/C.O@X,1X*G,?[+#Z;1>DVHZB[6[%TJ]OC;=_:/VT6>D(1#$B3=-GWZ MMSL:KCQ2=IO4>KO=UQNP32:8BNQK@4,-&.Q5X33./.8ZCPF^NIIJC@B*BJ.A_#;P MS9PNJS4JTFX%89.516&* ZE4()>L:TP]*N2T(W1%_V\*AC.=J*$R %.<5V08 M:!])/BP_&H:30&TFMKW"H^(SF>PV::Q,LW%\.'EH5D2":>#NY()TK,K6NNBX:<;U3!%HY!K:0BLL-_XE# MCUULVO;RF;(X9 +5 'IP#6E#6>BTJ".ZI2M)WY4RN(L:#2IC6MU16K8.@+R, M N[T88^CI.MHG@4D.<,+HD-)BN+ *:D-J$A)LK(CH*16T8U34B$!>G>&/Y$= MR[7/2<:TP3BI!)JW#H.3S %6?EEC3UKX\WE 6!KCV=K3?NZGN1)H?M(%+7FQ MHJ$&>*[2!F!S'2X7)$^.MT>-:(4%5[:"YBU-NO@Z<<>-K*Z")])DC(? MN*;=+@G[5SX#;0^S=.N"YK2.*A #,*V*X!FN*P[CZV5L$*]%0K5,Z-TL^VWE M&Z;0 FB=[J:,]:V[\%XOIHS'/ MG*I4JOT[IMSNV9K7FDH9<.\;\G< MKG])5-/H7LV )M?^BA'BT(V^G)WEI MX.34 E.D)DG1$1!3F^16:(D+P=^W_Z?C]!-3ZF"4E*,L&H=!2,;@=OFH@VWS MBN]^/V#_!8=M[-2I.FBZZJX(R2:PLBYX0NL!Q?:JW^[S]+E<((YI&-:7GAJ< MDR(XC1AFS4F\9%>[L2>ORCV<\CYO_1=7M-H8#7]V4(GD-9;V!D;%I%WPV*;3 M2C9Q$[*Z/=\MH]K06T=U@.%6@+H9DF)9NG6RRM@\/+M;16GT' 74B+WRUEGM M^[5[MP2:;H]23TVZO9H!3[W'H3)/P(5\B N(1 FK2Y6U[E0VS,1NU-A=.\YI M>2R*,AP)5P<'BR%A&JTW.-QVNWU1LQ'0Y-Q7*5B#35&18=* $-="S4[GZ%WT\G-Y&SR'EW<.#V@: 4P[2-?.,;\ M 3TP9&;Q:_->WJOA#TE6C]_T-Y .RX^*HAJ@RME)*#PZ8FJ2?5 K?;Q\CZX> MSAS3D4F8C(D>OSE?\W/S916@=:BGZ)OWN\#)$^\\2SXL,=[\P"CI!Q*D2?D7 M3E(?_O[CAX*FBC__7F_^)!\KK MVP90.CM*)8SB>C7@F/::>. X''T=1>@-^?G!@K)#MM%2=XF^LDX1[]4R7;C1 MS#7^(V+7EQ:O$/I4!=&"Y8JZHXU*F.UM?/YGYJ?;:Y*NHGFN&$*FV3H+Z%#Z M3.[8:R%T6%V2VQ!,%#C,,$\W,D,FHQT0]P^C&F6I&B!N\$ M,(V9P]K_ULSZ0=$8Y3*A7"A42G6":KE0+1BJ)$.8B8:H;$@4S@TAPM/Q)$UC M_RE+\1.[CR97\45(.Z+RH"\DF*-W.$&8;>=X/./O+>RL[8WU-DOR,7'"' MXS1LG@-JU0+*71UA5_/!]BK09X4=$/2U9,'YZ;!/,5.FEKS,.T6; MO%?+BU@6U-#HPQ1XT0TJ^G$P?[0 _J+E<_>-!),R%$R(]W$9/?\P)WX>!=)_ M[ =_]$^_G_.7KR?S.96&SI2+?SS07B;?_?TH3JL"4$K3!\O8K+TTP "I@]"] MG98WCZKV3\I_(M8%^LHZZ;WZT=EX!71GT1K[^XPN*P/81*602JL\* #4$.5R M]HX =RPM;]3R>H%#8,:L&D M(?KJVP90!SU*)>+:5Z<& #KV<3CZ#SI5;V@1Y4F5=8=HM\+ MR3S:L(E[XQC54A2X%Z@ BL;>5 ZP32O%[6NZ/$ZZ7:"R64?CE7F,D8CQR+AP M@+&K8H=9BL,YCN?)XV:.4T++_\???U8ZI6Y=X%[:204[8Y1.1>;DD+LT?$&OSP]Y\=#K@QP4D6;V=IY'U3C[>-)8$[L@+>SFA[ M6 RPDZJD[3T.%6TBWJCKD=8X0'<.=T>UM:(23:/UVN=Q^?EW+\CXG0$1>X@Q M7M<_*6:'?=H![JR]52.ZQ%'-/-:/&N@Y?\&W]ISK0//=HD85SGGR]B2FJF+#_SV7G MV=FDE-YRKI%=!9:(V5L 57>HB8,=GF!QHI(3M*$MI+NV,"!Y\@,S=]$+B?.7 M!VH@B9PQ=2I!IDEMT!4WMM: 3HCZ 'KG6_.C5QO6!4IX'\BK.[%,7[;@\BZ* M1SL$FDI<\I2+3^UN0OF91I,L@X!&G"3T?)*<;F]P2L=1Q7),6QV@W-4)LC@= M5%8 //'3D[NO%;/6T4[S)RAOWODJR2[P K1R-41=8U0&W0A7;LX[Q4=CS,U2 M#V3*V\J.G:Y)V$1\T@;9YFGO)(O92=492=. 2!>; 3H(@>N%@65;;/,J>TD46H)AXQ']FAPA#?:ZQ7M-SZMWGT MAQ-#AX[]F)![?[F2+&3)2P%W6@DLT47WB@!V2)FD?0V0MH?R!AW[VM# KM@" M<$;1Q;Q5EQOX3X'O/:9^X*=TRLSN'@AI5UME]HNR"G!_TP&\N_!JCY0;>T.3\5:5(#@ MW<-G=SR&7A2PP)5-$^\)[2DC\IU)96F@WJD)L]J+E!>%O@FI(7GOC.&5GZ U M;PLE[!Q ?H!._J90)LJ"XEP8=NG'!F_Y7.V%_GM.6/Z2'^8)&T\$A5'*\C.> M6"7+6YH&E;?3-"K:=KF%:1NK^]4G?IF7QFJ36 XHG[5":UI-J@H!CB7DLAZ[ M6L22PV"L#1G!YO#$E$_9>WF[X+?>+4A\N_@<1?/;>$;B9]]3Y0CHU03N@AW@ M[YRP:J\&V$V[2-\[W.!]L+/ 92_LWZP?=MEDT9/SR6Z+)I3S7=VZX_8 ^:Q7 MJ^)XO6"@J5_A![>"']P6?G K^('3&;!53;0Q@O/LA%*ZF,PGZ5WDA^E%2&5O MGE-K5X+. EJ@=P\9JVI ]GL]P?N?S*V:1Y,4\0[018A8%\X/(AM%?D^\:!GZ M?U'@.&5W&G/H?HA2V@<(?[Y])G$75SXH/QXO;H8J<>#=PN/P78G,0[@M:QJ8 MOPZ,5G#5B(%UZZ'%&M,]6>>KCW3WM,]2'*=G.%5-5P?O!#@7F%&J2"##]@"8=0P![>^\7)P35 F$!(E0+1([ M:YP+A>K@6Y3K!'')$!/-^5Q\MO(W&RKD))Q_P>&%MR&?+-ZR9KME14H.Q=>W*7',WJOHWD6*+(N5(6! M.HD>R/K\MZPD])2+=L'[QVD;*G'QDJ LRZ+LOGB8<\T%L'T6W)@*]M#E;3L] M^FT>:B)\R$$)ISJU?A='?Q#)FPB:)E&)=+&(Z MD.FGJPHJ/M*M")V@.N,8(A4UKMF+W0,F9[!2NC*(8#/B7$#$)2S^;IG4K.EL M'_ZD&;Y+YK.OBW5M"O-<%TNNB_SO#M=),LRFFT18'M:Z=:>]&E "[0I\9YFE MI0[DM1==T7LO8.0=1+&PJ@_H$IX&^#HW\;17&Z&9M][)TU)G9&8^[%TU90>B MF0.YHL<2=IF+#W]>[!I3T'3TI /T_T3QMS4.V2Z#/+QO*0_45;6A5F&\JC#T MT%U+=J,+#.M" AZ,O>0R)%0&R_&X4464C?/@NV@>L?9=1MUV$.]]U0'IZ)Q= MU[ M7I>_"/V4=L=7.:9X@Z6GOCI6A4Q2'150\95F/>C4U16&41;[S[__&_V5 MRU LEGJ%%)9YS)96\GY0T1$J>BJ6&_7EB,DN#//_T;2Q0LO<$1 UK52]X9XKT!)D.K.OGY M)V2-$A]H&=*'"]LKPB=!3?![[-=2:QRTIPO"+-_]'SA\9UHA!='Q;L 2G&DE ML \^'+$-LY;.KB]49M;N% !*:G(PXDIX_2O@->\&(8^ZF=)M4NW :!R^YIXD M)'T,YY03HC!)X\RK7Z^78&^I MR5= #O/-FN* _8W;3$[GVY.FL<\=:1V+SK M=]E-8MZ[:)JPFZ91QE7@";VY? 2"*H@DZ3U.R>P%-V] M18&[KUJD+MO/S25 M!.RQ+0+WORHS;Q:Q=A%KV/F;#V9QQ@QG0AMVYXIG)/&7(95C/DF^D/F2SHLN M.$6T/O&@5Q.XDW: +WJL1C7 [MM%^KXV7O>!)@DJ>D%U-XX]V[(*<()6A0K\ MJAN']]2?D=A_QJG_3&K4"7LUZBI*DM-MH9%[$N0I*2M_HTA=[-T8>&XX1DF[ M=-&G)= ,YXZQ >JH0H>F=C0<">J9:WKZ&R5A%KMHI0W8:E M!E$N&$H6A#H\&W.* _Z"XHJ0](IU0[E!$5@JB@-WPS:@HB?*R@)VQE:1>Y_N MRAM&O&54-NT\Q&O"JXSQE!5&:+OR*$]>>F3V.U#H([-@IY$>'+Q'9 O5<\Z$ M[YXDTRR.98N4>C6 >F('N%5BD+HX](P@3>G[&NE=[*]QO$4+/Z3&RE(_$BI+ M_JJTAS?<8DGH1>L-3A(6!7IY]VA>RX4P%\QR9I!AQ0C-H[Q]5'3@,A/(&NCB MFZ(/Y0N[4 T/./!-+736F@#*D)5N;$HX("G3>+^QLO;1;QA]+1%O&GGZ9," M7"Z0,G526G@\!ML 4F*O0LEQF&N3P$-8:VFI3M,D+> \:0'JSBDG+<=A9*5' MYI83^7Q:4G1$CKDO\8">.7%^,L80U )=_B01/ZCF%Y-?A^>S]]&>=G+.T[$Z MYZF^=@4 MT1IU3V_KU(WBEBK3O8X[\F&:FE%)9HL8\+31O;12K<\N]0%;*R= M55!:L'9%H&;=7?XCEDR+GE#5%6IP &?[I_94H8_ZF,=7-8HJEMU^I*I M,7SUQQN2/ZI&/U&#N(E"UE5QFYF?9OSV%06K=*D-FFLZJZ%F(.VJX'FI.Q*K M;,4R5Y]RD?@U>*5,MAG,GIH$2F-]L0QF5/2&Q.Z<$IX3=2@-PN%5_%&XI.I: MGY&G](%VIMA:E10%RI(Z 'A3PX_+Y\1+XO)_'1[ M$3X3]D3S=A+.)Y['U@22>^(1_YEE2LI#ZZX- /7(_LJH NQ.M:''V/W #!!F M;P)V=]\<>5$0L)=Y<9 _7%5(P5_IQ84<**X$L1Q;VU5/T1LZW:*J/_Y <]DC MJKMT&6*[T0QZ@OHIK8#>Q62#_3E[,.@Q(??L(=>$8BX>O">LR'3E MA]2V9]E3XL^EQS\&;AHRRPZL0.&0]B#M0F?FH6$:3SH7ED>2VF4WN>0H8!Z; M)03%7'CNP,M*?)[5O)0 MA6Y/EL/0YVP8:W0W1WX,"X=B&E6F3C67!#I*:, 3I\8-Q0#/BU72]C7DJLU\ M5NPV2]HUI(3KZ(L9')M@U@1J*P@=))LE=LH M$>:WCA&$JZP^/T2_X T.+5.<,354#0N9BPXYRC!.X4O:S4.^?0GS7'Q)#OS^ M[T Y1PJES!G>^1'@Q$DN8U_#JEISDM]>]2[-8C\L,0;;:LY(W_L9NGT-M'LK M6)BS!'+[F([9AM;8'1G9-D?K?L78-AY,[B#(XSF,$E?K_L,O.(-8?C<(R^%) MXBA\IG;C/P6D=3%<5A8HFVA!W#E#W%00X,BK)^\1MT26K4)8%C<#DGK#?Z"; M*"4.=*]7=^KY%C=RF*Q*C3=Y1;U)(2E9(B/=Q&3W_P.6/MXP4?BK_ M!^.#GP0^*/[\.Q=X)^H0?P#JOX?"\SB]^BM ?VL0KO?^*OHZLQV*#BA]Z+.; MH&?LE0DW)C^]D:#C/P W^5IXT>2G-X!-7A"N=WB(OMXX,OD!I+^[GSHQ]%_N M))CX#\ -O19>-/1?[@ ;NB!<7U/Y!7V]H051G)PT%@3H.WKR]DXB*5I%1;..IQ9F0/+;H;&3$>;L7$(F_ >@ MOG0HO#C"G)T#])(&X7J[!/IZ[FB$&4#ZSR1>X[#WTO51QOZK;-[PZPCF#;\V MSAM^A3QO^/7XR/M7=_.&(:3W21KBM1-C?_@BP<5_ &[LM?"BL3]\ 6SL@G!] MS>4!??WBR-B'D'Z%?7:@QXFU?[F4 .,_ +?V6GC1VK]< K9V0;B^]O(%?;UT M9.U#2!^%2W1)_\O4*U;G(8F7VXGW9^8G/LO4F$8?-1^Q4E:%Z@L]%-#\A)6\ M'O24GZXPC&8"[3U9E(N#!'GHE-SERU4&]:,%'("N:2)XVK M2U<33!%@2!.,5KA]F'L)E:HDY.:+ WWBE%8;#5VJ@/FVJ,RIJ;(%@DQ!W M1''-@8;TT@89#-L9PO_E(1@S86']45->J'F(<9A0 M.=D%ZJ=;\1?%)>:=&@#*P/V5(6;QZ-<&N-A_!(C^G,L;1+Q%Y[>BB_"4-Z(W M%AR18SELAV#='KYN3-X1P3U]U%"XLC[)H_9#TH ]1L%G"KB MWOT9>D MD=9HO,SZ9(&.Y3AX:*A%*-G S:JT!F!TW %5VTE(?.'[KB#T HZCNO-Z4@*.22()+O5'I4%LM$8UHG M5?LH[Z#O#@B,,]CY ZJ$05P:E(N#?D14',LD9D$SYZD,,.V&079)9C;P MJS_XH)=]_;6*LHO$#YY)?,T>^?%QH+AANZ4\9!K3@2I<""8O#)VZM&0W.H_+ M)4#^C(N *AGL9P4:U44!LVA=@.GT1C'S@)N^Z^"<=/E7%)+S/S-_PXS]@7BK M, JBI?)20JUZ\#E*#_H>5ZDKC8.S-#'8X"XN"JID0;4PU-A//CK8K;6BHG;T MSKG-N0:.2_%WVTU!I'^*$+PD;\(Q4Q_J0::Z/*BJVZU(9.NGUPC+0 M8O>:M[I'?85 B$G$7;^4J2GZMDR!5I6EJPC7C A2*2=*K=C+#[SR0QKT3F,R M]]-/V&-W"ZO28A7%@;*I+E Q8U!6%N"$35ODW@9-PCGEP!N\)LZ369M YO(I M4ULUJHW0>)N MQFQ6&=DQMPH>F^CIAV@VP7*NT!E'Z@P=KF2N);O150@6HQ=2 MH%H,Q.6P?4K-I#)D&)T>/G,!V%WH<1%ZT9KP%P.84URQGJA!*D)E=0V@#-8! MKAAK*(H##C-TI.YKP7G;J&HX:#EJ;3=$L#]M &.Z)7"SX!]L$G*WIM-K"W'#P8,B>>>/),P MZ[5E-(S#\-?.;NDL@GIPN,Q=^_S[AH0)4;J13CW@SJ4-772YUDJ '5%?]K[F MG+^=5W6!BJ&BZ,2QW]J"'U7P_1Q^%".2]P/CV@/AOH?N%WZ,8[JF 5?C2@_@ MTS4=J8>Y1$!HW?ET38):^RZ/ICKCM&:]&SX.*HS/HHUJ%]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^:,'SU*TCH7G'/FL6M-#B<"FD6F%LE37TF43+&&]6OH<# MR<1*51:H3J;8YD#J@70K >>9W&T:5ZJ;_@9L)\U 2E=2_P-J#OVD\?] M%7?Q!Z#><"@\WZJJ_@K0 QJ$Z[W#B;X^VMZ&&5#Z+$EC'/C8B;G_-I$@XS\ M-_=:>-'M/CS M&6"+%X3K'0Z@KS-'%C^ ]+,-C?&=F/K-E005_P&XJ=?"BZ9^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 M4:1QN):3LR>)W\Q#!S\"99UF$&7V7?T+P.%6(F#_^Q5\5ZYA (F30/-2-JFZ M',&DZK)Q4G4)>5)U>?RTY-+=I&H(Z:.8N#'UBQL)*OX#<%.OA1=-_>(&L*D+ MPO4^MX:^WC@R]2&D#^>.6'UR+D'%?P!NZK7P.YG4YX!-71#NB$SJ9U,=+ M__AQ\O' /L(LJ;='XQ] Y Y770S27'9)#RJY\;BHW%*(=)'NS9@K^X!HO339C5H:5+55&:%(%EIP+ZK(?01"Z>E_=9M.PX: M#<+-G3:N06]H0W:3C>ZH!&$ZC=8;'&ZE64?-I8"Z8@NL,@^IH0A IVN3M*_I MY6VBHE&'.4KFP=EU*$H749SBIX!" WQ$3OTT\3_[ 6S*,#Q-0ZS!?;2+/;#Y3]QZ*U( MN)Q&'Z_2^4?YMGW7!H!Z:G]E5!O\G6I#W_7O!\;HR8'I[.+#Y^D5XD*A':G0 MNU*N]W0\^WB"F&QV$P3L*HSVAFAWC;HH>V2:X(IPF4Y@62VS"_X.EX:97(3> M@84B],-S'2Q2UHA(FV0-99C?DY1I3X#X.'HBW"J,@ M6FZGD9K'.E4'36G=%5&SFWY=\$37 XI9SLL%0DPB1$5"I4RH%LK9%-.BLC3U MX)P:X:E$8AI'D^8J>P@H1[?XRC;L,4S.0.UUH#,0GIP M*R92%X?.1IK2&V6D2@:4"X&X%'Q]%KUCE4@<;$_V)Z-%V8GW9^8G/F^6&O][ MRSQF7']RU3CD,W>HS=':5>!I$YI8=D14=@!11F)5P9'1UZ'<5HF+CKQ74[<$ M-*0&]IR0-@V(<\P!Y5]Q0)ZY2W>6[R[">102Y44(K34@W(IYU,6A\X^F M]$99Z.YA/S2JQ+#,18:U<9=*@;HD)M.H'SY*89O:5,R)\"[VGW%*KOPU>Z!' M=";K"L/FOF,1@!3RH$(@E]N/!A6DA1W,9J1K19AB MP.I%X1_OTJU^9H6TVFB83PV\F?6:ZXR*\5H@V&2[2A3T(Z+"N,ZT,*09&>@* M,QB*LZ. Z]D,O:NZ>E]IH5H 12%>D_D/W\+H)40X07_3,)N_O3<;(7Z)@KG/ M4GCY :(^@:*ZA=&PIK8Z5&&CHOJHN%0?C8,@LA"K.M$')I@TJ:].J@!#O,#T M8HI*9UE(>,>S[*]5E+6G=W2H/!H"U5%",W>J:HZ*-K6 V&3,2B#T+A?)W=$J M:WJ2JB#O#$8VB7MMM!N$D4!S1O^#-U%,:"A.NM"D;BNCXY "JQ@T %0 &-S:7$M,C Q.3$R,S%? M<')E+GAM;.R]6W/C.+8N^#X1\Q\T.2][1W16^9)VICNZYX0LRUGJ(TMJ2<[< M=5XZ:!&24$V1:I*RK?KU _ BD1)Q(T$!A!QGGRZG#8#XUOIP6VMAX6__ZWWE MM%Z!'T#/_?NGRU\N/K6 ._-LZ"[^_FD3?+:"&82?_M?_]W__7W_[?SY__I_[ M<;]E>[/-"KAA:^8#*P1VZPV&R];46Z\MM_4$?!\Z3NO>A_8"M%IWO]S^\O7+ MQ>4OU]_NOERW/G].6KJW E33_7.[^TDE:]=R_MK[\>O7MUZN+JXO6 MY=5?;V[_>O6E-7K:E7Q"W9Q#=E$'NO_^*_Z?%_31%@+L!G]]#^#?/RW#WO[Y>WZ%\]?H 8N+G_]GZ?^9+8$*^LS=(/0P4;2:[7^YGL.&(-Y*VKCK^%V#?[^*8"KM8._ M'?UNZ8/YWS_- O@?A.7R[O(J1O+_/B142?_;=NVN&\)PVW/GGK^*Y/BIA=M_ M'O=R'9I9KF5#RPT\Q_)_F7FK7W&I7_D:C%!RB>[7J@@G(2(K[DG'PWV%-N;N MO>5@\4V6 (2!$#Z>YK1"-[)\].[=+X/A?+@&?D0V">HE MM:L3WHZW6OM@"=P OH(>6B!60"[PP@]H)8&EY2Y T'.[_]F@^48R^L/&-48N M><3S?TDKF5C!\M'QWB0/_TRS6J*M4_>$;YQ0#@\PF#E>L/'!T%]8+OPSFHG1 M%F/D0W<&UY;3GH7P%880B.E=K&$EB">;U<#QZ_H.W>0GGF[1S9='2FU2"LN>^HA'E^>55F&M!"8:1[_T! M9F$["$2WU,0V5.% 6SRTMJ%];G1Z02O=&D^! Q"6AT5I4LUL@OLZ\MZ /]D& M:(H/RJ,K;DK1.$*GX@5\<4!,H?*@"EM2@NG1@OX/R]F )V#A?V/>E 15W)02 M5#\L'UI(NDC.P =!&-D(RD]_Y.:4S>=!&.V;>FY[/H<.1/NH*G-[86M*L/5! MU&(I)$E=)?V^]WS?>T,[FK)JR#:@9LY>>GXX!?YJX"'UCZPM9GS92;NX+35[ MO-G,WP#[I^7[:'W<=KR@_-ZNL"DEJ,9HS/IPA@Y1:.VHM"LJ;$D))G0T?$4; M&;PL1KPI">BX&46S-#9B3:WW"C-SI@4E&+J6[^(I:81V7TMT+B\)Y+@916/& MP5:'D84VRXFA.4#[Y2D:S($U$[?F"K:L:$RM5C!>W5&'T-# IV[@5CC.4UM4 MLW*!!>Y.:9\2M2$EB)ZL/SR_LPE"-/[]LHHZ;$3-#(**>UL [H$+YC#$9]2R M>(J;4K170K-8Y,+&?@N !GD5UA$:4V0'? G ?S9H%'2QR:>\S>^P&35[/]N& M6)B6DQG3C]!%$S2TG)WY&7O[[0TZWY7=%PI_1HTTUHA=-GR_C&8&K"*(8&&C MWG#>"6!9\*Q6M;5GG\"NK=B^S=/%*3Z;U2F#] /:6?@K(>=I6+6UOQ+ @G;4 M6_XK(2IL23LO0%6(S(:U\0A4FWDH#>KB':@X_HCM:>,IJ 20UJ!67H-**%F- MZN1!J+Q>4-I4YTVHA"K7@F+/0B4@Q\UH8XVOM@^C-*C:[EMQ/!VUHX4-N!(H M4F.ZV48K@>1H5Q,[:;4=&+$Y#6RFE9 5-Z61I;&:WJA-:FNG*#IPC\$,P->H MYP\@M*!3IQV#MP/:2I!X.*Q?=NQ/:RNUPW-8%+8+UA:T^Y9K/P=@#!?+\ 3\ M$^V(QA(M/"GT5@B+CW\]G/<]=]&'K\!.H.+_'8,0QJ?$X8L#%]&L=0JIR^^L MMIH9@U?@;M"G9M["A:<1,.6;39(3#*S%P@>QIH?SI(02\3&ZTB"IXKVS;Z4F M6S3A]:'U@D8@-J"H$"U7?[25[V0)UVOT;]3OW]"*@5I>1,?E,0B Y<^6Z/UE5C6:E._F J_IJUL\-'" M#9UM+P@V:&NQ_[OON>C'67QQ[A2SH% _M//R5I,05\NJ_;S5(!8UI-[36PU3 M<5/:^7HK@V2WK(VWM^),16M1%W]OU7%(;E ;CV\UB-06M<&8NFK'Z* _>;/6 M\C$3OZ"-#+Y;T.U[09 _F2*6Y> MJUB):J"9K>H4+5%]UT5K5">D4^L]SLB2O=!2"WSZEW22273FSORM%G$0/Z(N MFB;ZG^X[]AM6G.'(S:E#EV:AD8#LJ"EUJ KO)TB 2&]7'=Z=*2SZ5_!DA1M? MPNK$V;8VN+_[:!?U .=SM):Z,QFCE?,#ZB007[H!->B=U;(FF.7KG*MYA=&= M7F@Y->B;WJX6>.7KFJ-Q+9 G=FNYB \;51SM6PU<03N*\>QR@L@"=MR@8H0X M#D0FP*/V-,$WP'ZT$+Z"MFOO3NHR3@3E/J5/MIR*)FYJD]I$ZU?TI]%:U"63 M3C6(M :UR*M3#1ZQ-=6W+4:^]PKQ.P:/GI_Y=57##'?[JO$_H!^"$,X>@8U. M:5':@4WH^5OTQ[$,>Z7XAY1+!*#=JP]L] _Y$60EOJ-:'MBCXLXBVV)E Q"[ M6=5HG[S7. !WCOTE<F%OJ&?'#+_J%$215_1Y'Y?Q0,)N3U=\"7VJ? [\!:^M5["6?H\4]7(R'+? MTD0N76NV1-M5>S,+A_X$^*^PZI(G^ T-;H!6PTMH2YL<>A57)8@,08#JX=\+\QFQ K>0X0$V+O? MPA!_ZN+BXNZB];F5-I3]T7+M5MQJJURR\0@J NMXLUQ?''PB]?R\CG%S 6HO M:BL LU\6WNNO-H"_8KWC'R("?+ZX3!X@_G_1K_[5\5Z!WWX)HOO.:7N.]0*< MOW\Z^ON_;J^_7EW=?+VZN/KV]?K;W=>KRU0?M78R%>AA#J*"_I**1EV_OOUZ M<_WUR]V7ZZN[K]\R7<^2J>WG85C^+/T.^O&(7WG-)25^74>O&WZ>+:&S(\S< M]U:\0DTZX)4 Y?DV\/_^"36R"5!7O76\P']JK7WH^8B+?_]T=1*MQOH)4&A3225V8)E-JH--/9!V]E0;= BT=EM%)<">GG MU<<'CZ*QQ(G8CR5&A!-A"8$?@*CD2=1[OPF@B\!A8S>:F9[ Z@7X!2HN+)>7 MPY?KB[M+=6KFTU)>L_RHFJG=@CD+;9Q #U^SY5M)=\6UTG6%N5@88Z+Y*^4S M<3R/=0!.5(,.[S9X_]]@2UQ3#\KIKCZZ#HJ64QZ '*OH:;>S>':B##S\9Y,T MQ<3%,;A.JZ Q6$"\2J;7,4ZLXW$3+WS31.= M1)O-G@%?3L^ #OIQZ$^]MR(;+*&DL=IG0$Q/_A?&*#^>M)B:CXN9JW8*OE3G M,HVT2G4^\H+0)50(>WP'-=X!!VUT7%3-(? M-[Y4<^HM1WAQ:?O (HR[[)_S2&ZN[F[T\E$+:8J%*]60>A,1OJ#AC):>2S8S M'!8Q25-]L?"R)1QB@.?QW8/ED!P>IJ$FJ$\*8:K'(IJ/"S_$3.,[_=KTW=P(LM+L% M=O26!MGI02AODC[%@:9! $6V&A5*_>$Y&R1N/W+C^.2PU8-RYBF1!V"J//4Q M-DE84#R=Q&YNZ"ZB'#9D'187-T^5 CA3C:H/RDD=."' 4?/P%:!UP4J04-Q; M1<7-TZ@ SE2CZ@TK>_>XWT%K_,*C6+1SIJC::M>64 [&[ OX"S1W? M?>\M7.)+?Y9+5E]AZ3S.6X3S2\/5R \S5:=Z<\PN(FSWY!M:#ES;\NT";9(+ MFZ1,092I+M4;:V(63I9HO\T:D=E")NF.$UVJ,_5FFH$W]2T;O$<@K&F MH)1)6N.%EZI-EW %\ZC_(I07C5>DYPH4UUR MF6_^]NMAFA0IR5-V5[XZ'OX3M'$2W5QBJ4\YH1-3IUQ>X-0IN^;0SYWA8#+L M]Q[:T^Y#Z[[=;P\ZW=;DMVYW.OE48]Z4E,=S*WB)VML$GQ>6M8[)#)PP2']S MR.KDU__:@1C.=^E_1EX\- GY5?BJB(_*ZF"2].;%W2XNI,V0%%$$'H,"<+2X M]R]+NXF-F$O)!V6UT;6 [D@*YX%FB-YQOC&ZSK\W3. ! M5UU-><&CXF-ZE$;!%LCB ZV*48P0!DK)#]$D3O1_^=?(]_X L^3)7?RF4?P0IX7.TS&T$8YJ]@[S8@C5S4OG MV]7=[6WS&% =<1V),U3,"B,?K"UH)T^*(_S#< E\GAF"HZ817*F*5U:Z#@$1\2,O#?@3[9!00;]XD+- MUJD IAJLSA4##F4<+>.>[YZ%CX5''MWD"LWF04E\DJS.=8]LFNT$K6K%>T&! MFLW6?56@DLS2Z@U-^8,2>C4=%$$:O M/!+H0"AM!AM$P$DR/*LV,#U"%X:@#U_Q:AA:[@*^.("U/Z!7,H,+)3#68(16 M08GOGF>_0<US8RW#&1\:<\TH+&L(&[BAT5)+-_B,&&.GNA'-T#0%"RT/=9,\AGUH MO4 'XE!;M.)%Z2V6GH.P!?'QEW&OCK>Z-GPH>ZVR$M :W(2*N<)WZY)<01L^ M2-$OE2X\R VYF3E9HCWR%/BK>\_WO3>T82*M$@4E=:8$CPZ/2< +L@;M[_<( MMY+.DWW/7>2Q#-W*M:PX%JL.N-;3D6NT-R9&UQ='].%<:XPH$I88Y M9"D+MBDQ)NDT./!"D((KC#,I*IA#?G-Q=7>KZ-4H.7,"/T9S;CQ./<'[CH0* MYE"A)%9#+CP>S'.1/45H&"[J48C]K-FIDLX3>B7S MJ%(";PW7)I4;IO%KC%AJ/V&X[&R"T%L!/Y7MELD89E4C>5,.M2%Q+GN/[[$H MF4[PXRKF$408K5Y7+NOPAG).*/1*YC&E!-YZWS$7MFT0CJV)>P !8TT1K.)Y M(5PB27YMJ-)+(:TW7D;1+8IH5\Z]>!!*FT.,,D!-"9KA9L$Y$$!0]Y7C8Q2[ MST>^9V_0/MKR?(["^L93QU M2L"OP0>CG#R[4_NCYS^[,^"'%G2GUGL:&,:E>&4>JJJ(P)./ET:WZ M[!#CSS60KV4Z=\K -]&AT_>" /LHH+L [BP]'_"EYN>J:SJ1R@O!$ \/P2S- MOK?"JFA89P=!J>0W.V[R"2@U#"=%*+0Z[A* MK>1RU)'@T"G/V>#WPY/4 NTP].'+)HR"_ST\>^(P+<]!75GT7-1_$+!NW,G] MB.E4/(&T9%T!5\U>/&H]-Q(8]7W%@V+:,>@$*B^>\IA2,>0.Z-1'Y\:-OXW0 MQL!IA"$5_R".L'2J^L?O8@*Y8(%=:5,YMTDEW1BQ;1BC&5G0[KD=:PW1EB\S MKD@71Y@5/XA604XU..#5I,W'/AI@=RW?Q==TV[/99K6)/,H/8 YGD)PNGU4Q M+[8O2&QW9TBODG(RY ID!FU\F_^MP\_/CK2Z#XMU^S(NVCWL:_/OQM M@N1(JC/+M6QHN0%^(N@7M$6,/[3+'-CQ\)^@C3>5]Y:#GQ"9+ %.'!P)?@E" M.+-V^=)C18+W$+@VV.DCA"'^ZL7%Y<5-ZW-KUS;ZN3,<3(;]WD-[VGUHW;?[ M[4&GVYK\UNU.)ZW_RGWBOU%K*\<-*"+"'WNQ O!)R<+ GVKQ:-IG5T6LNKV[ MO+V\O+J\OKZ]O/EZ.9BI E+Q!-O;@)@]!RL2V!EQB9*F?%#A9N0^Y_ MY4(78N0\(2!Q29,)P0NW-O/P*>TCNU\&PWERL\3;9SM@V$80")IM9#)%_WGJ M#J:3UO"Q-1QUQ^UI#Q70VRH2.QUWH B&$&(I.1F9+0>@T_0K<#> T %B.6V& M)D.0^XS+O" D&0X?!I-N/"# ZI/BY) =%"J.5SV.^O;K[JBCUG)A6#K0I MC+#6QQ44Y0C)"&%,XP2S?.,Y40YAK6\KJ.=$47;7G:L/OSR!_L\F!QJ5:,E$ M'E7"+LMFE'%N*6=8QPO0]A<_D1NY^8#_"F<@F'B.S?#FL"MJPQ^.345%5)+F MGGRV=BF;#3(@KKV'0'5MU%U1EP=[DZH24.ZYDK4299&V5]AWUW-CX413,W'= M8=0SCS;5H"OW8M6]K@BO)^8R1!!S#?L/%=3X[GM!,/*].?$&1J:$-LH7V$2P MNF^('G=)9;KO:^"BK3-CQT@LWT0=BX$QQ&LX 5'4: *9%.:5*Z2-;LLI[ECQ M'/ ,V?)]!RX2E8-6IK:]@B[$8L)I->GJ9]0RC@]E\!JRQQLC92%!+Q'V!_ * M'&^-9TTZ/:AUC".'.%I#XI*B>WD[Z<7K:@*;G">47LDX,%%T)904>Z'"+V]W99BM^7U$;U90X.#!B&Z'?@N5[A%,KN5E&*#P'=EP-E2.Q8>M>0OC\\**6-EJNI\)@*/#BKGB/SJ[U2U;\BJ'AT MQ")CW \F%3>8# * #3D\/EK0C\+MT5YW_V0'=L&'N_S43U%0);"'[AC@RQQ( MS/=6 (/.TG(72$K/K@\L!_X)[.\6="E[AWH^9BP?3R@N2>?==12V^ZK-0^>/ MG@_@(DFL/=M.?'%65@B-D]!3MT]PL%::8K M+&LL0?C1UOK"DR*3"5&*HFQ)Z(0]T(:Z F8 U>*1=0E)"YXC\21C^AZX@!Q3 M0BC=7/[P0:F:Q$DC&X*L^3E^HW)%7]'4AR0-;Q3I-ZZKQ:T(E%D;FAGZ2MP]:I&1=Q MF*TTGS;E()KRM%.:L3S-]$*C1F'9)A* 'X@ICS/]!'"Q1+O6]BLZ5RW 8+-Z M ?YP?I2Q@Z9^H3::2(OJ $UY#>EP@#Q 9Q,21 B)0I&5XU7-N2*#S MYC\2;*6)Y) !,26-_! 656EO"IZ<^)13&#'_S;5(_IO.\&DT[O[6'4QZ/[JM MW@#]N_M)ZTPXF9Q*L5BBYR"/A$6(_A*NW2B;P]W5W5=%>75*JH7'%I&@,N32 M"\^#,H6)]>,DWJPK<'):-XE6=8K$D% IDHC(X1%(#=&_'"L;+-'V88"6Z(<- M#M9!FSWHV8SGJ4[P96VX? I"\M._;@DKGZX)^4IHTM^'H@7_W%@.G&^CI#V_ M 7L!@LB.9<-P&_V3P.LZ/G&F!#Z9*&O-ZW6MFK:ID7Z,%M+)F[6NA;BDCWQ0 MMVYAUG"=\]3D'8.9MW"CI+C1N3I+3_V"0!O8^>/P!OR0.* M>/?D>R[Z<18/V/8[)#FFA-K01L4"&CM6R@3['VW?#MX7N/I M&Y7_G(;,Z&W;AG'/1Q:T>V['6L/00'(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,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-]RCDF^ W\& ^*L*MS.F3!5CEQ,R8A/ MD$:\!DF@&Z6A\^:;J&"D9=.7,]>9EAS(//Z=1EZRLO^3O"V*-J-LT]1D\Q) M&UK^-O%PHQ%NN3/*:XHE&S2WFG+2\L!PWD<3YS&7M"?0:K0 M9%[T^)VI;V?*33$1U?$N@O(YD[;6=*Q@^>AX;]':DG^.&2U"CA4$< YG,5/F M")6X-[KD5\Z$P:>06AWO-B@G=>.""HVE<(W"2IE;]09%'##6=56^?%I#3*&Q ME!)!GW*DZO6*8HYHDJTMWL L08CF>^=33K&4U&TW%5*WM?XK]\W__F1<*C?! MNLH6N3%8;_S9$IOGC^U4M 6,6E&[F:1""KA26&NX7*$\-(4F"IJOC5GO/-A" MABHI<)UI3%.VW"1'C8!S;;D12@O:GOS6>NP/?TX:LXCLY,%. UI05-$+RK@G M(]][A4AC]]MG1.Z>.T3;&@OG3&O/0O@*0PA(D,HWE!\QWZ[NOGY1,SGP*/#@ M,6494 VYIE?Z/HM"C4O6Y#%%&)@-47TF2 2?SI$DHZNN4P\[HMP9=$#NW?&I M)V>JJ?NSYT-3)9(T)*7: T#]G<&(!^AG!R3W>]HK;+WZDW:)@*>J=B14PI5C MRI:6G2%S;FK0'[J)C\KWD$S#[!>E5G?,*+QU( MB?#9@WJ P=H++ <=C?$Q<.2] 7^R#;"DT?B*/$X]]Q4DBBB*YBG;U@?A\H23 M+\RJ=Z@9EUX4A=;&9IOX6L9> F-@.?!/8!\+D# KBC;S0=?B^5&*'*O>;=;S M>E8[") &5FL+^I$];6GY"Z(5OKCP!^L(9QA^:4E*L)DWQTI9A9%8_@"S,,(2 M'((I6FJI%3ZH4K">BDO,D!R=>ZSX&332!HY1^H-2Q;./B+@DY?4D>8,4+6V/ M"'_D 4/RWC^=' VS/K1>H!/M"?!U2&#C5!2SC8]=9_=6 (,X7*'G/KO^P2Z! MP,YZ/O9![F)RGU#:NA_,)4S+I857]2HVSTU^ M12G'(C$'",ZCYS]XFY=POG&2U[$HOCMBE0_N$7U_8C*KX]JSE%,)DB(6T4XD M?1RJV7W'5[V/#J_L"A]\*3B5B$NLCIO*RB/0\*SLHK:W/U$WP(/W1G*='1?, M"^GN[&DE**DZ[B$KB6'$(9OWA\DH2(&+A84_F%3,) %IR;H^+.G.$&%=.SZ3 MI'?^D SC#2(H7N#X:GX0J6"EJR"ZRI=_&:=#98O>X268G8B3##N,0"C^!K1C M9&TA315E8NPK'.D)!(UX %_QE3IN4AU7U8Y.%;7.0R-.*50-,Y(0Z5$7A3KX M^B42X4\8+CMH/4&KA1\9 [F91&SA' DE)HQ:(HAT,) >2.5ADV1QC5Y1'%D^ M7@/B3.K\/*,UA L/1=#8OP%MO"HR(6SBXROY!7; MM7*.S!(7B*ST\/7&'5%$%\5]IAB/71.BU) M%LPEF"QA:)8^7<3J;6_0W&OYON6&6[3 ^YNCU E"=?/BN=3Q-7CI=G!>,(;\X)-!Y1SEI_26??<\^PTZG#-%6OKL M=$\%GBJ\GH=@ZYL-=IOS1\]_=F? #RWHX@<=XICRJ?7.NZ/E:>GL.%-:*&G0 MH%$/JA;8M1(L9+8)U3677]7%D#)*;GRS\K/386J_?;8#$I,H-+;]4KRG^2/Q7N[ZVDJ<1WV<4)1.*N;SZMJHDB)9DF=P]/G9^?0"_^!O)" MO4)"O3'TCEA%F50-=TYYYJ$1HM"=09!"?!53PM,/E(:TH9JDIQ]$H1J2 GUD M;:,[Q5.O/?O/!OI +,,1;W5MV"*9!(KG. + IJ9L>(!:\:P=# M_P$&\2N1"&PP!N'&QV^?Q]L/$N]DM7]&Q*Q59#5,A\HW;EF)Q8_?, /JYA_3J+N"+ \A75"HU:#ZU:I)1S4G, MA8UDO&P[>E^ BU)'MH2CDB4@#>4E=JS=NU429 MRC*I(2FY%:D@FP>RV(7LED6,'EBVN#1LD:YF^ MSV)*P)!'2<=@G:SOPSD'24C%SX[.4.J4E(4IR]'N'/$$W6C;'F4G7WJ.?9RMBZ_2&5%'7 YR M+=G%@7N*8CZS TF$3(QJ9T2G,I*HY0W.&AQQ&6S3)?2C? G;GUWN.@B=@0YA5G.!6HGI?1S=7=5\47P6N:P"I*I&;+M:(Y+!9J M/+)&/D3R75M.*BK"5$6M8SZ;RHNAEK2#RGUO64M(QUNM@#^#6!!KX!,(1*EQ M/O01%4+E5(--8 ^:@?T0AV913$F4&N?*'K80*N<8U/C^7BXD)_1F_QY&X(+N M.QY32. \ ;I%]EU]9/?*,#?P/GPK*),I.495!P7TIW/P2PZJD\I-QMU7961@=&C@9$T M+2>59L^=>_XJ5B4].)VS=F.I4P6?K(L,RM]>B"\)C2QH#R@OCN=*::-P&8H\ MI@4/6DD!YJ1PJRM5;-AEJ601XK"@\9S@ FQ( BK\7!\2V?Y2EVOO+'D]?(6: M=:N)MWY>B#BQW(5)K*DF!^6AY83ST-&%^C&8.580P#D$]M1C/N\K4E\[@E13 MZ<'9J+(D:KCGI-P_DV2TBMZ@M6&X03KNQ:^'VO>;<."%OX-H:2:>@OBJ&\LL M*8*H;2'[VZ]9T?91I^-?'_XV 70DW9GE6C:TW /G5_0HAQ_:+?U[WCX3]#& M;L?=+X/,@6 4*6()0CC;9[*+%0O>0R2J?61""$/\]8N+FXN;UN?6KCGT'/2>N_/+1&X]Z@TQNU^ZUV9]K[T9OVNA.]M]M9\>P/+:FL]CH8SI-3H.7L MSS.$?;FD-I68'"U\0AW.D\M-[7/%9+-: M6?YV.,_,$M$#Z&@G.$)BG/'/%E?'L\7D^>FI/?X='\ZS\T1G^#R8]@;?6R-T MDN]H/V$<2X0P"] **GG)B30L[JT !ECG>Q;=;P+H@B!X ,',A^MD\!PCFB+] MWZ,^_YLP2]3Z36TF'#8E_^!M7L+Y)IV2>">B MZ^.)J-WO#W^V!YUNZW$X;CT,G^^GC\^[J4CS^6<,9@#M6U\Q#(;X53WVK,&LI\W(IR@C.^3+ 6KNL,7.$Q>1BG^[\.5XE/8&/[J#Z7"L M_8X@1;O-S%O%(Y-:4DVDR5&'6(.35D6;<3+KUK9CD[%5[#(2A1BLH*X76OFWV\.&JD^/:MXNKNV^*G.%L M,6=S7XEC:O3X*7X\)Q.EQQA.MX7#:=0=3W__2VO4;P^FD2VM^\_GW@B[L__2 M&G2G>B^!Y">%BDH(;J>LJN;0V0XQ/Q.20 M1%.'TN&#<_PCZ5O1D7':'GSOW?>[R<:T 4OG(W1A"/KP%1P]OH=D01B#O)44 MW67)=4CD:,FLJA'@41/P,+_7F7"9QB#_.YXD#^V M>^/6CW;_N=MZZK8GS^,HYE/S09Y*8(^$M+S2BRI)@UG0(]90IM;19Q!SJ"67 MU5(857,'[0_+A]BPG5[#Z[JA0+3(Y<7QP/W1'O?:>&U&RW1WW)U,6VC<-B!$ MI% 2VY$/L:_\'KA@#F<0_?C@@6#@A;]YCOUD_1$%^OSPL)_*?YI(I) MI!@1_]Z N[XVD\LIZ9.=I*I)JKD35N:%])[;GL^A ZV0>[XJB&[##JC)-+Y0 MTANTVH^/O7ZO/=5]NLK+P;7;]BMV/>*W*7="FVG6*?\;A;R _D"[533G25)]+ZU9-#LV=4*+DY9S31T&X6Q\= M3KIZ3Q410M9>Y+"0BL' SM= M$/N]Y_O>&\+,NYP71'W=#\?CX<_>X+OFZS=.4\Z,)"$54C$X\WUAC4I":6V& M(UW\V>$H@J2YJ^!DZ?DA?GNQZ.53QB@LB.J:_#8<3S^C\_]3:S!$>^G6J/T[ M-@KH/2:SV DCLKB('&=8D0KH#C%J#6W&&DVL>U>8.);FCK;V;.9O@/W3\GW+ M#;<=+^"-TKHLB-)J=SKCY^Y#ZV=[/&X/IK^W.L.)[O'-(]^S-[,PD0 $ =MJ MQE=%44!)IF<"YBYV16T&L8C"#N)'RD!L[MC>7S_%'D*! ,S+@H@Q;#\?]SHX M[\F@6W<,S-M5T=Z'<[8H"#'K# <_NN-I%!D3;;M/ M'%MVB(1YON6N)66#3?X0=9?-44V;$2FHAMWNNRS&YHZZ3(Y1S@%7&(G6&3YU M6]/V_^CO+DK@HI14FB=7),2,7$6;LZRY!>H0.6&,DHLI\<$>](;I;%G%U9Q3"WVX)UE60VY.DB:U80:T2;B:&4:G,9"ZOC;NY$,0$+C#SSI@/G M_%"45ZS['4\.Z,S].!P_179?7]U]O54SJEFJR;U;51)7V02AMT(?YQRQ!:%83^U_#,>MSO-D M.GSJCD]MC,ZCX#-%L^M(,423/D,U0S,K:3.ZA,2_,T&7P]?<4=9=K1UO"T!\ M-R3$^15XQUI!P%7W:=0?_M[MMNZ[@^YC;QIE&-%_V[P&Z-B4Y#L<@Q#&MT9Y M-LW\-95$A*#>Q7T;ADO@CSS4F5TG$XT+;)[+-J?-E%!"U;D@$IGXFSME1/;% M>S1:[:P\.2>-@L"QR"#^^;X]Z>+C]M.H.Y@T8%^]AS"<9^60V&.B8+I(4KB# M]LC:TJX]56U,220V;Y_OLWUF1FQ7:U6;J48./7(1X#5(IL&3T.8E /_9H+:Z M.)TB[YZE(+AM\GP_Z?[S&1_JNS@)J.;;E4/@I/,\L9B:-ZGSO6&>XDGEM1G? M+#7DWYP60=/<,=FV;1AW-F-J.W[V(+T4VN,# _T*1SS9:"(']J[C&3S#>?R6()[M+7<[=!UVUE\Y MC>)W<+Y=W%Y_N[JX^_KE^OKZZILJHW]9*&Q/0.66\\/WB[H,Q#4JOO-69U#:KT].75&M9FBA%6_6'*\QKDT-P9@^?M(Z$WD*XNT/\K M^P92Z[_2;VG^7'%CGT-*7MLYZ-8V_E_6+,)769N90NR!H@K@:AO^)]_B[I]E MXF,$K4I#>2 ,J;;7ZD^K_>< K7C=((2K;/ZP WWG"S54PQP@)#W)JUJGQ<\1 MYQ^$/?Y[3'K2B*_09$/Y(AVRK#=V%;-KZELV2'V0Z?MT^[?!GMT7Z#C SKP6 M1F56V>8:RBJI,!9(@9=H_58[K>].U9/->NU MU#Z/LIFU&JGCV*.[SA!*MXPQ9>"DVC\FVZ#.??2&<=?PH9L^PMSQ5B_0C1]^I^[?R!4:IO:2@%(KT(5N(SAYRG"&SB8! M9-MVN.KD)7"C+@^7R%)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; 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)F/9;-3Q@NTTPZ?$00:Z2A]) M,B6-.L,G\?$PN%[C-,1H]OO-TU>7A*Q=_-6;RAG M*L%+;^YI%X5Y,!+&,/@WQY:#7:MA2JZ"*M5M\\V7[@S@ W>4-0^![Z">PQ#_ M1!SQQ!IY27U%DE+T-(#P-6LA1*GNFVZ1?+2@_\-R-F XSZ0M0G+:L,,GN.HV ME _EL:7,:+KA\@'X\!4IYI77B4&NT% ." )*%=_TJ,O#%]/XM,^HU5 *E$&5 M\J#I=LCB=-;#"$T488H73#0XHM3X=!N$>$L-Y8LLI"F'FAZ5.0!O&0'ZGHM^ MG(',$LHWN8@VTU#V2(&94D>^L5.+[&_3*/?$IYS2"+G?KB^N+J[+YWZ+O_21 M^8W7Q;G+4TB\O?8<@/G&Z<,YB&1+=WB6;RX_++Y=W7V[T7GTUP+7D!QP>[&@ M4Q@,0123?'B7A4JF"BTUC$>RD1J22 [-_M9BX8-%DH8FAA)X(+)YX6ZF8820 M"K.V=''U9[BGI$P3.JE<'Y]4VOW^\&=[T.FV'H?CUL/P^7[Z^+P[JS3E@))) M&$@XF126D+ @<+TS@FW\Z;-W_]Q8#IQO\8.SB0HS3S3@_AUT7+B^-F.SCIB VBAPX#X+^"8(H^WWZ'I#3#?)6UT:X<]1TO_A7$T" N M/'@K"[JEF!!7U88'$O0F2@**! RQ2&17_#A&H.\%P1-8O0"?0!I:E8:1A:+? M8ZH(XU9.$8ZTP04)5 N5SU_11 I41*_<],1!A.C(D]E(\;&@N-994$ NIX6 M)JD'"G3L!#V&X.;[V7?YTYF.SU))J_:B[ MKL71[J&@\Y1>/<_V.W73 8>JBEVF)? U=S3G>;X_$\&@__T>U,6^W) MI'L"ZS3/\P"T5U<+"R+]WMQ^N;B[^G9[<_'EYN;J4OAY9Y[HF .A\\?!D"IJ M,^X$14L+@A'"VN@Q6!SN,P"AT)"\+1R2H^YX^OM?6J-^>X"&YN"AU?WGO[0&W6E#5EZBD @CG*/\J6+>*R+-:?-#,"M*I'0-R'4S9T+ MCE)^B\X!7POB78?]]K@U&O[LCEN3WR?3[M/D-".?-]4[;9&F%)8\?H^^5&[< MCS7CE4TK!8*T&M;F#]#"24G2,?BLZ"D_;@^^]^WXWV3TW:6VF!)DBT1!& M-V\ER:.\8_D^M@GM;W:6BBF6U&IN8-Q=?+G&R>Y4S %B*BR8"Z1*H+E3P^[2 M\!.P\+]7J0&!=VZX.YX;'MN]<>M'N__<;3UUVY/G<1=OWILR-Z0"V4,BK??T MHFIM9ON+P)DKX#UW@B@39SK>WQ$?>?%;7CLX_*8U*5_19T[A4'VQ":X^.2B/ M+S@),;];T,4."H+(@#_W_!5V9U2DIOAW3"6G)$G4YJ*L?>'[8?D0KT?INP!= M%RUI@CZBRXOCQ>]'>]QKXVTQVB%WQ]W)M(76OMZT.2ZC0L%L1S[$]USO@0OF M$%'$WSYX(!AXX6^>8S]9?W@^*O3#BT/IXXKL!?0TGU0[WQ%YQCV3,5O09HXZ M)86*Y[IRLFKN]CWS7%+/;<_GT(%H-A>;Q"Z+'=V3*=ZU3]#/K?;C8Z_?:T\; M,X?EQ>+:^U"^O8SR#M2D-,4Y7K$]C1X88^;%853+CZ%+M2YS*6KF>(V,CKZY M,TCT](G0?%&0H:*/COG=ALP-\5LOC!W)82$US_.@/N!\\ESQ+H32VHQ5NOCS M3_+P(ZEAW*U]&.U$HEA>*<;*Z7A!C&D9M U'&8KD$G6)(+?M]I=IL<-0@:>H M7FU4$>A0_SQO@]WGC 2;@7A)NKD%,J05J M#\-9Y\4VE$69!*X'X['PY^]P?>F'#D?P$O(#+(F%5)M MDG\1C:D^KJ+-"*8K@F0BYX)CG#,F6= @".+WDZ? 7Y5@ U\SC69(!8C*KW$Q M5__N? YFL8,H-IN.=T9$S@6?IX6\<*Z0<+[JJG]9Z)1?"F6J?FSQN#Z:_MSK# M26-2/^6?YT*S/=N)R5=%[3I_\.J86*I T6:T&?HBRBQ>]2L ;JY'8/?FL: ? ML3!*N#-\ZK:F[?]ID.LP0<]Q8Y924NUXSYI'=]U,%K38_RZZQ1=N49M9@$.A MQ8-?#F3CSHS/KK^SL2.!))((QI[C/'K^F^7;@M02;;#YS)*"6/FQ4KX9*NXV MDDAR#W>?H!=R)@8IV5KS*54=KO*SJB0^I0]R'.>#8I*'HVICF5(6F_*TU[*G MF8PQ)Y$@MN9@O[$[BV*&$#[!N4:\R<;22#;FVO)H*YIU=M+XS7.@;3&?B6)7 M;"Q5RB%+""'_%;':S\V'#^\)'9X+KM%UV^-!Y =X7OPO[7'38FP.Q0$X?Q, M+J9X@3CHU[T5P!G:3CU 9Q,"T=.-4&O:C'66"@EK0F6LQIV6VVX(;0P?K903 M,$M\B-WWF;-!T\ C$C8V,VS"Y$6;HSF$FV>R/M1P"M8JAN;>=D.@5S")?7=M M_"0.0@UIAE8L*Z2Z2B] MXEGT)$AQ(6VF@5*JR-H;M2H[G1QI\MXWCG1 KQ5(9#4SUW@6:2 MU?Y/E.= A-O11O\":CS6O1S8AM"#^DI(B9:THX@<;5=D$44VRC>WY 2D40Z[ M;/JZ8\SDQP)$ZC>;-!3E'L0359:)KF0YS*&669_)#&%6.A=:E!.$*:Z^= GO M$QZ2(!?4CA^EMB.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]RED<8C'[HSN+: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:[= MVA'CCH:Z'0DYGO:FWJ+AK*[-)"%V7*P$CS@=J%D""/V_WT[1MVEW:=@UM=&N M%+T5+0CE1- ,!F (],LR[)K:,:"LR@24ST!OR+GB?H-DC*9+ZNDR7Z@Y9&"H M\)@,'$ -T?N3A03J C]WI8=* DH-@QDABMJ0:,''C>_"R%3GVH_P'?]4?"&* M7<%@<@B"-B0N\ =8PIG#X$.^D,$U*>R[=P,.L9 MS(YRV/5,(Q?X888LZ%^'1$&_^M?8# MOVJC([90"Q30N T\E_*2=]F(ZLO]73\%4OJ55R$;1Y.5:+W3E9C]>Y.5R,1A MR%F)N&2P7+3LBMJH_]265RXG;M6#U"OP7SP]J?,<@/G&Z<,YR3/#45,[\I34 MM@!M&.!-R4C X?OMH0^Y"XB&XBZ!?N+W[ENNC>0TAHME*!PI?'PW@M\3O.]2 MRXKZ%/F"DUZU'/P/I):6'W7LPS-\,L_P(]IMA2"Z\WK(&C[?,*L!;2:BLM[A M4@"U\@Y2$*1WQAPT*"E^8H$6M-&W)$T6&'XK"J,IW-A#&5@KNA=9L)6\6+Y= MWEW@8/V;/84S):NYWB+;;S_H!J.&;4.!'9U M\^V;MA3B5O@QCH5+FH-2A0.XN]5VB*I"#![6>GNNZ'%+?OMQ\NS!DQ\J&V527E$(M ML87*Z9+*JT"SY;INEY0."J3TB]LE98 2R[NDFJ5$)@Y#]CN418/EE.*IJ@T% M5!AXZ%(PQC5%E@#3-\5353L*E=:X"'D8^,U.6M-S7T$0OP[0<]OS>?2N*OKU M:FU!'_]Z.#](OAG][QB$T(]N>0]?'+B(^BKJMOI2R6VUZW8+NBUKU_&_M/9= M;WGSEH,Z_]G!O4_\6W]I10!:_@Y!R]M!^'!PU9U"(<.KC X) I._BPGD!W5U?7%PU0=T"8"1M<#71=M':0%-X M4?DFZYP;3VT&/"UV%DGV4_Q<^P)MO4IL$&XJ;!"2K^.4=^GGC5O<>2HH<2S" MP%HL?+!(7L!-=$&+6Z%5T68NX%=0SE4H"DW?S&BC#9K09L\AVFN'R=G!19_: M4E\%)5?13K'"JCK6MC#>YFF;G;N 65$[S0NKC5_S#-3*+=2$;/?/[LQS\$4Y M3/YD()!?7R27;HRJ&7K:*[P,8.5:+N^'2)ZM&/K)HQ4$MVU1,>UT7V&"%\)X MLN<51328?7BD2#_K\13)(EBEJ3(]_H;C(NUH6H)?E6LB4Y:BW3,>QI3LM]6)F;;F768QJJ MQ3;-_B!04SLU"RON6/=E83>6 E3K M,U==[6A05H?";*#@-^3TFP)'_6V'(P^Z8<]%0BFV7O-5:AI=*$HN((PX=/.8 M,GP%O@A)\N7/A1\; !W\@B!]JI>R_:#6T8XB$C8>XH!/ MYA@15WC<=>K6(E=&.X6*:Z- HTR$RJ=^TNOL'KYKDO2?[*@N**:?(IE*.'!& M\X+257==%_B++5-W!<6:KSM>4(:LJ_6[II#(+I'(KAN_NI;"7*MK2M%3>AJY M)_1E%IT6-;@G\H23>U-E3[EKS1T4J>QV"1W[T'I)0LM$O11?I7LITMYE[OZ."'[[;5 MD-.X=O.1_X8&F-<$41]JO-H19,G.E_[ !VG'D#\WYZ;['>##,X4>I$Q M5*@!$_DA20JUAE=>ZK..I7:);8F%[*BN=GS28B7C$]-IXGDU(AQ]4>.IFI?C ME7JZE=>^()-H JAU3R1LZN=?Y^Q7/"R#R/*D$VY,R^Q(CB5,>N:RGL;W062X*=>(=M32Z[#-)R\3K^QSZ:&*K^R#>>7%)&DGI969I[+X M407HV9=U^6^3YC]H6ZLD9>WVZ'8G+>+])DNX7N,@2-?^S7)M]*5%QPNPB/]KZ#'_%^)P*P MNXI#?:LY5R@_U*ZO[NYNU$Y:@N\RL\&<+#+IA&D-]5 5A_#W&A-"Q:$S.38= M)8D,U6I/2!&%^N,$I_S:EZ1)]7@QIM[6)I;7D0&(50FD*%=,+K,T)" MCPMJH_Q2D[<@+GU#+2? P53%9Q W(.Z0-VU(66E_:A!:-. M_*7E@H]#]:D U)KP3X/)HZZ$?Q_';VWN^M=^&&_PJP+:',4^#N,"L_\MZ /]D&&!X:2-'VF/R>;Z6VFL(8NKH/@JJD"J/JC',7 M4\G%B)*R63+=22(3.K)AR"E@- ^CXU2X'3EH/NW^9P.C(V_^K%=L&ZC8FI&$ MDBP.O68G25L6-.:&;IH>BSOF;"%C/#38^#H[ 062OP"?%! NT8!K)9(F@ M:AP>8Z[ZJH9:11:J9'B1G].A5S*50"505PVERW-F6AAE?J>5Q?.GY>-3QA8' M&PF:.2\O*I@YT^]&@43&&39U,V@F)]%4Z+N(9II%DUI'FSE#S)0ICHFXXSV5 M\6MLN0N2S7+W-VW445[0>4L7'9D>2BFT21W\51O%L(5:H(#&V9ZXE/<$7;C: MK(CJR_T]#_Y&[=.D+*7D5)Q M@S3[Q6_UXY-;$:5\<[K,O 3+Z22T7-OR[ MJ'9&%<")P5!?(&-5TT[UI=3&IWTF;ET7_B<+-8FF/C3I_?3\?Z\L%U_BH;Q9 M1BG?"(4S-76P-@@#UE737;A8AML1\&< OZH*0P0JVN5TK#5:_<(MY;$SOJI& MZK\*=EUWAP/H@G [P4[34GP0J9\7S*T9I*@L .6;1BHSIJ@,*$,)1D6#N5 & M>0UI>71R'?<9X;G,>MK11<;9H1SJ6C,XR8K0/8#6GLW\C>6,T0;JT?,GE@." M)+ T/E,71N:*MM$8CM#U>S"G2)&"KAO177!>%(^QG0)_5<2$@F)F*IL7J*Z[ MR=0"?B",.&T7S2M06,%,'8M#UNOQ7)K;()F#\IC:"[1]P@&#,]0*&,Z?/!], MEY8[W>V8A_-HG_0=N%'\I>>F.R:BTT'VAPREVLE$5>NF1"%%WX"[._'7S5*N M;WT0M;*T3I,H4MK.R .TJ 3 MPU?-XYD!\](5MQ8>,X40)N:ON[T,Y8E-GT)]_NI]QV$Z+SZ.[#\5 ZLDYBDSQA'JY,**B6D)DDDZV1G=$A]A*_@ M)"0M_-H'5R7(*Z5L/8DG]'I< A]OW-#9]H)@@P[+^[_[GHM^G,6'(-'KWY<5 MKG^G/6K!J$LM:]U+QUMQ_'>L"7LT?/Q MG8APODD7#\'%X/KB:#%H]_O#G^U!I]MZ'(Y;#\/G^^GC\VXYF#1E7M];!DD3 M>F&)4UV__&$Y\2.[;=?^Y\9RX'R+7VA(E;A32%&B#^'ZV@QJBE+2ZYC5@=69 M9$*8AGLXZ9C%=Z%P+G?_%013]'G*+1Z^RMIH5X[ZCB?U"F)H$!>HEWIXJFK# M PEZ$R4!10*&[.ZR:WX'=1I&R1RIZ95I51I&%HI^CZDBC%LY10AVKRR0MOT: M"67J33;KM0/1M\AA_UP53:1 1?2ZQG)F$45>J,Q&BH\%Q;7.@@("T&N-[I3S M'+W4TT6?D5!MYB=ZI39DFY$G[S4R\O9<^G@=>XZ#!N"; MY1\&G%=HJ9$TH]/B> LC2R[*=S;R-[^'!J_]S-ZAQL\)M:$-R603@KY;+B<7 M221;1T'&D]#RP^J>Y%.;9<4A0%(98!;-2Y=C?G!TK2)AEY5C*/#2J=AE")W'PX+V1XD^/ M"VI#A;+;6#H226O$*_!?O%-?#TG>1XGS$X@=2F^.#Z6C\? ?WX M_D'.8KH'13B2D0LB'=_WFZO*;)'-Y[G/16^K8\-&W7+MC MK2$:WE&:H]E_-C" T;57+V!WF[,=;<:@H. /[.'2H"L_'%3A2'?40;^,@A4K M<>2@G7/B" ]TY9M_88Z(,<%X?=>Z'2^]'Q,?^;'+9803X7F'VRZANL9KG .N MI/UXT7:M-@8,T$I6@01'U8WG 1]B25[QNJG06ZTMZ&-G7!R>T47<\_?TOK5&_ M/4#GM<%#J_O/Y][HJ3N8_J4UZ$Z;XE,DBHEP[.,HKR17YVP)<%(DG.&'T,&B MV_VBU;69![C5EDNW606E5K>[B?V_WS*N^7/4U$;)4O1V3(.R(F@& S $ZO5^ MCIK:,:"LR@24ST"OW-PCAS;W&R1CZ"ZH=_GSA9I#!H8*C\G =00O4 M8Z-=KY\$YM$3.E!J&,P(4=3*+7R2+ME:2+HN\+=9X5'I0:EA,#U$41OBN7_< M^"Z,GLAV[4?XCG^B3Q[D"@:30Q"T(4]__@!+.".E!BDN9# '.( :_[,BKFQ7:%Q/;U/(P-= D8LJ\DHO_N>X$P::)* MVA&FI(8%J$+&;7.K5*J&J^ER==I:%7,)8LP:EFG],QNELL@V2"VEBH5U?CT.[)L-^>]P:#7]VQZW)[Y-I]VERHH NVH-\692T M"SF4PF<3EG6M;O3R*:QZ3-8UT_R13K]7FBW6\@.T%*I;BA(E!&@UEP[RH[4T MH$-9_4F(UF(SH4EVT:X#9J$/9_N'3/F",YCUFD,9AJ*/*5,.NR&$B0QSSVBK MYV=/S/2'>RA5#*:),&S3/7*R7;D:L.54VQ*Z!&K)[B#_W7-!%]#1)I_A*BG5 MIG:,*DD!LB=%GEBJKF ,1\NU))IQ\>9 BUH MHWM)FCRF1E5A-(4;>R@#:T4W@PJVDA/+%4[6\44M1ZJJ5(@DW!(QQ.KU %Z! M@_9C]A3,EJ[G>(OM&"Z6C N.C%I-HA"WPHOVG^)2,(0V'6^UWJ!.3+QY^&8= M;5&IY.&J>R84*B\+0VRJ%+&RK*H\5;6CT2DW/'0IF$\@6B@HJYIVQ"FM9R'* MD+$;LG!1L&>#]#,F9'$"$1HZ4TJ)2$.#ZRZG,%")4^HP_/9\Z$-"KCR3K*2H M@\R0&,X/P9/B#JB53"9*">2&Y(J@"/%Q$V7.R(@F?3>9_B):E29-)IETN1B2 MMH*VR!]+9 #>P^D;<%[!D^>&RQ(;<8Y&FT3#%ETE;'W2L(BCS+1(D@:#/DQR[)5O+"_CR^N+R@XDBHC(E^YRP2!Z]#3$S M7:G&/IA825+*CR^$8,02$/'[?JX]70(?6//PR#\DJ]ES(ERM,JLU$\ N^TCM MX7./%O3QL_?@"5CXWSC44"Q^[NXX?NZQW1NW?K3[S]W64[<]>1YW\?,-C8F? M2T6RQT2Z&DPOJF1-2WN44-RU^]!Z@0X,(4X>&>G8'KIC,-OX/G07[>A%&C_] MY[T50&HHG;3VM9F(>-2=6[YJE8!6(58/P(>OT=.SO>@J$YXCE9% M&Y6?1I5%,3&"PM'WXO$>2L=SH['"O'%,JZ(=-8151=,V)UY##$UHFX5V3D$X MMD(P>;/6U'BGXL(:TX%3E\=T$$!J"!%^ _8"39,/(( +-]86>>$H+IP7SQ42 MS\5Y+1D"8J%8"!4O%L<@J L%J;AV9!!0#H]F*2@-F1%2L#C39X)_O[PR@JJ9 M-1M #XJ&B_8/Y2 ;PY7C'5CP'8FO[P7!_3:1R!@XD62#)5P+'DO8C6G'*!T. M+"7%1O$9Z+$Z95'P+$_'Y;6CBT3U$=Q>J7IJY^R$.;0S#8X.$9W:^QW!FT M'+PPP' 3#?TBEZ-8"T92C:[Z W>C!'G5,$]6>-= ]F8^E?]VX,6XVBMO0WQA MA5GOK!E734HU1)1ID/XGE80@O3Y816$5/YEJSB9TXI<(]R(NA;'R$YI^Q\L)]1@WO+0=M! M,%D"$/;QMQ&U[K?%;L:=I29C2>:*T9'^P?S8O+ZZN_O6L*"=TXA$JRB>(I@4 M4SFIN#:Z5Z338U()28HCE$/*4:,1:J;HZ&D:N:J70BQ\MMN0HH7'/"4FF>A?I&AW_0L&=+C,37@A/)#@("Q=I2 UH*2C9 /5SK1"B$ W1?:T7O+Y<7UQ> MGOGJ("PMXF;3N$M>&M!#6#LT!7/B-63F>/1\@ 9$]WVVM-P%0/]\LWSZ\D&K MHC$U./5:X',0Q6LF-881#!%F9&N< 3&8<)5;GC2]%VH&&P20*K=$R=Y6[.,_ M^HR(:&H=[6BAT;Z35UR&V+CVP'>XA_/]+R-[?QS&-O#"X7R._[E @S4(.YZ# M\W#[&#.#@N6;UHZIXD2AD4VR8 S9$#'DLXO9K8>7W,V?(S>K":>VC9F20,3T M8N 8S+R%"__$"=,FZ%O1'X/A?+A.WKT7C5"\YHY0Q%UH_1?NQ'^W]MUHH5_N M.]+RYJU=5SX"&+6\B7V_[;F(=6"GM:+]3M[F0@MH/%T'\L/\1MT<*!K@J%A$ M6@4\UFK55L@)371=QJ=JI8N5D*;M;.O58KMU;4X-1K%2MW M?=10?KVU1I.WD2QAPE5N\B;$W/VT?-]R"0\ %Y0P29>\\&J]"JIH@$OW732; M"B60&F=?+MA[\SLQ:)4U)HK&YPU..2I?6&JDX< +J3D#=R(BO[)9N=UFD9?. M%4[B51:/I!WQ*_!?O((E\TJI5;F#-@Q;)(_8F"5H.?[";3E./]-ZQ=\QT"S, M5T7)*ZW8O]=;K5''(H4O+7\!B*^S%A;.#XM;]?F^1_;IN&-VD$UK;+R^.7XWZT1[WVO?];JLWF';'W!C^YCGVD_5'M$W[X871 MIC&NR+\=J/>3*N:8R6P)[(T#AG,2TVBN8L[:VLTYIZ!.=LZJ(J>3O4H4^&&& M-^A?AYQ!O\*S+YJKH(U/7VG?"SR]M*+:L:&*=O:Z%H:LOV(+O;+TPMHH5U@= M;$U2$!IRS."=%ZD&>;%&M"<,1>O'$[T$[$93B66S9]3*"^SK]<7%G0E+1Q7T MM>85%EY_"([_] 69AG/^GR(^;*Z"=ELOHY<"3RP98:Z2&HF1WPW )_$*M M%Y0P3.V\"$U,#$Y5N=':9BNZLA'*"RU'%T5/EIX?8A/?[WALZ&9.T7E#2 M4 KP(I44HT%R1*I*XY[89!_ "\F*EBUB* >8$!/EWYBE_&BMR^1[HRWZF6*& MDH +9D*$6[.(P.: ^>KGU/S7>O<#M7NH>NXK$E$4>M-SV_,Y@FR%H@ZJRV,' M56_PHSN9XH"3"?JYU7Y\[/5[[6ES_%-YP;AVVW[%&0F"J;>7TMY^D"E-<$)) M:$^MAZG[GPWBYA,(EYZ=Z1Z?@XE669L)1)K*BYU'PC*H\^87EU>!U??CWP(P ML%: X%*JTEQ>0-]T6T(?68Z)"B5]!&];5H*T^&$I)0[G$@ M6(W'8(RVM+XW^S=VP.-S=-^9D>\"48IK18 2&CHP)HLBU>L2($';G62C.<$; MS9X[]RTMZYA/*@$6_G=# (/)IL_E]YF]X!K'U@!8GC' MZX?%5X'Y*AFF^7)X];HK2-!_9#4IDA#E&BBKCF':+P57SRN!7-O!,;[%3#@2 M[/ZFC8ZE[^_I$.M\YX!?.X5C\^"OVFB(+=0"!9QV?W4JY3U!%ZXV*Z+Z9"4R<2C?U)[(9MIGQ-'Q-Z -':0NFY+D8$@* M: )V G<(I9M'%+INC\DB KQ6DXJ 7^&5;P@.6NXZY\K ME7A%T=Q,MP1G\-1ZCR4R]5%E:Q9E+A'U$%_Q>X@_M] 76R#Z9"O,?/-7AJM_(=VF-'(]S(A[EKD-M/"7NOR..M"FUH]S@I57XNVRGN<6>HVU..LF E-%36XUR?@I5?9NI8:QA: MSK,+P^!^VW&LH.CF.Z.T-KR0NB:4 4TYY"@^!V=01!"HR$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:\_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 M&L)]P(LE3U^SY;0;Q\4BSSTHQ(5!DB54LWC3V-4T6J]**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 M87G]39R;7FIH4;2 (!((V(+DL1/'I^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 =/@-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_!$&]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%&:7BOP!> MS='.!^T$Y&+^I6F:9+ I2 [W=BU]L$](,K7:W'3G'[8*2:'?KJ$/]HD(QL0[ MX_RB06=S.>1+&_H@GXA@3+3"<8IFN@0^L+"1J!KW]NWD)7Q[?7%Q<<;48\BE M5N.;WLRKQKZ;Y0K@C/1 M'5R8MD/\TH]H,]J1IR(U^+@F+!$3CV,LP="O]G#6_N 731 F)E'@D@?E @]W M_0]JT45A>GH% =,1J]H'E6@,JNS_+S0/7:EA4,=:0]R=*G'"0FUHQRWV]KPZ M/C-CA+GD0H\0%FE".^94YT5)KM$$8N+6G$LHS,A@P58^Z,8I$Q-W[;QR844$ M"[?SP3INJ9BXH>>4#"L26+29#];Q"L7$%-1<@JG"M ]Z\9PKZWFGZL2Y^W). MNXHA<%^Y/7:K1EP2#&P3:N/L628D&!-O#(N\Q\+Q_L@94HA&%:,N]Y[X M;&4VETHW?HYB4ORP MG T8S@<@//A[:9:R&O[@:F5IU7HK^,1&JZFW$U#Y./-O)&M5U/I'E#FUHX1' M6^/;-"7B?P5K:S6B^5P@ M!1F7:,%()M#1I430)&ZK$A$(J7]+M& F$:CH4B+48XP[(1%"4AI>\08,I $# M7,J">FQU)V1!2=T;J'&JGNN)-#EQ1MN,7[1B*/\=IW/T(Y!?"QO-EXOKBPMM M[^6705)KY+-P[@8^77(&,8M4;;B6A6 UQ E*B2$N*-$\!3)[WQ OYDEV1DW1 M: E(M8;@UK@!%@ZF+=^0 50H";(A'E!9D:Q5FS.(**6@GL9[>O)#UF2S6EG^ M5O!P=7G!>;A*FO\X4TGN:!OM4<.@[=J9R.UXX\KH/+MBGOV7ZC,GL"\^EP2E M5]XJKMTZRU]^6% [9994%76+3\/:0!T//'?&J^9]V;/0- -NK<=O>1:7*L=O M0Q5+4V?E4[I.-R@);VN(/&IO_AQ? ;>D(S\I[:E>C]@05PKN>F?'';X5I*I1 MH!GT$2/-V5&%1I#*9@"=UJ3"=!GT%8E6Q5RB"*.6%*:M61+N0C$PUR)&K3-C M#=\Z5#7&NPG$$:'+F9&$1HW*D=^*4W?>>[[OO:%%5S#KP?7%Y:'M^7XX'@]_ M]@;?)TVQ,S^ EW /@6"R)152,7)Q7WHNZL$&>TBFUHM#RB!54#)/XZOX47<5 MHY8N]NQPY$5!-"\JR7Z#QCX,'ZU9-'FTWR$QF\U106U4)*J 8]5Q@M-8 MRH(NE^[BHMIICU,'+.51T-5@UU?R5#9TP7 >HWX"JY>C0'=R01/46@YD#=X;"4,Z\,/,<$;_.AS*Z%?_ZD3Q MH3X2)CK962M0L/:2BFFG;_&55P@:1V%#P!&?(BD M<#46JJN-BH44E==O-;"Z3MSWEOOO_4&4/&$7E=-*J]74&%""%"_\33&@PWN)T>J!MS&]$*Q(IVI":6U(4OUH M+8*PABL6JBC0]]P%ZL>J[=J3I>>'^.>.MWI!^&VN]V?$&M&<,'2U%Y.F(GB] MDH=*\LGCV]N1,*9(&/OYEN24)Q37DBP5U5W@H1=!7RM;%+WI@"6*H6/ITCWS M!27/@R.\P/6ZHRF''OSS"',072,I71E(#U[@M0:="L=_D6*($Z[OL0S=D>_] M 69A[)&FW1/@K&LV+:J+@A)I*M>057JQ&'@AB&(3/,LES0>%9="H@BQJ#295M!7).GM2I]&3]8[OU^ZFV8ZU1G\AAGZ)-'$>'*LL M$5GY@G7:]&:%PL$D+9E2WJS"A";IG),/(56MYY3\8X MV8CU5>84.7F7,)): )F&_3QW>D."ZKHU%-4SA MB^'3ZW$/2>:/&#S;.'9DLR)8TDP9,A(UX$F3D 'N!-LZ1108=UB< B<\*@8/6L#6:[H ] M\KTU\,/MR+'0UMJUN__9P/6*8/^JT%Q>AE^N+RXT,*277#!DBT&O$T9I*O7< M5X30\PL3,PA4/R^JT&'7^F#)*6<9]"N(^NK:SP$8P\6R]/QRU-!YT857 +4^ MQ:E&@[&8 ;@:\$U MN]+MG!=E./'7^V**Y!D&[[_PQ?$"N!224&H92 E1M,UX*27']YR#&GL8\ WK MD?<&_,DV* A/+=&"@<2H@KS>AU1.E_MU'^:0,1.*W;V_HMR]_]R*FFUA;]?' M1?PFA8W>()[?JAGA_%?RA: HOYFB7=AG(W3,B\*0^R42PS8;H5[!T5MUO2UR M79]PD=V366R-O::NL;A5\Y98>F%$DIN[+U=?KK]>7]Q]O;N[OI&6C/?D@;0* M!VH)(1]LIBM!-FQ-EA1=>XM.+5\;R =QB(8LVA+W9*;HG@50>?"0?,W_!-AK M >PVVF18"Y"^/32V0C!$OYK"%2E!FF KYC*F+/@:(IA4L^E^^V2%&VP/8KT] M0ZUD+E)Z1MP7L&3YX9+ MUE:D5)O:$:L$-^@$DR,2P[:X7(+!S]!/WSP9M$N:^F ;51(&[J/YY(&^SK.I MXF_L@V@,61BX<>>2R*.W(2;B+-/6!]'HHJCU4H*B>'1QZY9H[>^JQI5'KU0L-V,?!*/-90M-\Y9L2F5O_:I1MN<'( MVN+@2I8=_*BDJ:KG UKU0L1=S 7+*PP*:O1Z)?I&%/]]+3,"8$#JZ0+#VLO M0$O3*^7]005A$ /+QZ_LO0(D@M36WWU? S< HA$27S@C)-STDRW+M5LP^6@+ MQ%\U*H!"IQA%B8\%?;N^N%8T!TA\+"A!4>>3,Z=]ID"A6D2%OE>7$#2*)?\\ MGBE0J&(A1>7U6PVL*3"* M5D8) G+4Q. M*5/T,C[QO(MM"[B(ITE=)'B M)IN7 -K0\K=DLDAJ.B_..R1.Q0FQRM.H3HD8LH-X=H-]XCCJ.Z0%):;RYTRP$OLJ<506C( M8::O\-TI_"NP0ZN_#VA5 P=+PB#GCO#H?PV(S,'M8XAC"F/ M55 X)6N!@:#GPS^CMD[W%OVB^X*JHG=K%%7D#FZ^,!:3I)11!!'!6.OF0C$#%%N,EOP_'T\[0[?FH-AM/NI#5J M_]Z^[W>;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.=L9R!%^]C MB(DQ6-6THH<*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#U#U'MV9YE?[((?(=&L4;TY*3;')^CB**OV>NU[:/** M>#.<1_E#I]8[XOTV43(T7=# M^.* R'\AMC)^/5X9.\/!C^YXVL.^LMAS5ONJ2%@0CJ"Q4C]RUD(WUU=W-Q>W?W[:N:645>>LB;F^O+BPLUH[V*U(_'.2]2CK2$UWKD+:J2A$JE M7D4U_10='A. M'Z(A^K^W',N=@]8!$,ZNQ. MKJ"=S, ["C-\L%FJ.# 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_(ID!Z M"L@3T[*PMG+$EZVD;8@BU5)U8[# M<',%#*@W[NB=[*4*K[ %4XQQ3RXC[JN^\FAS3"HA8<:6O;-XHC1\E0L4J'/QPOP4>(0PT1^,+;W3+N MM!*[X)%E=OU")^4=7M^?,U-0?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; 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-52#T9LU641#*G) M>=)AKH)UM+1AAOE=.Q&>6,HY5L\(7I=3;3VR!8;P(_"^B2 MN'=K]]22]C_@(@7"1G(_7MXQ8S>)]5XOLA5=1\48HC8[&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 )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-=_/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)\BD7>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(@=E304&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='$U%%\JVT),E<0X5;>$@91_G+>>EX:[#F=")+J^I:2(J8CPF<1+"!WRM(7;1 M*27X;@?>_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?="^(&4C1H@TA%YVDT9$:%G+S\&V1?L\(QR1R1M_: !1 M&M]:%Y11@7E7OO6.+-,T^88MDS@OW,8-B9%R0@_H/A'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?::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])%./ MD38[@^-'70@J1V4*7>LK4R-]2C5% MF0JNABC:1/)M"NUCC(B@VOT3Q)46[IS.?,C2>UB*<@.AM9OL64?_W-G+==H_ M:FLHRDT/^#S2V7C%LZ* Y3),O?,/@>>!,%OH"'L.KKZ&\H0'[^K&H+G$VD_L MG%/![M_WT(<+-X[&,)RND%+O0>0Z/!,$_0E6T$&6W*:>O;E%>W ]O+-M18O\ M&6=(#)KDR@[(I[P(_A*\I9?I1XMJC(/HM?#WC&OAQ;NN@L55O()7;\4;KT#Q MRLM=<247]_;8^O/_38#G+K9H7UR4$=]_6=U=<^'^Y<%RHV^:X+R'+D= E=>C M)6<%F:'7UUQF%^ML#,IRX*MN)%NHH4-<> C6P#W.,232U1@>2,!-E 04#6@_ M3*@B3TWJT=K[X V>T#$J4=#G(9*8&LSDD]3-QS/APGJC9QC#)=G+DSQM:#_: MRIFBBE/%DT\?KI/ \QZSC'&$J:K!DSI),SHMJG.7++V8.8>US^RJK!:E"6N@ M+/"I+EPA;4BBT0:&;C"?QB",VR> )5CIZ"H;K$"X1/('@R!*"U?]V$ _@FF+ MM )-;:I@>0\^ ZXI5I8!>60:,2^/;AC^<-++(UGXM#C/:A]S8968:NR+LSK) MJJBYMH)IRZ*\LF39NCCTJW>_WYW,05'$8>W<,$*>B$_7-\>>B&%_\OKT^GEZ M-1Y.KJ9?^I-A5SP-QZH@N!G(S71,!E-G!>>)!T>+OA^[<^Q$<]_@%#I)F :< MHFG12Q!TCVA,X:HV2<:9T>)8C#J'A)J7E,?4;>_Z5E.0, OPP[GB!"HPRI;= M4LK[;?T#*,X0A6\TAG$G9%.5PJ=6< ?X_ K6D.J7874SCEFG!IF79@R5:3=8 M$0YWTSAP_AJE7Y/O->/0Q9?_TQ^^^B[!)R/6N2,L8F!X=&IK)[UV0ABQC)(< M-;(?;QP!N[A TK5IB0^HLF#@>,X^OOZ6AN^QTASS]3:.CDJ9425B&S4I+0NI M*?/,*XRS"#-YPGI\@R%8PM<$'[I&BU35T2B)HQCX^/(F M;>T4>H;E!&NO"TG^H[(S6_O*B49=F'KJ@)=O(E*-E(=@H7\X'X,M;MP/0^RV MI64+;/]@RQFI2$$*[NAW@Z2#P$=C*TK/<@_P6[S?K;1A*/FI%WH*:T=!-@'M M^S_"PI(KO;*^B"W5I*=8SCT9VI"5S+=V4ZAI'JS5LHC5KJRI'M+4.YMXPR^S MI'RZAFWF*G%!U*,GH?69<80FM:3$MX:QI*5=G)I01J)X.YC-]<;*DGZOOMM MZ1>NB$B!9QDS&?'"61\ V59BH^+"^(2AA"WR/\ 8^.5#6J5+2[48RQ%JM&"U MH7&8M\2%#C1%9NWQ7(0 OPG:38>!\QUD"=4-!M5^ )* ]R(]L4WQD>_(7(4#[T,2)T5GJ M,?'G3[Y#QIRWKR7(MQ+7U!3JT^2?59 \1:[W!L,7I)70!1XML)[2WA*= $P$5U!>5.-H_@\!9)-'X*25@BCF5E)SXUBATK@JI 3B$=\4M)^Q5RVD&E99W8Q# M7P@A/H"9\IIJL$-[&Q\!@$/_8.B@2>X>^']13G>T]IT FHG4\9E>5&#M2,M, M[3]%>*71H<_X31@Y\NQ/Z6$<,U0N *)ZH!C^B@BB6Z,X0%T-J'V,XX$H5MQH MF[P42(K8 !ZDYSP_:%%6Q/O>]?3" M1/:HB7U@\@AHR3K>QXF:&?712FU*ROB(;SQ\LG>M9DM.\?=K7IWW%\WQW1*T M*\U!V=\VO]]6+Z-C@?=2^_.Q!WQF>DX5KS*.9VPNU)P;3Z48[:N)K!UE-3OE M9/J5>OBD]C&.12=C1-U65%11UK"J=EUX9F3U9'4SCUNG/[72E6%F8)0P?QX2 MB*]H'JC A=$@"3$>!.[0NAC'FT;85BDB++.DZ:5-,2%)F^B\XMP$.M!]PZ.J MK 32OIK1S5:B-));::9!6>7/!B!:D:2JGS!XN]G&A59R*[A H3^' V-0T-<; MSMZVL4B&^ IN8[286"2EC?D[(T73*W8QAZ&"@ MEZ1[]=S]RQI%N\>>YC)ED@C53@&2+H&0LLQH(A7:W\T"P4TPH8.MM!&46-+Y MR)P-\!ALB9-OWY^_!K[#M8QQ/\=6(LE1A(+K*?+WS+N[5N,D=%8@@E2AZ[;/ M8D^PC3*R5*#@4DN+337IADM-G.\+B'%"K>T,ANO:6RV,/E82HI'0%M]E>0$_ MW'6RO@_",/CN^LL!V*!?XJW 30?2(VSCCS0=%/:]Z\[O;PY5P<&8LC;>6KVM5-6JOV(8M#562S, T$+ZHB_0FS\&(8YQWQ71P&E-QL%W M&&)/V$H*B$E;P*W& MWJS)>3&!;]"O<_\20RL([6TC2#.!"X[(-2#+R2R2!<;6RW-\FN+H81O@344N M(%=3247;M%"KRYV-BD&?IH^QC5-2]5 0K:U1F+0WU17M#'#<6QK8N%^ 1XN= MQZZ_0"/C0&FD8Y?@8\HJ?M^[_O#!"JI)T4-!-34F94U>T$$0Q;A.07[3,^*8 MOVA=;"60L,P%660:GVO(HKRL!4X?XJ;1 EC\0>#CR\'0=[#W9?^36&6+FVIE MB\'HY>5I]C)\G67E+ :CU]G3Z^?AZ^!I.,6_[]_5E>H6%,WM16=4MA=Z!N+A M^T_O$8$_]MY?OW__OKQ/.*'DQ0J^__JL- SZ]N< 9Z8+U_N?:/4PQ!]4'HL? M>CFY3; MZL14LNR](M-MA(X3!ZL])2DQJ].YT**9(BS)5""DTV?&WCZ MD40_SQ#[3U4S$XC'+]+,"_K?=;+.JG5FOY-K]0H_I]ODHW.$AX!-U*-@&31F MUS[ZYKG++&M= I_\5_@CGGV'WAM\06?F%6OB8_0^3[(U48I9]U*54FP*G<"? M_PX!*14'L]^%5FQU*+W<:@RAN!E4UM%=[[JG.;O8B2E3*[^L.ZM!##Q3?26' MAE]!;\FMN+?DX&WGX"\1[*LEYCZ(RBR@.3[J&QLS=S2"JA1YSR^?2B\%5TVQ M9S?.YZX!&ADUKH?Z1L: U4#G>\ $9#,,*)Q:K-;(3VMJ#&@">J>!Q9#,5+/J MP -1U,\"-<#W*''CZ-'UX!R?8;[_'H24NMJ<70T&FH'9D0VUC;RFPO]U.L"V M$!B^H6T+FJ[0&M-'\]9#LMZ@?STD.-"8S #^WM:0H*7(VBWJ!!X\NF$4]^=K MUW?Q5@+?H)O -Q=^SZ^CS+X'9!IP=S:&!3*@/")&.R78:&ZL[()8KA5R!V.( MTVJ'UU!.4^>,W7VUY-LF@#[(Z5,/5SCO[:G/6QI*[12[X&LI"O936<\&OP(QMEZ>#S[DQN6Y?Z( MY-:<<[#=U, OHU)#OO!N@)10ITS<<1B\N1'Z3GQW#;VW=A5@];$,\4;B*LTJ M>7LR"_T4+K'5\LE?!.$Z)OJS<7IL//V!!_]?3Z.)J\]&=/H]>N6-QS M;4S@)@@Q'0C&=7(S+3?C=EGAC[_K -7[;?XCSX$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 MK.^P35FD3T@DS0&9X@#4@,B44/O\3[#&O 28UOGWDUUU-+;5!T*+.TZF%1X M'3,%8,45BQ^!/^0.YK&F*;95F@A*;:-WEJ+-<1@LW!C[+!BI