0001558370-21-015304.txt : 20211109 0001558370-21-015304.hdr.sgml : 20211109 20211109162025 ACCESSION NUMBER: 0001558370-21-015304 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 77 CONFORMED PERIOD OF REPORT: 20210930 FILED AS OF DATE: 20211109 DATE AS OF CHANGE: 20211109 FILER: COMPANY DATA: COMPANY CONFORMED NAME: PDF SOLUTIONS INC CENTRAL INDEX KEY: 0001120914 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] IRS NUMBER: 251701361 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 000-31311 FILM NUMBER: 211392501 BUSINESS ADDRESS: STREET 1: 2858 DE LA CRUZ BOULEVARD CITY: SANTA CLARA STATE: CA ZIP: 95050 BUSINESS PHONE: 4082807900 MAIL ADDRESS: STREET 1: 2858 DE LA CRUZ BOULEVARD CITY: SANTA CLARA STATE: CA ZIP: 95050 10-Q 1 pdfs-20210930x10q.htm 10-Q
0.060.080.39372210003547900037067000336960000.060.080.390001120914--12-312021Q3000.210.211false0001120914pdfs:The2020StockRepurchaseProgramMember2021-01-012021-09-300001120914pdfs:The2018StockRepurchaseProgramMember2018-05-292020-05-280001120914pdfs:The2020StockRepurchaseProgramMember2020-06-042020-06-040001120914pdfs:The2020StockRepurchaseProgramMember2020-06-040001120914pdfs:CommonStockOutstandingMember2021-04-012021-06-300001120914pdfs:CommonStockOutstandingMember2020-04-012020-06-300001120914pdfs:CommonStockOutstandingMember2021-07-012021-09-300001120914pdfs:CommonStockOutstandingMember2021-01-012021-03-310001120914pdfs:EmployeeStockPurchasePlanMember2020-07-012020-09-300001120914pdfs:CommonStockOutstandingMember2020-07-012020-09-300001120914pdfs:CommonStockOutstandingMember2020-01-012020-03-310001120914us-gaap:RetainedEarningsMember2021-09-300001120914us-gaap:AdditionalPaidInCapitalMember2021-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-09-300001120914us-gaap:RetainedEarningsMember2021-06-300001120914us-gaap:AdditionalPaidInCapitalMember2021-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-06-3000011209142021-06-300001120914us-gaap:RetainedEarningsMember2021-03-310001120914us-gaap:AdditionalPaidInCapitalMember2021-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-03-3100011209142021-03-310001120914us-gaap:RetainedEarningsMember2020-12-310001120914us-gaap:AdditionalPaidInCapitalMember2020-12-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-310001120914us-gaap:RetainedEarningsMember2020-09-300001120914us-gaap:AdditionalPaidInCapitalMember2020-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-09-300001120914us-gaap:RetainedEarningsMember2020-06-300001120914us-gaap:AdditionalPaidInCapitalMember2020-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-06-3000011209142020-06-300001120914us-gaap:RetainedEarningsMember2020-03-310001120914us-gaap:AdditionalPaidInCapitalMember2020-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-03-3100011209142020-03-310001120914us-gaap:RetainedEarningsMember2019-12-310001120914us-gaap:AdditionalPaidInCapitalMember2019-12-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2019-12-310001120914us-gaap:TreasuryStockMember2021-09-300001120914pdfs:CommonStockOutstandingMember2021-09-300001120914us-gaap:TreasuryStockMember2021-06-300001120914pdfs:CommonStockOutstandingMember2021-06-300001120914us-gaap:TreasuryStockMember2021-03-310001120914pdfs:CommonStockOutstandingMember2021-03-310001120914us-gaap:TreasuryStockMember2020-12-310001120914pdfs:CommonStockOutstandingMember2020-12-310001120914us-gaap:TreasuryStockMember2020-09-300001120914pdfs:CommonStockOutstandingMember2020-09-300001120914us-gaap:TreasuryStockMember2020-06-300001120914pdfs:CommonStockOutstandingMember2020-06-300001120914us-gaap:TreasuryStockMember2020-03-310001120914pdfs:CommonStockOutstandingMember2020-03-310001120914us-gaap:TreasuryStockMember2019-12-310001120914pdfs:CommonStockOutstandingMember2019-12-310001120914pdfs:StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember2020-07-300001120914pdfs:EmployeeStockPurchasePlanMember2001-07-312001-07-310001120914pdfs:OutsideOfThe20112001OrIDSPlansMember2021-09-300001120914pdfs:TwentyElevenStockIncentivePlanMember2021-01-012021-09-300001120914pdfs:TwentyElevenStockIncentivePlanMember2011-11-160001120914pdfs:SharesPreviouslyIssuedUnderThe2001PlanMember2001-12-310001120914pdfs:EmployeeStockPurchasePlanMember2001-07-310001120914pdfs:EmployeeStockPurchasePlanMember2021-07-012021-09-300001120914pdfs:TwentyElevenStockIncentivePlanMember2020-07-012020-09-300001120914pdfs:TwentyElevenStockIncentivePlanMember2020-01-012020-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2020-12-310001120914us-gaap:EmployeeStockOptionMemberpdfs:TwentyElevenStockIncentivePlanMember2011-11-162011-11-160001120914us-gaap:EmployeeStockOptionMemberpdfs:IDSPlanMember2001-01-012001-12-310001120914pdfs:AdvantestAmericaIncMemberpdfs:SoftwareLicenseAndRelatedServicesAgreementMember2023-07-012021-09-300001120914pdfs:AdvantestAmericaIncMemberpdfs:SoftwareLicenseAndRelatedServicesAgreementMember2021-10-012021-09-300001120914pdfs:IntegratedYieldRampMember2021-07-012021-09-300001120914pdfs:AnalyticsMember2021-07-012021-09-300001120914pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember2021-07-012021-09-300001120914pdfs:IntegratedYieldRampMember2021-01-012021-09-300001120914pdfs:AnalyticsMember2021-01-012021-09-300001120914pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember2021-01-012021-09-300001120914pdfs:IntegratedYieldRampMember2020-07-012020-09-300001120914pdfs:AnalyticsMember2020-07-012020-09-300001120914pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember2020-07-012020-09-300001120914pdfs:IntegratedYieldRampMember2020-01-012020-09-300001120914pdfs:AnalyticsMember2020-01-012020-09-300001120914pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember2020-01-012020-09-300001120914us-gaap:PrepaidExpensesAndOtherCurrentAssetsMemberpdfs:CimetrixIncorporatedMember2021-09-300001120914us-gaap:PrepaidExpensesAndOtherCurrentAssetsMemberpdfs:CimetrixIncorporatedMember2020-12-310001120914us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2021-09-300001120914us-gaap:LeaseholdImprovementsMember2021-09-300001120914us-gaap:FurnitureAndFixturesMember2021-09-300001120914us-gaap:ConstructionInProgressMember2021-09-300001120914us-gaap:ComputerEquipmentMember2021-09-300001120914pdfs:TestEquipmentMember2021-09-300001120914pdfs:LaboratoryAndTestEquipmentMember2021-09-300001120914us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2020-12-310001120914us-gaap:LeaseholdImprovementsMember2020-12-310001120914us-gaap:FurnitureAndFixturesMember2020-12-310001120914us-gaap:ConstructionInProgressMember2020-12-310001120914us-gaap:ComputerEquipmentMember2020-12-310001120914pdfs:TestEquipmentMember2020-12-310001120914pdfs:LaboratoryAndTestEquipmentMember2020-12-310001120914pdfs:StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember2020-07-292020-07-290001120914pdfs:StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember2020-07-302020-07-300001120914pdfs:RestOfTheWorldMember2021-09-300001120914country:US2021-09-300001120914pdfs:RestOfTheWorldMember2020-12-310001120914country:US2020-12-310001120914us-gaap:InProcessResearchAndDevelopmentMember2021-09-300001120914us-gaap:InProcessResearchAndDevelopmentMember2020-12-310001120914pdfs:CimetrixIncorporatedMemberus-gaap:TrademarksAndTradeNamesMember2021-01-012021-09-300001120914pdfs:CimetrixIncorporatedMemberus-gaap:NoncompeteAgreementsMember2021-01-012021-09-300001120914pdfs:CimetrixIncorporatedMemberus-gaap:DevelopedTechnologyRightsMember2021-01-012021-09-300001120914pdfs:CimetrixIncorporatedMemberus-gaap:CustomerRelationshipsMember2021-01-012021-09-300001120914us-gaap:TrademarksAndTradeNamesMember2021-09-300001120914us-gaap:PatentsMember2021-09-300001120914us-gaap:NoncompeteAgreementsMember2021-09-300001120914us-gaap:DevelopedTechnologyRightsMember2021-09-300001120914us-gaap:CustomerRelationshipsMember2021-09-300001120914us-gaap:TrademarksAndTradeNamesMember2020-12-310001120914us-gaap:PatentsMember2020-12-310001120914us-gaap:NoncompeteAgreementsMember2020-12-310001120914us-gaap:DevelopedTechnologyRightsMember2020-12-310001120914us-gaap:CustomerRelationshipsMember2020-12-310001120914us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-09-300001120914us-gaap:EmployeeStockOptionMember2021-01-012021-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2021-09-300001120914us-gaap:EmployeeStockOptionMember2021-09-300001120914pdfs:EmployeeStockPurchasePlanMember2021-09-300001120914us-gaap:ForwardContractsMember2021-09-300001120914us-gaap:ForeignExchangeContractMemberus-gaap:OtherNonoperatingIncomeExpenseMember2021-07-012021-09-300001120914us-gaap:ForeignExchangeContractMemberus-gaap:OtherNonoperatingIncomeExpenseMember2021-01-012021-09-300001120914us-gaap:ForeignExchangeContractMemberus-gaap:OtherNonoperatingIncomeExpenseMember2020-07-012020-09-300001120914us-gaap:ForeignExchangeContractMemberus-gaap:OtherNonoperatingIncomeExpenseMember2020-01-012020-09-300001120914pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember2021-09-300001120914pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember2020-12-310001120914pdfs:DFITestEquipmentMember2021-09-300001120914pdfs:DFITestEquipmentMember2020-12-310001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-07-012021-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-07-012021-09-300001120914pdfs:CustomerDMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-07-012021-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-07-012021-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-07-012021-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-07-012021-09-300001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-01-012021-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-01-012021-09-300001120914pdfs:CustomerEMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-09-300001120914pdfs:CustomerDMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-09-300001120914pdfs:CustomerDMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-09-300001120914pdfs:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-09-300001120914pdfs:CustomerBMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-01-012021-09-300001120914country:TWus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-01-012021-09-300001120914country:JPus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-01-012021-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-01-012021-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2021-01-012021-09-300001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-07-012020-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-07-012020-09-300001120914pdfs:CustomerBMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-07-012020-09-300001120914pdfs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-07-012020-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-07-012020-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-07-012020-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-07-012020-09-300001120914pdfs:CustomerCMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-12-310001120914pdfs:CustomerAMemberus-gaap:AccountsReceivableMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-12-310001120914us-gaap:NonUsMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-01-012020-09-300001120914pdfs:RestOfTheWorldMemberus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-01-012020-09-300001120914pdfs:CustomerAMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001120914country:USus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-01-012020-09-300001120914country:TWus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-01-012020-09-300001120914country:JPus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-01-012020-09-300001120914country:CNus-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-01-012020-09-300001120914us-gaap:SalesRevenueNetMemberus-gaap:GeographicConcentrationRiskMember2020-01-012020-09-300001120914us-gaap:RetainedEarningsMember2021-07-012021-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-07-012021-09-300001120914us-gaap:RetainedEarningsMember2021-04-012021-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-04-012021-06-300001120914us-gaap:RetainedEarningsMember2021-01-012021-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-03-310001120914us-gaap:RetainedEarningsMember2020-07-012020-09-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-07-012020-09-300001120914us-gaap:RetainedEarningsMember2020-04-012020-06-300001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-04-012020-06-300001120914us-gaap:RetainedEarningsMember2020-01-012020-03-310001120914us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-01-012020-03-310001120914pdfs:TwentyElevenStockIncentivePlanMember2021-09-3000011209142019-12-310001120914us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2021-09-300001120914us-gaap:MoneyMarketFundsMember2021-09-300001120914us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2020-12-310001120914us-gaap:MoneyMarketFundsMember2020-12-3100011209142020-09-300001120914us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2021-09-300001120914us-gaap:OtherNoncurrentAssetsMember2021-09-300001120914us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember2020-12-310001120914us-gaap:OtherNoncurrentAssetsMember2020-12-310001120914pdfs:CimetrixIncorporatedMemberus-gaap:TrademarksAndTradeNamesMember2021-09-300001120914pdfs:CimetrixIncorporatedMemberus-gaap:NoncompeteAgreementsMember2021-09-300001120914pdfs:CimetrixIncorporatedMemberus-gaap:DevelopedTechnologyRightsMember2021-09-300001120914pdfs:CimetrixIncorporatedMemberus-gaap:CustomerRelationshipsMember2021-09-300001120914pdfs:CimetrixIncorporatedMemberus-gaap:InProcessResearchAndDevelopmentMember2021-09-300001120914pdfs:CimetrixIncorporatedMember2021-07-012021-09-300001120914us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel1Member2021-09-300001120914us-gaap:USTreasurySecuritiesMember2021-09-300001120914us-gaap:USTreasurySecuritiesMemberus-gaap:FairValueInputsLevel1Member2020-12-310001120914us-gaap:USTreasurySecuritiesMember2020-12-310001120914us-gaap:RestrictedStockUnitsRSUMember2021-07-012021-09-300001120914us-gaap:EmployeeStockOptionMember2021-07-012021-09-300001120914pdfs:EmployeeStockPurchasePlanMember2021-07-012021-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-09-300001120914us-gaap:EmployeeStockOptionMember2021-01-012021-09-300001120914pdfs:EmployeeStockPurchasePlanMember2021-01-012021-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2020-07-012020-09-300001120914us-gaap:EmployeeStockOptionMember2020-07-012020-09-300001120914pdfs:EmployeeStockPurchasePlanMember2020-07-012020-09-300001120914us-gaap:RestrictedStockUnitsRSUMember2020-01-012020-09-300001120914us-gaap:EmployeeStockOptionMember2020-01-012020-09-300001120914pdfs:EmployeeStockPurchasePlanMember2020-01-012020-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-07-012021-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2021-07-012021-09-300001120914us-gaap:CostOfSalesMember2021-07-012021-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2021-01-012021-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2021-01-012021-09-300001120914us-gaap:CostOfSalesMember2021-01-012021-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-07-012020-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2020-07-012020-09-300001120914us-gaap:CostOfSalesMember2020-07-012020-09-300001120914us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-09-300001120914us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-09-300001120914us-gaap:CostOfSalesMember2020-01-012020-09-300001120914us-gaap:AdditionalPaidInCapitalMember2021-07-012021-09-300001120914us-gaap:AdditionalPaidInCapitalMember2021-04-012021-06-300001120914us-gaap:AdditionalPaidInCapitalMember2021-01-012021-03-310001120914us-gaap:AdditionalPaidInCapitalMember2020-04-012020-06-300001120914us-gaap:AdditionalPaidInCapitalMember2020-01-012020-03-310001120914us-gaap:TreasuryStockMember2021-07-012021-09-300001120914us-gaap:TreasuryStockMember2021-04-012021-06-3000011209142021-04-012021-06-300001120914us-gaap:TreasuryStockMember2021-01-012021-03-3100011209142021-01-012021-03-310001120914us-gaap:TreasuryStockMember2020-07-012020-09-300001120914us-gaap:TreasuryStockMember2020-04-012020-06-3000011209142020-04-012020-06-300001120914us-gaap:TreasuryStockMember2020-01-012020-03-3100011209142020-01-012020-03-310001120914srt:MinimumMemberus-gaap:TrademarksAndTradeNamesMember2021-01-012021-09-300001120914srt:MinimumMemberus-gaap:PatentsMember2021-01-012021-09-300001120914srt:MinimumMemberus-gaap:DevelopedTechnologyRightsMember2021-01-012021-09-300001120914srt:MinimumMemberus-gaap:CustomerRelationshipsMember2021-01-012021-09-300001120914srt:MaximumMemberus-gaap:TrademarksAndTradeNamesMember2021-01-012021-09-300001120914srt:MaximumMemberus-gaap:PatentsMember2021-01-012021-09-300001120914srt:MaximumMemberus-gaap:DevelopedTechnologyRightsMember2021-01-012021-09-300001120914srt:MaximumMemberus-gaap:CustomerRelationshipsMember2021-01-012021-09-300001120914us-gaap:NoncompeteAgreementsMember2021-01-012021-09-300001120914us-gaap:AdditionalPaidInCapitalMember2020-07-012020-09-300001120914pdfs:TwentyElevenStockIncentivePlanMember2011-11-162011-11-160001120914pdfs:EmployeeStockPurchasePlanMember2021-06-152021-06-150001120914pdfs:EmployeeStockPurchasePlanMember2001-07-012001-07-310001120914us-gaap:TransferredOverTimeMember2021-07-012021-09-300001120914us-gaap:TransferredAtPointInTimeMember2021-07-012021-09-300001120914us-gaap:TransferredOverTimeMember2021-01-012021-09-300001120914us-gaap:TransferredAtPointInTimeMember2021-01-012021-09-300001120914us-gaap:TransferredOverTimeMember2020-07-012020-09-300001120914us-gaap:TransferredAtPointInTimeMember2020-07-012020-09-300001120914us-gaap:TransferredOverTimeMember2020-01-012020-09-300001120914us-gaap:TransferredAtPointInTimeMember2020-01-012020-09-300001120914pdfs:EmployeeStockPurchasePlanMember2021-01-012021-09-300001120914pdfs:EmployeeStockPurchasePlanMember2020-01-012020-09-300001120914us-gaap:FairValueInputsLevel1Member2021-09-3000011209142021-09-300001120914us-gaap:FairValueInputsLevel1Member2020-12-3100011209142020-12-310001120914pdfs:CimetrixIncorporatedMember2021-01-012021-03-310001120914pdfs:CimetrixIncorporatedMember2021-09-300001120914pdfs:CimetrixIncorporatedMember2020-12-012020-12-310001120914pdfs:AccruedCompensationAndRelatedBenefitsMemberpdfs:CimetrixIncorporatedMember2021-09-300001120914pdfs:AccruedCompensationAndRelatedBenefitsMemberpdfs:CimetrixIncorporatedMember2020-12-3100011209142021-07-012021-09-3000011209142020-01-012020-09-3000011209142020-07-012020-09-3000011209142021-11-0300011209142021-01-012021-09-30xbrli:sharesiso4217:USDiso4217:USDxbrli:sharespdfs:leasepdfs:itemxbrli:purepdfs:DerivativeInstrument

UNITED STATES SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

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

 

 

For the Quarterly Period ended September 30, 2021

or

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

 

 

 

For the transition period from _______________ to ______________   

Commission File Number 000-31311

PDF SOLUTIONS, INC.

(Exact name of Registrant as Specified in its Charter)

Delaware

25-1701361

(State or Other Jurisdiction of Incorporation or Organization)

(I.R.S. Employer Identification No.)

  

  

2858 De La Cruz Blvd.

  

Santa Clara, California 

95050 

(Address of Principal Executive Offices)

(Zip Code)

(408) 280-7900

(Registrant’s Telephone Number, Including Area Code)

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

Title of each class

Trading Symbol(s)

Name of each exchange on which registered

Common Stock, $0.00015 par value

PDFS

The Nasdaq Stock Market LLC

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 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,  a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

Large accelerated filer ☐

Accelerated filer ☐

Non-accelerated  filer

Smaller reporting company 

 

Emerging growth company 

If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ☐

Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes No

There were 37,345,264 shares of the Registrant’s Common Stock outstanding as of November 3, 2021.

TABLE OF CONTENTS

 

    

Page

PART I   FINANCIAL INFORMATION

Item 1. Financial Statements (Unaudited)

Condensed Consolidated Balance Sheets

3

Condensed Consolidated Statements of Comprehensive Loss

4

Condensed Consolidated Statements of Stockholders’ Equity

5

Condensed Consolidated Statements of Cash Flows

7

Notes to Condensed Consolidated Financial Statements

9

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

28

Item 3. Quantitative and Qualitative Disclosures About Market Risk

40

Item 4. Controls and Procedures

41

PART II  OTHER INFORMATION

Item 1. Legal Proceedings

41

Item 1A. Risk Factors

41

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds

41

Item 3. Defaults Upon Senior Securities

41

Item 4. Mine Safety Disclosures

42

Item 5. Other Information

42

Item 6. Exhibits

43

INDEX TO EXHIBITS

43

SIGNATURES

44

2

PART I — FINANCIAL INFORMATION

Item 1. Financial Statements

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED BALANCE SHEETS

(unaudited)

(in thousands, except par value)

September 30, 

December 31, 

    

2021

    

2020

ASSETS

 

  

 

  

Current assets:

 

  

 

  

Cash and cash equivalents

$

71,238

$

30,315

Short-term investments

 

69,992

 

114,981

Accounts receivable, net of allowance for doubtful accounts of $890 and $963 in 2021 and 2020, respectively

 

33,681

 

34,140

Prepaid expenses and other current assets

 

10,298

 

13,944

Total current assets

 

185,209

 

193,380

Property and equipment, net

 

37,821

 

39,242

Operating lease right-of-use assets, net

 

5,614

 

6,672

Goodwill

 

15,305

 

15,774

Intangible assets, net

 

22,106

 

24,573

Deferred tax assets, net

 

174

 

249

Other non-current assets

 

8,995

 

7,690

Total assets

$

275,224

$

287,580

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

  

 

  

Current liabilities:

 

  

 

  

Accounts payable

$

3,210

$

4,399

Accrued compensation and related benefits

 

8,125

 

8,339

Accrued and other current liabilities

 

5,854

 

6,309

Operating lease liabilities – current portion

 

1,740

 

1,926

Deferred revenues – current portion

 

22,207

 

19,895

Billings in excess of recognized revenues

 

3

 

1,337

Total current liabilities

 

41,139

 

42,205

Long-term income taxes payable

 

2,508

 

2,956

Non-current operating lease liabilities

 

5,501

 

6,516

Other non-current liabilities

 

2,621

 

1,397

Total liabilities

 

51,769

 

53,074

Commitments and contingencies (Note 13)

 

  

 

  

Stockholders’ equity:

 

  

 

  

Preferred stock, $0.00015 par value, 5,000 shares authorized, no shares issued and outstanding

Common stock, $0.00015 par value, 70,000 shares authorized; shares issued 47,248 and 46,400, respectively; shares outstanding 37,274 and 36,850, respectively

 

6

 

6

Additional paid-in-capital

 

418,933

 

407,173

Treasury stock at cost, 9,974 and 9,550 shares, respectively

 

(103,995)

 

(96,215)

Accumulated deficit

 

(90,721)

 

(76,233)

Accumulated other comprehensive loss

 

(768)

 

(225)

Total stockholders’ equity

 

223,455

 

234,506

Total liabilities and stockholders’ equity

$

275,224

$

287,580

See accompanying Notes to Condensed Consolidated Financial Statements (unaudited)

3

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS

(unaudited)

(in thousands, except per share amounts)

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

   

2020

    

2021

  

2020

Revenues:

 

  

 

  

 

  

 

  

Analytics

$

27,194

$

14,346

$

66,165

$

42,766

Integrated Yield Ramp

 

2,361

 

8,766

 

15,009

 

22,912

Total revenues

 

29,555

 

23,112

 

81,174

 

65,678

Costs and Expenses:

 

  

 

  

 

  

 

  

Costs of revenues

 

11,070

 

9,493

 

32,518

 

26,926

Research and development

 

10,657

 

8,328

 

32,562

 

24,672

Selling, general and administrative

 

9,609

 

8,420

 

28,482

 

24,052

Amortization of other acquired intangible assets

 

314

 

174

 

942

 

521

Interest and other expense (income), net

 

(194)

 

361

 

(391)

 

530

Loss before income taxes

 

(1,901)

 

(3,664)

 

(12,939)

 

(11,023)

Income tax expense (benefit)

 

506

 

(930)

 

1,549

 

(4,109)

Net loss

$

(2,407)

$

(2,734)

$

(14,488)

$

(6,914)

Other comprehensive income (loss):

 

  

 

  

 

  

 

  

Foreign currency translation adjustments, net of tax

(226)

540

(540)

581

Change in unrealized losses related to available-for-sale debt securities, net of tax

 

1

 

(3)

 

(3)

 

(3)

Total other comprehensive income (loss)

(225)

537

(543)

578

Comprehensive loss

$

(2,632)

$

(2,197)

$

(15,031)

$

(6,336)

Net loss per share, basic and diluted

$

(0.06)

$

(0.08)

$

(0.39)

$

(0.21)

Weighted average common shares used to calculate net loss per share, basic and diluted

 

37,221

 

35,479

 

37,067

 

33,696

See accompanying Notes to Condensed Consolidated Financial Statements (unaudited)

4

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(unaudited)

(in thousands)

Nine Months Ended September 30, 2021

Accumulated

Additional

Other

Total

Common Stock

Paid-In

Treasury Stock

Accumulated

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Shares

    

Amount

    

Deficit

    

Loss

    

Equity

Balances, December 31, 2020

36,850

$

6

$

407,173

9,550

$

(96,215)

$

(76,233)

$

(225)

$

234,506

Issuance of common stock in connection with employee stock purchase plan

 

100

 

 

921

 

 

 

 

 

921

Issuance of common stock in connection with exercise of options

 

81

 

 

568

 

 

 

 

 

568

Vesting of restricted stock units

 

149

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

73

 

(1,463)

 

 

 

(1,463)

Repurchase of common stock

 

(251)

 

 

 

251

 

(4,523)

 

 

 

(4,523)

Stock-based compensation expense

 

 

 

3,369

 

 

 

 

 

3,369

Comprehensive loss

 

 

 

 

 

 

(7,597)

 

(528)

 

(8,125)

Balances, March 31, 2021

 

36,929

6

412,031

 

9,874

(102,201)

(83,830)

(753)

225,253

Issuance of common stock in connection with exercise of options

 

39

 

 

290

 

 

 

 

 

290

Vesting of restricted stock units

 

118

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

51

 

(887)

 

 

 

(887)

Stock-based compensation expense

 

 

 

2,742

 

 

 

 

 

2,742

Comprehensive income (loss)

 

 

 

 

 

 

(4,484)

 

210

 

(4,274)

Balances, June 30, 2021

 

37,086

6

415,063

 

9,925

(103,088)

(88,314)

(543)

223,124

Issuance of common stock in connection with employee stock purchase plan

 

9

 

 

114

 

 

 

 

 

114

Issuance of common stock in connection with exercise of options

 

40

 

 

393

 

 

 

 

 

393

Vesting of restricted stock units

 

139

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

49

 

(907)

 

 

 

(907)

Stock-based compensation expense

 

 

 

3,363

 

 

 

 

 

3,363

Comprehensive loss

 

 

 

 

 

 

(2,407)

 

(225)

 

(2,632)

Balances, September 30, 2021

 

37,274

$

6

$

418,933

 

9,974

$

(103,995)

$

(90,721)

$

(768)

$

223,455

See accompanying Notes to Condensed Consolidated Financial Statements (unaudited)

5

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(unaudited)

(in thousands)

Nine Months Ended September 30, 2020

Accumulated

Additional

Other

Total

Common Stock

Paid-In

Treasury Stock

Accumulated

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Shares

    

Amount

    

Deficit

    

Loss

    

Equity

Balances, December 31, 2019

32,503

$

5

$

325,197

9,294

$

(91,695)

$

(35,870)

$

(1,480)

$

196,157

Issuance of common stock in connection with employee stock purchase plan

 

89

 

 

810

 

 

 

 

 

810

Issuance of common stock in connection with exercise of options

 

21

 

 

161

 

 

 

 

 

161

Vesting of restricted stock units

 

182

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

93

 

(1,478)

 

 

 

(1,478)

Stock-based compensation expense

 

 

 

3,513

 

 

 

 

 

3,513

Comprehensive loss

 

 

 

 

 

 

(528)

 

(166)

 

(694)

Balances, March 31, 2020

 

32,795

5

329,681

 

9,387

(93,173)

(36,398)

(1,646)

198,469

Issuance of common stock in connection with exercise of options

 

56

 

 

463

 

 

 

 

 

463

Vesting of restricted stock units

 

131

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

52

 

(795)

 

 

 

(795)

Stock-based compensation expense

 

 

 

3,013

 

 

 

 

 

3,013

Comprehensive income (loss)

 

 

 

 

 

 

(3,652)

 

207

 

(3,445)

Balances, June 30, 2020

 

32,982

5

333,157

9,439

(93,968)

(40,050)

(1,439)

197,705

Issuance of common stock, net of issuance of $0.1 million

3,307

65,077

 

 

 

 

65,077

Issuance of common stock in connection with employee stock purchase plan

 

93

 

 

860

 

 

 

 

 

860

Issuance of common stock in connection with exercise of options

101

 

1,210

 

 

 

 

 

1,210

Vesting of restricted stock units

 

143

 

 

 

 

 

 

 

Purchases of treasury stock in connection with tax withholdings on restricted stock grants

 

 

 

 

52

 

(1,024)

 

 

 

(1,024)

Stock-based compensation expense

 

 

 

3,146

 

 

 

 

 

3,146

Comprehensive income (loss)

 

 

 

 

 

 

(2,734)

 

537

 

(2,197)

Balances, September 30, 2020

 

36,626

$

5

$

403,450

 

9,491

$

(94,992)

$

(42,784)

$

(902)

$

264,777

See accompanying Notes to Condensed Consolidated Financial Statements (unaudited)

6

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(unaudited)

(in thousands)

Nine Months Ended September 30, 

    

2021

    

2020

Cash flows from operating activities:

Net loss

$

(14,488)

$

(6,914)

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

 

 

  

Depreciation and amortization

 

4,806

 

5,030

Stock-based compensation expense

 

9,474

 

9,476

Amortization of acquired intangible assets

 

2,467

 

952

Amortization of costs capitalized to obtain revenue contracts

 

499

 

367

Deferred taxes

 

87

 

(5,309)

Others

 

125

 

268

Changes in operating assets and liabilities:

 

 

  

Accounts receivable

 

440

 

313

Prepaid expenses and other current assets

 

1,848

 

235

Operating lease right-of-use assets

 

1,043

 

1,048

Other non-current assets

 

(1,211)

 

1,442

Accounts payable

 

(1,969)

 

(3,900)

Accrued compensation and related benefits

 

(142)

 

227

Accrued and other liabilities

 

(167)

 

1,568

Deferred revenues

 

3,542

 

6,928

Billings in excess of recognized revenues

 

(1,334)

 

313

Operating lease liabilities

 

(1,193)

 

(1,168)

Net cash provided by operating activities

 

3,827

 

10,876

Cash flows from investing activities:

Proceeds from maturities of short-term investments

 

136,000

 

Purchases of short-term investments

(90,985)

(49,983)

Purchases of property and equipment

(2,713)

(4,786)

Prepayment for the purchase of property and equipment

 

 

(579)

Net cash provided by (used in) investing activities

 

42,302

 

(55,348)

Cash flows from financing activities:

 

 

  

Proceeds from exercise of stock options

 

1,251

 

1,834

Proceeds from employee stock purchase plan

 

1,035

 

1,670

Payments for taxes related to net share settlement of equity awards

 

(3,257)

 

(3,297)

Repurchases of common stock

 

(4,523)

 

Proceeds from issuance of common stock, net of issuance costs paid

64,995

Net cash provided by (used in) financing activities

 

(5,494)

 

65,202

Effect of exchange rate changes on cash and cash equivalents

 

(193)

 

51

Net change in cash, cash equivalents, and restricted cash

 

40,442

 

20,781

Cash, cash equivalents, and restricted cash at beginning of period

 

33,815

 

97,605

Cash, cash equivalents, and restricted cash at end of period

$

74,257

$

118,386

Reconciliation of cash, cash equivalents, and restricted cash to the balance sheets:

Cash and cash equivalents

$

71,238

$

118,386

Restricted cash

3,019

Total cash, cash equivalents, and restricted cash

$

74,257

$

118,386

Continued on next page.

7

PDF SOLUTIONS, INC.

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS – CONTINUED

(unaudited)

(in thousands)

Nine Months Ended September 30, 

    

2021

    

2020

Supplemental disclosure of cash flow information:

 

  

 

  

Cash paid during the period for taxes

$

1,543

$

2,188

Cash paid for amounts included in the measurement of operating lease liabilities

$

1,538

$

1,598

Supplemental disclosure of noncash information:

 

 

  

Stock-based compensation capitalized as software development costs

$

$

190

Property and equipment received and accrued in accounts payable and accrued and other liabilities

$

247

$

161

Advances for purchase of fixed assets transferred from prepaid assets to property and equipment

$

963

$

Release of restricted cash reducing goodwill due to the acquisition purchase price adjustment

$

469

$

Operating lease liabilities arising from obtaining right-of-use assets

$

$

151

Issuance costs for common stock included in accounts payable and accrued other liabilities

$

$

82

See accompanying Notes to Condensed Consolidated Financial Statements (unaudited)

8

PDF SOLUTIONS, INC.

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)

1. BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

Basis of Presentation

The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.

The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.

The condensed consolidated balance sheet at December 31, 2020, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these financial statements include revenue recognition, assumptions made in analysis of allowance for doubtful accounts, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income taxes. Actual results could differ from those estimates.

The global COVID-19 pandemic has impacted the operations and purchasing decisions of companies worldwide. As of the date of issuance of the condensed consolidated financial statements, the Company is not aware of any specific event or circumstance relating to COVID-19 that would require updates to the Company’s estimates and judgments or revisions to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the condensed consolidated financial statements as soon as they become known. Actual results could differ from those estimates and any such differences may be material to the financial statements.

Recent Accounting Standards

Accounting Standards Adopted

In December 2019, the Financial Accounting Standards Board (“FASB”) issued Accounting Standard Update (“ASU”) No. 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes, related to simplifying the accounting for income taxes. The guidance eliminates certain exceptions from Accounting Standards Codification (“ASC”) 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The guidance also clarifies and simplifies other aspects of the accounting for income taxes. The guidance became effective for the Company beginning in the first quarter of 2021 on a

9

prospective basis. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.

In January 2020, the FASB issued ASU No. 2020-01, Investments-Equity Securities (Topic 321), Investments-Equity Method and Joint Ventures (Topic 323), and Derivatives and Hedging (Topic 815)-Clarifying the Interactions between Topic 321, Topic 323, and Topic 815. This ASU clarifies the interaction between accounting standards related to equity securities (ASC 321), equity method investments (ASC 323), and certain derivatives (ASC 815). The amendments in this ASU are effective for fiscal years beginning after December 15, 2020. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.

Accounting Standards Not Yet Adopted

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU 2016-13), which requires measurement and recognition of expected credit losses for financial assets held at the reporting date based on internal information, external information, or a combination of both relating to past events, current conditions, and reasonable and supportable forecasts. ASU No. 2016-13 replaces the existing incurred loss impairment model with a forward-looking expected credit loss model, which will result in earlier recognition of credit losses. Subsequent to the issuance of ASU No. 2016-13, the FASB issued ASU No. 2018-19, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, ASU No. 2019-04, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, Topic 815, Derivatives and Hedging, and Topic 825, Financial Instrument, ASU No. 2019-05, Financial Instruments – Credit Losses (Topic 326) Targeted Transition Relief, ASU No. 2016-13, ASU No. 2019-10 Financial Instruments-Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842), and ASU No. 2019-11 Codification Improvements to Topic 326, Financial Instruments-Credit Losses. The subsequent ASUs do not change the core principle of the guidance in ASU No. 2016-13. Instead, these amendments are intended to clarify and improve operability of certain topics included within ASU No. 2016-13.

Additionally, ASU No. 2019-10 defers the effective date for the adoption of the new standard on credit losses for public filers that are considered small reporting companies (“SRC”) as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, which will be fiscal 2023 for the Company if it continues to be classified as an SRC. In February 2020, the FASB issued ASU 2020-02, which provides guidance regarding methodologies, documentation, and internal controls related to expected credit losses. The subsequent amendments will have the same effective date and transition requirements as ASU No. 2016-13. Early adoption is permitted. Topic 326 requires a modified retrospective approach by recording a cumulative-effect adjustment to retained earnings as of the beginning of the period of adoption. While the Company is currently evaluating the impact of Topic 326, the Company does not expect the adoption of this ASU to have a material impact on its condensed consolidated financial statements or the related disclosure.

In August 2020, the FASB issued ASU No. 2020-06, Debt – Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging – Contracts in Entity’s Own Equity (Subtopic 815-20): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, which is intended to simplify the accounting for certain financial instruments with characteristics of liabilities and equity, including convertible instruments and contracts on an entity’s own equity. The guidance allows for either full retrospective adoption or modified retrospective adoption. Additionally, the ASU will require entities to use the “if-converted” method when calculating diluted earnings per share for convertible instruments. The ASU will be effective for annual reporting periods beginning after December 15, 2023 for SRCs and interim periods within those annual periods. Early adoption is permitted. The Company does not anticipate that the adoption of this ASU will have a significant impact on its condensed consolidated financial statements or the related disclosures.

Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB, and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed consolidated financial statements.

2. REVENUE FROM CONTRACTS WITH CUSTOMERS

The Company derives revenue from two sources: Analytics revenue and Integrated Yield Ramp revenue.

10

The Company recognizes revenue in accordance with FASB ASC Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.

The Company determines revenue recognition through the following five steps:

Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, performance obligations are satisfied

The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectability of consideration is probable.

Contracts with multiple performance obligations

The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price.

Analytics Revenue

Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio® and Cimetrix® products), SaaS (which is primarily Exensio products), and DFI™ systems and CV® systems that do not include performance incentives based on customers’ yield achievement.

Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers, if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because we are providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”) attributed to each performance obligation.

Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using SSP attributed to each performance obligation.

Revenue from DFI systems and CV systems that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations,

11

the Company allocates the transaction price of the contract to each performance obligation on a relative basis using SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgement. Please refer to “Significant Judgments” section of this Note for further discussion.

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.

Revenue under these project–based contracts, which are delivered over a specific period of time, typically for a fixed fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgement. Please refer to “Significant Judgments” section of this Note for further discussion.

The Gainshare royalty contained in IYR contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare royalty periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.

Disaggregation of Revenue

The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.

The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue by timing of revenue:

Three Months Ended September 30,

 

Nine Months Ended September 30, 

 

    

2021

    

2020

2021

    

2020

Over time

72

55

%

60

56

%

Point-in-time

 

28

45

%

40

44

%

Total

 

100

%  

100

%

100

%  

100

%

International revenues accounted for approximately 53% and 57% of our total revenues during the three and nine months ended September 30, 2021, respectively, compared to 67% and 60% of our total revenues during the three and nine months ended September 30, 2020, respectively. See Note 11, Customer and Geographic Information.

Significant Judgments

Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.

12

For revenue under project-based contracts for fixed-price implementation services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.

The Company’s contracts with customers often include promises to transfer products, licenses software and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of SSPs for each performance obligation. In instances where SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company is required to record Gainshare royalty revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.

Contract Balances

The Company performs its obligations under a contract with a customer by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.

The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer. The contract assets are generally classified as current and are recorded on a net basis with deferred revenue (i.e. contract liabilities) at the contract level. The total contract assets included in prepaid expenses and other current assets in the Condensed Consolidated Balance Sheets was immaterial as of September 30, 2021 and $3.7 million as of December 31, 2020. The Company did not record any asset impairment charges related to contract assets for the periods presented.

Deferred revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in the other non-current liabilities in the Condensed Consolidated Balance Sheets. At September 30, 2021 and December 31, 2020, the non-current portion of deferred revenues included in non-current liabilities was $2.5 million and $1.2 million, respectively. Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was $7.0 million and $4.7 million during the three months ended September 30, 2021 and 2020, respectively, and $13.8 million and $9.5 million during the nine months ended September 30, 2021 and 2020, respectively.

13

At September 30, 2021, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $180.9 million. Given the applicable contract terms with customers, the majority of this amount is expected to be recognized as revenue over the next two years, with the remainder in the following three years. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which we recognize revenue equal to the amount we have the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.

The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of $0.2 million and $1.2 million during the three months ended September 30, 2021 and 2020, respectively, and an increase of $34,000 and $0.4 million during the nine months ended September 30, 2021 and 2020, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare royalty.

Costs to obtain or fulfill a contract

The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred. Total capitalized direct sales commission costs included in prepaid expenses and other current assets in the accompanying Condensed Consolidated Balance Sheets as of September 30, 2021, and December 31, 2020 were $0.8 million and $0.8 million, respectively. Total capitalized direct sales commission costs included in other non-current assets in the accompanying Condensed Consolidated Balance Sheets as of September 30, 2021, and December 31, 2020 were $1.8 million and $0.9 million, respectively. Amortization of these assets were $0.2 million and $0.1 million during the three months ended September 30, 2021 and 2020, respectively, and $0.5 million and $0.4 million during the nine months ended September 30, 2021 and 2020, respectively. There was no impairment loss in relation to the costs capitalized for the periods presented.

The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a significant financing component during the three and nine months ended September 30, 2021 and 2020.

3. STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS

On July 29, 2020, the Company entered into a long-term strategic partnership with Advantest Corporation through its wholly-owned subsidiary, Advantest America, Inc. (collectively referred to herein as “Advantest”) that included the following agreements.

A Securities Purchase Agreement for the purchase by Advantest of an aggregate of 3,306,924 shares of the Company’s common stock for aggregate gross proceeds of $65.2 million and a related Stockholder Agreement.
An Amendment #1 to that certain Software License and Related Services Agreement, dated as of March 25, 2020, for an exclusive commercial arrangement in which the Company and Advantest will collaborate on, and the Company will initially host, develop and maintain, an Advantest-specific cloud layer on the Exensio platform.
An Amended and Restated Master Development Agreement with Advantest, pursuant to which the Company and Advantest agreed to collaborate on extensions to or combinations of both of their existing technology and new technology to address mutual customers’ needs through one or more development phases subject to certain conditions as set forth therein. Costs and expenses incurred related to this agreement have not been significant for the three and nine months ended September 30, 2021.

14

A Master Commercial Terms and Support Services Agreement for the commercialization and support of integrated products of the Company and Advantest that are the outcome of the above development agreement. No material costs and expenses were incurred related to the Commercial Agreement with Advantest during the three and nine months ended September 30, 2021.

Analytics revenue recognized from Advantest were $2.7 million and $7.9 million during the three and nine months ended September 30, 2021, respectively, and $1.0 million during each of the three and nine months ended September 30, 2020. There was no outstanding accounts receivable from Advantest as of September 30, 2021 and December 31, 2020, and deferred revenue amounted to $9.6 million and nil as of September 30, 2021 and December 31, 2020, respectively. There was no occurrence of any termination events under these agreements as of the issuance of these condensed consolidated financial statements.

The Company carries out transactions with Advantest on arm’s length commercial customary terms. For more information about these agreements with Advantest, see Note 3, Strategic Partnership Agreement with Advantest and Related Party Transactions, of Part II, Item 8. “Financial Statements and Supplementary Data” of the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.

4. BUSINESS COMBINATION

On December 1, 2020 (the “Acquisition Date”), the Company acquired all the stock of Cimetrix Incorporated (“Cimetrix”). Total payment made for this acquisition in 2020 amounted to $28.6 million, net of cash acquired, and was funded from the available cash of the Company. In 2020, the Company held back $3.5 million of the purchase price (the “Holdback Amount”) to satisfy adjustments and claims for indemnity arising out of breaches of certain representations, warranties and covenants, and certain other enumerated items in the merger agreement. During the first quarter of 2021, the Company recorded a measurement period adjustment as described below which reduced the Holdback Amount to $3.0 million. This reduction was released from the restricted cash on the Company’s Condensed Consolidated Balance Sheet. The Holdback Amount, as adjusted, is expected to be paid to the participating equity holders on approximately the twelve-month anniversary of the Acquisition Date. The Holdback Amount is recorded under accrued and other current liabilities account in the Condensed Consolidated Balance Sheets.

The Company is required to maintain cash specifically designated to pay for the Holdback Amount, which the Company has classified as restricted cash. Restricted cash amounted to $3.0 million and $3.5 million as of September 30, 2021 and December 31, 2020, respectively, and is included in the “Prepaid expenses and other current assets” account in the Company’s Condensed Consolidated Balance Sheets.

The Company is still finalizing the allocation of the purchase price to the individual assets acquired. Accordingly, the estimates set forth below are preliminary and are subject to change during the measurement period, which is not to exceed one year from the acquisition date. During the measurement period, the Company records adjustments to the assets acquired and liabilities assumed, with the corresponding offset to goodwill. Upon the conclusion of the measurement period, any subsequent adjustments are recorded to earnings. During the first quarter of 2021, the Company recorded a measurement period adjustment to the estimated fair values initially recorded in 2020, which resulted in a reduction in Holdback Amount of $0.5 million with a corresponding change to goodwill. The measurement period adjustment did not have an impact on the Company’s Condensed Consolidated Statements of Comprehensive Loss during the three and nine months ended September 30, 2021.

15

As of September 30, 2021, the allocation of the purchase price for this acquisition is as follows (in thousands, except amortization period):

Amortization

    

Amount

    

Period (Years)

Assets

 

  

 

  

Fair value of tangible assets (including cash of $5,900)

$

8,403

 

  

Fair value of intangible assets:

 

  

 

  

Developed technology

 

12,541

 

8

In-process R&D

 

3,635

 

N/A

Customer relationships

 

1,967

 

10

Noncompetition agreements

 

848

 

3

Tradenames and trademarks

 

808

 

10

Goodwill

 

13,012

 

N/A

Total assets acquired

$

41,214

 

  

Liabilities

 

  

 

  

Accounts payable and accrued expenses

$

1,437

 

  

Deferred revenue

 

391

 

  

Operating lease liabilities

 

132

 

  

Deferred tax liabilities

 

1,743

 

  

Total liabilities assumed

$

3,703

 

  

Total purchase price allocation

$

37,511

 

  

Pursuant to the merger agreement, the Company will also pay approximately $1.4 million to certain employees, subject to their continued employment with Cimetrix or the Company, at various scheduled payout dates through the second quarter of 2024. This amount will be recognized as compensation expense over the period as services are rendered. As of September 30, 2021, the estimated remaining total cash payout is approximately $0.9 million. The accrued compensation balance included under accrued compensation and related benefits account in the Company’s Condensed Consolidated Balance Sheet was $0.4 million and $0.3 million as of September 30, 2021 and December 31, 2020, respectively.

Transaction expenses related to the acquisition of Cimetrix amounted to $1.6 million in 2020. These costs consist of professional fees and administrative costs and were expensed as incurred in the Company’s Condensed Consolidated Statement of Comprehensive Loss. No transaction costs were incurred during the three months ended September 30, 2021. Transaction costs were immaterial during the nine months ended September 30, 2021.

The financial results of the acquisition of Cimetrix were considered immaterial for purposes of unaudited pro forma financial disclosures.

5. BALANCE SHEET COMPONENTS

Accounts receivable

Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled $8.6 million and $7.2 million as of September 30, 2021, and December 31, 2020, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period is recorded in other non-current assets and totaled $1.6 million and $2.0 million as of September 30, 2021, and December 31, 2020, respectively.

16

Property and equipment

Property and equipment, net consist of the following (in thousands):

September 30, 

December 31, 

    

2021

    

2020

Computer equipment

$

11,715

$

11,585

Software

 

5,433

 

5,451

Furniture, fixtures and equipment

 

2,505

 

2,507

Leasehold improvements

 

6,270

 

6,255

Laboratory and other equipment

 

3,650

 

3,451

Test equipment

 

24,865

 

26,010

Construction-in-progress

 

23,432

 

20,278

 

77,870

 

75,537

Less: accumulated depreciation and amortization

 

(40,049)

 

(36,295)

Total

$

37,821

$

39,242

Test equipment includes systems assets at customer sites that are contributing to DFI™ systems revenues. The construction-in-progress balance related to construction of DFI™ systems assets totaled $21.5 million and $18.9 million as of September 30, 2021, and December 31, 2020, respectively. Depreciation and amortization expense was $1.5 million and $1.7 million during the three months ended September 30, 2021 and 2020, respectively, and $4.8 million and $5.0 million during the nine months ended September 30, 2021 and 2020, respectively.

Goodwill and Intangible Assets, Net

The change in the carrying amount of goodwill during the nine months ended September 30, 2021, was as follows (in thousands):

Balance at beginning of period, January 1, 2021

$

15,774

Measurement period acquisition adjustment (1)

 

469

Balance at end of period, September 30, 2021

$

15,305

(1)Goodwill adjustment was recorded within the measurement period with a corresponding reduction in the Holdback Amount. See Note 4, Business Combination.

There were no impairments to goodwill during the nine months ended September 30, 2021.

Intangible assets, net, consisted of the following (in thousands):

September 30, 2021

December 31, 2020

Amortization

Gross

Net

Gross

Net

Period

Carrying

Accumulated

Carrying

Carrying

Accumulated

Carrying

(Years)

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Acquired identifiable intangibles:

Customer relationships

 

1-10

$

9,407

$

(5,880)

$

3,527

$

9,407

$

(5,398)

$

4,009

Developed technology

 

4-9

 

30,000

 

(16,652)

 

13,348

 

30,000

 

(14,987)

 

15,013

Tradename and trademarks

 

2-10

 

1,598

 

(785)

 

813

 

1,598

 

(706)

 

892

Patent

 

7-10

 

1,800

 

(1,630)

 

170

 

1,800

 

(1,600)

 

200

Noncompetition agreements

 

3

 

848

 

(235)

 

613

 

848

 

(24)

 

824

In-process R&D

 

*

 

3,635

 

 

3,635

 

3,635

 

 

3,635

Total

$

47,288

$

(25,182)

$

22,106

$

47,288

$

(22,715)

$

24,573

* Non-amortizing intangible asset

17

The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):

Year Ending December 31, 

    

Amount

2021 (remaining three months)

$

754

2022

 

3,013

2023

 

2,990

2024

 

2,592

2025

 

2,427

2026 and thereafter

 

6,695

Total future amortization expense

$

18,471

Intangible assets are amortized over their useful lives unless these lives are determined to be indefinite. The weighted average amortization period for acquired identifiable intangible assets was 5.7 years as of September 30, 2021. Intangible assets amortization expense included under “Cost of revenues” and “Amortization of other intangible assets” account in the Condensed Consolidated Statements of Comprehensive Loss was $0.8 million and $0.3 million during the three months ended September 30, 2021 and 2020, respectively, and $2.5 million and $1.0 million during the nine months ended September 30, 2021 and 2020, respectively. Intangible assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. During the three and nine months ended September 30, 2021, there were no indicators of impairment related to the Company’s intangible assets.

6. LEASES

The Company leases administrative and sales offices and certain equipment under non-cancellable operating leases, which contain various renewal options and, in some cases, require payment of common area costs, taxes and utilities. These operating leases expire at various dates through 2028. The Company had no leases that were classified as a financing lease as of September 30, 2021, and December 31, 2020.

Lease expense was comprised of the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Operating lease expense

$

448

$

455

$

1,417

$

1,362

Short-term lease and variable lease expense (1)

 

196

 

127

 

602

 

401

Total lease expense

$

644

$

582

$

2,019

$

1,763

(1)Leases with an initial term of 12 months or less are not recorded on the condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.

Supplemental information related to operating leases was as follows:

September 30, 

December 31, 

 

    

2021

    

2020

 

Weighted average remaining lease term under operating ROU leases (in years)

6.0

6.4

Weighted average discount rate for operating lease liabilities

 

5.25

%  

5.24

%

18

Maturities of operating lease liabilities as of September 30, 2021, were as follows (in thousands):

Year Ending December 31, 

    

Amount(1)

2021 (remaining three months)

$

477

2022

 

1,707

2023

 

1,389

2024

 

1,073

2025

 

1,088

2026 and thereafter

2,703

Total future minimum lease payments

$

8,437

Less: Interest(2)

 

(1,196)

Present value of future minimum lease payments under operating lease liabilities (3)

$

7,241

(1)As of September 30, 2021, the total operating lease liability includes approximately $1.1 million related to an option to extend a lease term that is reasonably certain to be exercised.
(2)Calculated using incremental borrowing interest rate for each lease.
(3)Includes the current portion of operating lease liabilities of $1.7 million as of September 30, 2021.

7. STOCKHOLDERS’ EQUITY

Issuance of Common Stock

On July 30, 2020, the Company issued 3,306,924 shares of common stock, at a purchase price of $19.7085 per share, for aggregate gross proceeds of $65.2 million pursuant to a Securities Purchase Agreement with Advantest dated July 29, 2020. Issuance costs related to this private placement aggregated $0.1 million.

Stock Repurchase Program

On May 28, 2020, the Company’s 2018 stock repurchase program (the “2018 Program”) that was originally adopted on May 29, 2018, expired. Through May 28, 2020, approximately 786,000 shares had been repurchased at an average price of $12.43 per share, for a total price of $9.8 million under the 2018 Program.

On June 4, 2020, the Company’s Board of Directors adopted a new stock repurchase program (the “2020 Program”) to repurchase up to $25.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, over the next two years. During the nine months ended September 30, 2021, 251,212 shares were repurchased under the 2020 Program at an average price of $18.01 per share for an aggregate total price of $4.5 million.

8. EMPLOYEE BENEFIT PLANS

On September 30, 2021, the Company had the following stock-based compensation plans:

Employee Stock Purchase Plan

In July 2001, the Company’s stockholders initially approved the 2001 Employee Stock Purchase Plan, which was subsequently amended and restated in 2010 (as amended, the “2010 Purchase Plan”) to extend the term of the plan through May 17, 2020. Under the 2010 Purchase Plan, eligible employees could contribute up to 10% of their compensation, as defined in the 2010 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2010 Purchase Plan provided for twenty-four-month offering periods with four six-month purchase periods in each offering period. The 2010 Purchase Plan expired on May 17, 2020. Existing offering periods will continue until they expire in accordance with their terms, and

19

participation in such offering periods will continue through the applicable expiration date. The final offering period under the 2010 Purchase Plan expires on January 31, 2022. On June 15, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan, which has a ten-year term (the “2021 Purchase Plan”). The terms of 2021 Purchase Plan are substantially similar to those of the 2010 Purchase Plan. A twenty-four-month offering period under the 2021 Purchase Plan commenced on August 1, 2021.

The Company estimated the fair value of purchase rights granted under the 2010 and the 2021 Purchase Plans during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:

2021 Purchase Plan

2010 Purchase Plan

Nine Months Ended
September 30,

 

Nine Months Ended
September 30,

 

2021

2021

    

2020

Expected life (in years)

1.25

 

1.25

 

1.25

Volatility

48.00

%  

34.25

%  

34.25

%

Risk-free interest rate

0.11

%  

1.43

%  

1.43

%

Expected dividend

 

 

Weighted average fair value of purchase rights granted during the period

$

6.71

$

4.83

$

4.83

During the three months ended September 30, 2021 and 2020, a total of approximately 9,000 and 93,000 shares were issued under the 2010 Purchase Plan. During the nine months ended September 30, 2021 and 2020, a total of approximately 109,000 and 183,000 shares, respectively, were issued under the 2010 Purchase Plan, at a weighted-average purchase price of $9.53 per share and $9.12 per share, respectively. As of September 30, 2021, unrecognized compensation cost related to the 2021 Purchase Plan was $2.0 million and there was a negligible amount of unrecognized compensation cost related to the 2010 Purchase Plan. These costs are expected to be recognized over a weighted average period of 1.75 years.

Stock Incentive Plans

On November 16, 2011, the Company’s stockholders initially approved the 2011 Stock Incentive Plan, which has been amended and restated and approved by the Company’s stockholders a number of times since then (as amended, the “2011 Plan”). Under the 2011 Plan, the Company may award stock options, stock appreciation rights (“SARs”), stock grants or stock units covering shares of the Company’s common stock to employees, directors, non-employee directors and contractors. The aggregate number of shares reserved for awards under this plan is 11,500,000 shares, plus up to 3,500,000 shares previously issued under the 2001 Stock Plan adopted by the Company in 2001, which expired in 2011 (the “2001 Plan”) that are either (i) forfeited or (ii) repurchased by the Company or are shares subject to awards previously issued under the 2001 Plan that expire or that terminate without having been exercised or settled in full on or after November 16, 2011. In case of awards other than options or SARs, the aggregate number of shares reserved under the 2011 Plan will be decreased at a rate of 1.33 shares issued pursuant to such awards. The exercise price for stock options must generally be at prices no less than the fair market value at the date of grant. Stock options generally expire ten years from the date of grant and become vested and exercisable over a four-year period.

Stock options granted under the 2001 Plan generally expire ten years from the date of grant and become vested and exercisable over a four-year period. Although no new awards may be granted under the 2001 Plan, awards made under the 2001 Plan that are currently outstanding remain subject to the terms of each such plan.

As of September 30, 2021, 12.1 million shares of common stock were reserved to cover stock-based awards under the 2011 Plan, of which 3.4 million shares were available for future grant. The number of shares reserved and available under the 2011 Plan includes 0.5 million shares that were subject to awards previously made under the 2001 Plan and were forfeited, expired or repurchased by the Company after the adoption of the 2011 Plan through September 30, 2021. As of September 30, 2021, there were no outstanding awards that had been granted outside of the 2011 or 2001 Plans (collectively, the “Stock Plans”).

20

The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options granted during the three and nine months ended September 30, 2021. The fair value of stock options granted during the three and nine months ended September 30, 2020, was estimated as of the grant-date using the following assumptions:

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Expected life (in years)

4.45

4.45

Volatility

 

%  

43.92

%  

%  

40.90

%  

Risk-free interest rate

 

%  

0.23

%  

%  

0.60

%  

Expected dividend

 

 

 

 

 

Weighted average fair value per share of options granted during the period

$

$

6.92

$

$

5.75

Stock-Based Compensation

Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years. Stock-based compensation expense before taxes related to the Company’s stock plans and employee stock purchase plan was allocated as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Costs of revenues

$

670

$

790

$

1,860

$

2,582

Research and development

 

1,299

 

1,148

 

4,013

 

3,613

Selling, general and administrative

 

1,394

 

1,192

 

3,601

 

3,281

Stock-based compensation expenses (1)

$

3,363

$

3,130

$

9,474

$

9,476

(1)The stock-based compensation expense during the three and nine months ended September 30, 2020, includes immaterial expense or credit adjustments related to cash-settled SARs granted to certain employees. The Company accounted for these awards as liability awards and the amount was included in accrued compensation and related benefits. All remaining outstanding SARs were fully exercised in the third quarter of 2020.

Stock-based compensation expense that was recorded as capitalized software development costs under property and equipment, net, was nil during the three and nine months ended September 30, 2021, and nil and $0.2 million during the three and nine months ended September 30, 2020, respectively.

21

Additional information with respect to options under the Stock Plans during the nine months ended September 30, 2021, is as follows:

Weighted

Weighted

Average

Average

Remaining

Aggregate

Number of

Exercise

Contractual

Intrinsic

Options (in

Price

Term

Value (in

    

thousands)

    

per Share

    

(Years)

    

thousands)

Outstanding, January 1, 2021

 

456

$

10.95

 

  

 

  

Granted

 

 

  

 

  

Exercised

 

(160)

7.80

 

  

 

  

Canceled

 

(3)

13.52

 

  

 

  

Expired

 

(4)

6.90

 

  

 

  

Outstanding, September 30, 2021

 

289

$

12.72

 

3.30

$

2,983

Vested and expected to vest, September 30, 2021

 

286

$

12.69

 

3.25

$

2,956

Exercisable, September 30, 2021

 

240

$

12.27

 

2.43

$

2,590

The aggregate intrinsic value in the table above represents the total intrinsic value based on the Company’s closing stock price of $23.04 per share as of September 30, 2021. The total intrinsic value of options exercised was $1.9 million during the nine months ended September 30, 2021.

As of September 30, 2021, there was $0.2 million of total unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted average period of 2.0 years. The total fair value of shares vested was $0.1 million during the nine months ended September 30, 2021.

Non-vested restricted stock unit activity during the nine months ended September 30, 2021, was as follows:

Weighted

Average Grant

Shares 

Date Fair Value

    

(in thousands)

    

Per Share

Non-vested, January 1, 2021

 

1,747

$

16.33

Granted

 

894

$

18.42

Vested

 

(579)

$

16.08

Forfeited

 

(81)

$

16.85

Non-vested, September 30, 2021

 

1,981

$

17.33

As of September 30, 2021, there was $27.1 million of total unrecognized compensation cost related to non-vested restricted stock units. That cost is expected to be recognized over a weighted average period of 2.7 years. Restricted stock units do not have rights to dividends prior to vesting.

9. INCOME TAXES

Income tax expense increased $5.7 million for the nine months ended September 30, 2021, to a $1.5 million income tax expense as compared to an income tax benefit of $4.1 million for the nine months ended September 30, 2020. The Company’s effective tax rate (expense) benefit was (12%) and 37% for the nine months ended September 30, 2021 and 2020, respectively. The Company’s effective tax rate increased in the nine months ended September 30, 2021, as compared to the same period in 2020, primarily due to a full valuation allowance against U.S. net deferred tax assets in the fourth quarter of 2020 as well as a one-time benefit in the first quarter of 2020 pursuant to the provisions of the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) passed on March 27, 2020.

22

The Company’s total amount of unrecognized tax benefits, excluding interest and penalties, as of September 30, 2021, was $14.7 million, of which $1.9 million, if recognized, would affect the Company’s effective tax rate. The Company’s total amount of unrecognized tax benefits, excluding interest and penalties, as of December 31, 2020, was $14.3 million, of which $2.2 million, if recognized, would affect the Company’s effective tax rate. As of September 30, 2021, the Company has recorded unrecognized tax benefits of $2.5 million, including interest and penalties of $0.7 million, as long-term taxes payable in its Condensed Consolidated Balance Sheet. The remaining $12.8 million has been recorded net of the Company’s DTAs, which is subject to a full valuation allowance.

The valuation allowance was approximately $41.9 million as of September 30, 2021, and December 31, 2020, which was related to U.S. net federal and state DTAs. The net deferred tax assets balance as of September 30, 2021, and December 31, 2020, was $0.2 million and $0.2 million, respectively.

The Company conducts business globally and, as a result, files numerous consolidated and separate income tax returns in the U.S. federal, various state and foreign jurisdictions. For U.S. federal and California income tax purposes, the statute of limitations currently remains open for the tax years ending 2017 to present and 2016 to present, respectively. In addition, due to NOL carryback claims, the tax years 2013 through 2015 may be subject to federal examination and all of the net operating loss and research and development credit carryforwards that may be utilized in future years may be subject to federal and state examination. The Company is not subject to income tax examinations in any other of its major foreign subsidiaries’ jurisdictions.

On March 11, 2021, the American Rescue Plan Act of 2021 (“American Rescue Plan”) was signed into law to provide additional relief in connection with the ongoing COVID-19 pandemic. The American Rescue Plan includes, among other things, provisions relating to Paycheck Protection Program (PPP) loan expansion, defined pension contributions, excessive employee remuneration, and the repeal of the election to allocate interest expense on a worldwide basis. Under ASC 740 the effects of new legislation are recognized upon enactment. Accordingly, the American Rescue Plan became effective beginning in the quarter ended March 31, 2021. Such provisions did not have a material impact on the Company’s condensed consolidated financial statements.

10. NET LOSS PER SHARE

Basic net loss per share is computed by dividing net loss by weighted average number of common shares outstanding for the period (excluding outstanding stock options and shares subject to repurchase). Diluted net loss per share is computed using the weighted-average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be anti-dilutive. The following is a reconciliation of the numerators and denominators used in computing basic and diluted net loss per share (in thousands except per share amount):

Three Months Ended September 30, 

Nine Months Ended December 31, 

    

2021

    

2020

    

2021

    

2020

Numerator:

 

  

 

  

 

  

 

  

Net loss

$

(2,407)

$

(2,734)

$

(14,488)

$

(6,914)

Denominator:

 

  

 

  

 

  

 

  

Basic weighted-average shares outstanding

 

37,221

 

35,479

 

37,067

 

33,696

Effect of dilutive options and restricted stock units

 

 

 

 

Diluted weighted-average shares outstanding

 

37,221

 

35,479

 

37,067

 

33,696

Net loss per share, basic and diluted

$

(0.06)

$

(0.08)

$

(0.39)

$

(0.21)

23

For the three and nine months ended September 30, 2021 and 2020, because the Company was in a loss position, basic net loss per share is the same as diluted net loss per share as the inclusion of the potential common shares would have been anti-dilutive.

The following table sets forth potential shares of common stock that were not included in the diluted net loss per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Outstanding options

 

128

 

310

 

182

 

362

Non-vested restricted stock units

 

915

 

1,084

 

997

 

820

Employee Stock Purchase Plan

 

30

 

190

 

14

 

146

Total

 

1,073

 

1,584

 

1,193

 

1,328

11. CUSTOMER AND GEOGRAPHIC INFORMATION

Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.

The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and reporting segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.

The Company had revenues from individual customers in excess of 10% of total revenues as follows:

Three Months Ended September 30, 

 

Nine Months Ended September 30, 

 

Customer

    

2021

    

2020

    

2021

    

2020

 

A

*

%  

18

%

*

%  

23

%

B

*

%  

14

%

*

%  

*

%

D

25

%  

*

%

12

%  

*

%

E

*

%  

*

%

10

%  

*

%

* represents less than 10%

The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:

September 30, 

December 31, 

 

Customer

    

2021

    

2020

 

A

 

*

%  

16

%

B

 

13

%  

*

%

C

10

%  

11

%

D

 

25

%  

*

%

* represents less than 10%

24

Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):

Three Months Ended September 30, 

 

2021

2020

 

Percentage

Percentage

 

    

Revenues

    

of Revenues

    

Revenues

    

of Revenues

 

United States

$

13,983

 

47

%  

$

7,710

 

33

%

China

 

4,038

 

14

 

6,747

 

29

Rest of the world

 

11,534

 

39

 

8,655

 

38

Total revenue

$

29,555

 

100

%  

$

23,112

 

100

%

Nine Months Ended September 30, 

 

2021

2020

 

Percentage

Percentage

 

    

Revenues

    

of Revenues

    

Revenues

    

of Revenues

 

United States

$

34,634

 

43

%  

$

26,242

 

40

%

China

 

10,065

 

12

 

10,200

 

16

Japan

8,543

10

3,414

5

Taiwan

5,411

7

8,038

12

Rest of the world

 

22,521

 

28

 

17,784

 

27

Total revenue

$

81,174

 

100

%  

$

65,678

 

100

%

Long-lived assets, net by geographic area are as follows (in thousands):

September 30, 

December 31, 

    

2021

    

2020

United States

$

41,811

$

43,663

Rest of the world

 

1,624

 

2,251

Total long-lived assets, net

$

43,435

$

45,914

12. FAIR VALUE MEASUREMENTS

Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.

Level 1 -

Inputs are quoted prices in active markets for identical assets or liabilities.

 

 

Level 2 -

Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.

 

 

Level 3 -

Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.

25

The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2021, and December 31, 2020, and the basis for those measurements (in thousands):

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Identical

Observable

Significant

September 30, 

Assets

Inputs

Unobservable

Assets

    

2021

    

(Level 1)

    

(Level 2)

    

Inputs (Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

55,039

$

55,039

$

$

Short-term investments (available-for-sale debt securities)

 

  

 

  

 

  

 

  

U.S. Treasury bills

 

69,992

 

69,992

 

 

Total

$

125,031

$

125,031

$

$

Quoted

Prices in

Active

Significant

Markets for

Other

Significant

Identical

Observable

Unobservable

December 31, 

Assets

Inputs

Inputs 

Assets

    

2020

    

(Level 1)

    

(Level 2)

    

(Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

18,012

$

18,012

$

$

Short-term investments (available-for-sale debt securities)

U.S. Treasury bills

114,981

114,981

Total

$

132,993

$

132,993

$

$

As of September 30, 2021, and December 31, 2020, the amortized cost of the Company’s cash equivalents and short-term investments approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. There were no material realized or unrealized gains or losses, either individually or in the aggregate.

From time to time, the Company enters into foreign currency forward contracts to reduce the exposure to foreign currency exchange rate fluctuations on certain foreign currency denominated monetary assets and liabilities, primarily on third-party accounts payables and intercompany balances. The primary objective of the Company’s hedging program is to reduce volatility of earnings related to foreign currency exchange rate fluctuations. The counterparty to these foreign currency forward contracts is a financial institution that the Company believes is creditworthy, and therefore, the Company believes the credit risk of counterparty nonperformance is not significant. These foreign currency forward contracts are not designated for hedge accounting treatment.

Therefore, the change in fair value of these contracts is recorded into earnings as a component of other expense (income), net, and offsets the change in fair value of the foreign currency denominated assets and liabilities, which is also recorded in other expense (income), net in the Company’s Condensed Consolidated Statements of Comprehensive Loss.There was no realized gain or loss from foreign currency forward contracts during the three and nine months ended September 30, 2021, or the three months ended September 30, 2020. The Company recognized a net realized loss of $0.2 million from foreign currency forward contracts during the nine months ended September 30, 2020.

As applicable, the Company carries these derivatives financial instruments on its Condensed Consolidated Balance Sheets at their fair values. The Company’s foreign currency forward contracts are classified as Level 2 because they are not actively

26

traded and the valuation inputs are based on quoted prices and market observable data of similar instruments. As of September 30, 2021, and December 31, 2020, the Company had no outstanding forward contracts.

13. COMMITMENTS AND CONTINGENCIES

Strategic Partnership with Advantest — See Note 4, Business Combination, for the discussion about the Company’s commitments under the strategic partnership with Advantest.

Operating Leases — Refer to Note 6, Leases, for the discussion about the Company’s lease commitments.

Indemnifications — The Company generally provides a warranty to its customers that its software will perform substantially in accordance with documented specifications typically for a period of 90 days following initial delivery of its products. The Company also indemnifies certain customers from third-party claims of intellectual property infringement relating to the use of its products. Historically, costs related to these guarantees have not been significant. The Company is unable to estimate the maximum potential impact of these guarantees on its future results of operations.

Purchase Obligations — The Company has purchase obligations with certain suppliers for the purchase of goods and services entered in the ordinary course of business. As of September 30, 2021, total outstanding purchase obligations were $11.3 million, the majority of which is due within the next 24 months.

Indemnification of Officers and Directors — As permitted by the Delaware general corporation law, the Company has included a provision in its certificate of incorporation to eliminate the personal liability of its officers and directors for monetary damages for breach or alleged breach of their fiduciary duties as officers or directors, other than in cases of fraud or other willful misconduct.

In addition, the Bylaws of the Company provide that the Company is required to indemnify its officers and directors even when indemnification would otherwise be discretionary, and the Company is required to advance expenses to its officers and directors as incurred in connection with proceedings against them for which they may be indemnified. The Company has entered into indemnification agreements with its officers and directors containing provisions that are in some respects broader than the specific indemnification provisions contained in the Delaware general corporation law. The indemnification agreements require the Company to indemnify its officers and directors against liabilities that may arise by reason of their status or service as officers and directors other than for liabilities arising from willful misconduct of a culpable nature, to advance their expenses incurred as a result of any proceeding against them as to which they could be indemnified, and to obtain directors’ and officers’ insurance if available on reasonable terms. The Company has obtained directors’ and officers’ liability insurance in amounts comparable to other companies of the Company’s size and in the Company’s industry. Since a maximum obligation of the Company is not explicitly stated in the Company’s Bylaws or in its indemnification agreements and will depend on the facts and circumstances that arise out of any future claims, the overall maximum amount of the obligations cannot be reasonably estimated.

Legal Proceedings — From time to time, the Company is subject to various claims and legal proceedings that arise in the ordinary course of business. The Company accrues for losses related to litigation when a potential loss is probable and the loss can be reasonably estimated in accordance with FASB requirements. As of September 30, 2021, the Company was not a party to any material legal proceedings where a loss was probable, and thus no amount was accrued.

On May 6, 2020, the Company initiated an arbitration proceeding with the Hong Kong International Arbitration Center against SMIC New Technology Research & Development (Shanghai) Corporation (“SMIC”) due to SMIC’s failure to pay fees due to PDF under a series of contracts. The Company seeks to recover the unpaid fees, a declaration requiring SMIC to pay fees under the contracts in the future, and costs associated with bringing the arbitration proceeding. The arbitration is on-going.

27

Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations

Forward-Looking Statements

The following discussion of our financial condition and results of operations contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933 and Section 21E of the Securities Exchange Act of 1934. All statements other than statements of historical fact may be forward-looking statements. In some cases, you can identify forward-looking statements by terminology such as “may,” “could,” “should,” “expect,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “potential”, “target” or “continue,” the negative effect of terms like these or other similar expressions. Any statement concerning future financial performance (including future revenues, earnings or growth rates), ongoing business strategies, prospects, or the time required of our executive management for, and expenses related to, as well as the success of the our strategic growth opportunities and partnerships,  including our partnership with Advantest Corporation, possible actions taken by us or our subsidiaries, and the continuing impact of the COVID-19 pandemic on our business, which may be provided by us are also forward-looking statements. These forward-looking statements are only predictions. Forward-looking statements are based on current expectations and projections about future events and are inherently subject to a variety of risks and uncertainties, many of which are beyond our control, which could cause actual results to differ materially from those anticipated or projected. All forward-looking statements included in this document are based on information available to us on the date of filing and we further caution investors that our business and financial performance are subject to substantial risks and uncertainties. We assume no obligation to update any such forward-looking statements. In evaluating these statements, you should specifically consider various factors, including the risk factors set forth in Item 1. “Business” and Item 7. “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in our Annual Report on Form 10-K for the year ended December 31, 2020, filed with the Securities and Exchange Commission on March 11, 2021. All references to “we”, “us”, “our”, “PDF”, “PDF Solutions” or “the Company” refer to PDF Solutions, Inc.

Cimetrix, CV, DFI, Exensio, PDF Solutions, the PDF Solutions logo are trademarks or registered trademarks of PDF Solutions, Inc. or its subsidiaries.

Overview

We provide comprehensive data solutions designed to empower organizations across the semiconductor ecosystem to improve the yield and quality of their products and operational efficiency for increased profitability. We derive revenues from two sources: Analytics and Integrated Yield Ramp. Our offerings include proprietary software, physical intellectual property (“IP”) for Integrated Circuits (“IC”) designs, electrical measurement hardware tools, and professional services. We primarily monetize our offerings through license fees, contract revenue for professional services, and increasingly recently, time-based fees for software as a service (“SaaS”). In some cases, especially on our historical integrated yield ramp (“IYR”) engagements, we also receive a value-based royalty that we call Gainshare. Our products, services, and solutions have been sold to integrated device manufacturers (“IDMs”), fabless semiconductor companies, foundries, equipment manufacturers, electronics manufacturing suppliers (“EMS”), original device manufacturers (“ODMs”), out-sourced semiconductor assembly and test (“OSATs”), and system houses.

Industry Trends

The COVID-19 pandemic has significantly affected how we and our customers operate our businesses. For example, most U.S. states and countries worldwide imposed in 2020, and may continue to impose from time-to-time for the foreseeable future, restrictions on the physical movement of people to limit the spread of COVID-19, including travel restrictions and stay-at-home orders. As a result, during portions of 2020, many of our offices were temporarily shut down and our local employees were restricted from traveling to customer sites or visiting our other offices. Several other impacted locations were temporarily closed partially or fully in 2020, with minimal staffing only for essential activities including, for example, supporting essential businesses with our U.S. clean room facility. By the third quarter of 2020, our offices in Canada, France, Korea, and Japan had generally reopened with some restrictions returning temporarily at the end of 2020. We are closely monitoring the COVID-19 situation and are currently planning to reopen our corporate headquarters in the United States in the fourth quarter of 2021 and other offices according to local restrictions, in each case, with a focus on our employees’ safety. In addition, our personnel worldwide continue to be subject to various country-to-country travel restrictions, which limits the ability of some employees to travel to other offices or customer sites. We believe the lack of an ability to meet in

28

person during most of 2020 and the first half of 2021 made it harder for us to sell complex or new technologies to some customers during these periods. Once we can again begin to meet with these customers in person, we believe we may improve traction with them. To date, we have been able to provide uninterrupted access to our products and services due to our globally distributed workforce, many of whom were working remotely prior to the pandemic, and our pre-existing infrastructure, which supports secure access to our internal systems. The total duration and full extent of the impact from the COVID-19 pandemic depends on future developments that cannot be accurately predicted at this time, such as the ultimate severity and transmission rate of the virus and variants, the extent and effectiveness of containment actions and vaccinations, and the impact of these and other factors on our employees, customers, partners, and suppliers. To date, one effect of the COVID-19 pandemic is a global shortage in semiconductors due primarily to supply chain disruptions. Many companies have announced shortages in production, e.g., the automotive industry of semiconductors used in their products. Although this shortage has not materially affected our business, this trend may affect our future business opportunities, particularly future Gainshare and Cimetrix run-time licenses, if our customers’ production volumes decrease.

Certain other trends may affect our Analytics revenue specifically. In particular, the confluence of Industry 4.0 (i.e. the fourth industrial revolution, or the automation and data exchange in manufacturing technologies and processes) and cloud computing (i.e. the on-demand availability of computing resources and data storage without direct active management by the user) is driving increased innovation in semiconductor and electronics manufacturing and analytics, as well as in the organization of IT networks and computing at semiconductor and electronics companies across the ecosystem. First, the ubiquity of wireless connectivity and sensor technology enables any manufacturing company to augment its factories and visualize its entire production line. In parallel, the cost per terabyte of data storage has continually decreased year to year. The combination of these two trends means that more data is collected and stored than ever before. Further, semiconductor companies are striving to analyze these very large data sets in real-time to make rapid decisions that measurably improve manufacturing efficiency and quality. In parallel, the traditional practice of on-site data storage, even for highly sensitive data, is changing. The ability to cost-effectively and securely store, analyze, and retrieve massive quantities of data from the cloud versus on-premise enables data to be utilized across a much broader population of users, frequently resulting in greater demands on analytics programs. The combination of these latter two trends means that cloud-based, analytic programs that effectively manage identity management, physical security, and data protection are increasingly in demand for insights and efficiencies across the organizations of these companies. We believe that all these trends will continue for the next few years, and the challenges involved in adopting Industry 4.0 and secure cloud computing will create opportunities for our combination of advanced analytics capabilities, proven and established supporting infrastructure, and professional services to configure our products to meet customers’ specialized needs.

Other business trends may continue to affect our Integrated Yield Ramp revenue specifically. The logic foundry market at the leading-edge nodes, such as 10nm and 7nm, underwent significant change over the past few years. The leading foundry continues to dominate market share as other foundries may have started later than originally forecast in some cases. This trend has and will likely continue to negatively impact our Integrated Yield Ramp business on these nodes. We expect most logic foundries to invest in derivatives of older process nodes, such as 28nm and 14nm, to extract additional value as many of their customers will not move to advanced nodes due to either technological barriers or restrictive economics. Foundries that participate at leading edge nodes are expected to continue to invest in new technologies such as memory, packaging, and multi-patterned and EUV lithography, as well as new innovations in process control and variability management. We expect China’s investment in semiconductors to continue. In order for these trends to provide opportunities for us to increase our business leveraging electrical characterization, Chinese semiconductors manufacturers will need to increase their production volumes on advanced technology nodes and continue to engage foreign suppliers, subject to compliance with changing U.S. export restrictions. As a result of these market developments, we have chosen to focus our resources and investments in products, services, and solutions for analytics.

There are other business trends that may affect our business opportunities generally. For instance, the demand for consumer electronics, communications devices, and high-performance computing continues to drive technological innovation in the semiconductor industry as the need for products with greater performance, lower power consumption, reduced costs, and smaller size continues to grow with each new product generation. In addition, advances in computing systems and mobile devices continue to fuel demand for higher capacity memory chips. To meet these demands, IC manufacturers and designers are constantly challenged to improve the overall performance of their ICs by designing and manufacturing ICs with more embedded applications to create greater functionality while lowering power and cost per transistor. As this trend continues, companies will continually be challenged to improve process capabilities to optimally produce ICs with minimal random and

29

systematic yield loss, which is driven by the lack of compatibility between the design and its respective manufacturing process. We believe that these difficulties will continue to create a need for our products and services that address yield loss across the IC product life cycle.

Early decisions by the Biden U.S. Presidential Administration confirm continuity of a bipartisan consensus in the U.S. government favoring increased confrontation of China in trade practices and economic matters, national security, and human rights. The Biden Administration views technology as a domain of strategic competition in which the U.S. and allies must stay ahead of China. The Administration has reaffirmed the U.S. government consensus identifying semiconductor, artificial intelligence, and 5G technologies, and protection of U.S. supply chains, as priority efforts. It appears that the Administration may now augment ongoing U.S. efforts by enlisting the cooperation of allied countries in both advanced development and protection against P.R.C. use of U.S. and allied advances. The prior U.S. presidential administration expanded and intensified export controls and sanctions, including the addition of many P.R.C. companies to the U.S. Export Administration Regulations (“EAR”) Entity List. These listings restrict supply to designees of items that are subject to the EAR. After an internal evaluation, we determined that a large percentage of our software products are not of U.S. origin and are, thus, not subject to the EAR. Our standard operations include development, distribution processes, software download sites, and professional service centers and processes located in various geographies around the world to better serve our customers. Some customers have nonetheless expressed concerns to us that continued action by the U.S. government could potentially interrupt their ability to make use of our products or services. The continuing tension between the U.S. and P.R.C. governments in trade and security matters or the perception of that tension could lead to disruptions or reductions in international trade, deter or prevent purchasing activity of customers, and negatively impact our China sales and financial results.

Cimetrix Acquisition

On December 1, 2020, we completed the acquisition of Cimetrix Incorporated. The combination of Cimetrix connectivity products with our Exensio platform, which leverages machine learning, is intended to enable IC, assembly, and equipment manufacturer customers to extract more intelligence from their tools, not just data, to build more reliable chips and systems at lower manufacturing costs. For further information about this acquisition, see Note 4, Business Combination, to our condensed consolidated financial statements of this Quarterly Report on Form 10-Q.

Financial Highlights

Financial highlights for the three months ended September 30, 2021, are as follows:

Total revenues were $29.6 million, an increase of $6.4 million, or 28%, compared to the three months ended September 30, 2020. Analytics revenue was $27.2 million, an increase of $12.8 million, or 90%, compared to the three months ended September 30, 2020. The increase in Analytics revenue was primarily driven by an $8.4 million increase in revenue from Cimetrix and Exensio software licenses due to higher demand from customers, and by a $4.5 million increase in revenue from CV systems and DFI systems due to an increase in hours worked across multiple contracts and customers. Integrated Yield Ramp revenue decreased $6.4 million, or 73%, compared to year-ago period primarily due to lower hours worked on fixed fees engagements, and a decrease in Gainshare royalty from certain customers due to the end of Gainshare periods.
Costs of revenues increased $1.6 million, compared to the three months ended September 30, 2020, primarily due to increases in personnel-related costs due to higher headcount resulting from the acquisition of Cimetrix and higher benefit costs, cloud-delivery costs, software royalty and licenses expense, and amortization of other acquired intangible assets. These increases were partially offset by decreases in facilities and information technology-related costs, depreciation expenses and due to timing of deferral of contract costs.
Net loss was $2.4 million, compared to $2.7 million for the three months ended September 30, 2020. The decrease in net loss was primarily attributable to an increase in total revenues and a decrease in general legal fees, partially offset by increases in costs of revenues and in operating expenses related primarily to our research and development, sales and marketing activities, general and administrative expenses related to increases in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition and higher benefit costs, subcontractor costs, facilities and information technology-related costs, and an increase in income tax expense.

30

Cash, cash equivalents and short-term investments decreased $4.1 million to $141.2 million at September 30, 2021, from $145.3 million at December 31, 2020, primarily due to cash used to purchase property and equipment, repurchases of common stock and pay for taxes related to net share settlement of equity awards, partially offset by proceeds from the exercise of stock options and proceeds from purchases under our employee stock purchase plan and cash provided by operating activities.

Financial highlights for the nine months ended September 30, 2021, are as follows:

Total revenues were $81.2 million, an increase of $15.5 million, or 24%, compared to the nine months ended September 30, 2020. Analytics revenue was $66.2 million, an increase of $23.4 million, or 55%, compared to the nine months ended September 30, 2020. The increase in Analytics revenue was primarily driven by a $25.9 million increase in revenue from Cimetrix and Exensio software licenses due to higher demand from customers, partially offset by a $2.2 million reduction in revenue from CV system and DFI systems due to a reduction in hours worked across multiple contracts and customers.  Integrated Yield Ramp revenue decreased $7.9 million, or 34%, compared to the year-ago period primarily due to a decrease in Gainshare royalty from certain customers due to the end of Gainshare periods and lower hours worked on fixed fee arrangements.
Costs of revenues increased $5.6 million, compared to the nine months ended September 30, 2020, primarily due to increases in personnel-related costs due to higher headcount resulting from the acquisition of Cimetrix, higher benefit costs and merit increases, cloud-delivery costs, software royalty and licenses expense, and amortization of other acquired intangible assets. These increases were partially offset by decreases in facilities and information technology-related costs including depreciation expense, travel expenses, and due to timing of deferral of contract costs.
Net loss was $14.5 million, compared to $6.9 million for the nine months ended September 30, 2020. The increase in net loss was primarily attributable to increases in costs of revenues, operating expenses related primarily to our research and development, sales and marketing activities, general and administrative expenses related to increases in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition, higher benefit costs and merit increases, subcontractor costs, facilities and information technology-related costs and fees for legal services for the arbitration proceeding over a disputed customer contract, and amortization expense of other acquired intangibles assets, and increase in income tax expense, partially offset by increases in total revenues and decreases in general legal fees.

Critical Accounting Policies and Estimates

See Note 1, Summary of Significant Accounting Policy, to our condensed consolidated financial statements in this Quarterly Report on Form 10-Q, for a description of recent accounting pronouncements and accounting changes, including the expected dates of adoption and estimated effects, if any, on our condensed consolidated financial statements, and to Management’s Discussion and Analysis of Financial Condition and Results of Operations contained in Part II, Item 7 of our Annual Report on Form 10-K for the year ended December 31, 2020.

There were no material changes during the nine months ended September 30, 2021, to the items that we disclosed as our critical accounting policies and estimates in Management’s Discussion and Analysis of Financial Condition and Results of Operations in our Annual Report on Form 10-K for the year ended December 31, 2020.

The following is a brief discussion of the more significant accounting policies and methods that we use.

General

Our discussion and analysis of our financial conditions, results of operations and cash flows are based on our condensed consolidated financial statements, which have been prepared in conformity with accounting principles generally accepted in the United States of America. Our preparation of these condensed consolidated financial statements requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the dates of the financial statements and the reported amounts of revenues and expenses during the reporting

31

periods. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. The most significant estimates and assumptions relate to revenue recognition, valuation of long-lived assets including goodwill and intangible assets, and the realization of deferred tax assets. Actual amounts may differ from such estimates under different assumptions or conditions.

Revenue Recognition

We derive revenue from two sources: Analytics and Integrated Yield Ramp.

Analytics Revenue

Analytics revenue is derived from the following primary offerings: licenses and services for standalone Software (which consists primarily of Exensio and Cimetrix products), SaaS (which consists primarily of Exensio products), and DFI and CV systems that do not include performance incentives based on customers’ yield achievement.

Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers, if the software license is distinct from the services offered by us. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because we are providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”) attributed to each performance obligation.

Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without taking possession of software, is accounted for as subscriptions and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers.

Revenue from DFI systems and CV systems that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, we allocate revenue to all deliverables based on their SSPs. For these contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgment.

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue is derived from our yield ramp engagements that include Gainshare or other performance incentives based on customers’ yield achievement.

Revenue under these project–based contracts, which are delivered over a specific period of time typically for a fixed fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, we allocate revenue to all deliverables based on their SSPs and allocate the transaction price of the contract to each performance obligation on a relative basis using SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgment.

32

The Gainshare royalty contained in yield ramp contracts is a variable fee related to continued usage of our IP after the fixed-fee service period ends, based on the customers’ yield achievement. Revenue derived from Gainshare is contingent upon our customers reaching certain defined production yield levels. Gainshare royalty periods are generally subsequent to the delivery of all contractual services and performance obligations. We record Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and record it in the same period in which the usage occurs.

Income Taxes

We are required to assess whether it is “more-likely-than-not” that we will realize our deferred tax assets. If we believe that they are not likely to be fully realizable before the expiration dates applicable to such assets, then to the extent we believe that recovery is not likely, we must establish a valuation allowance. Based on all available evidence, both positive and negative, we determined a full valuation allowance was appropriate for our federal and state net deferred tax assets (“DTAs”) in the fourth quarter of 2020, primarily driven by a cumulative loss incurred over the 12-quarter period ended December 31, 2020, and the likelihood that we may not utilize tax attributes before they begin to expire at the end of 2022. The valuation allowance was approximately $41.9 million as of September 30, 2021 and December 31, 2020. We will continue to evaluate the need for a valuation allowance and may change our conclusion in a future period based on changes in facts (e.g., 12-quarter cumulative profit, significant new revenue, etc.). If we conclude that we are more likely than not to utilize some or all of our U.S. DTAs, we will release some or all of our valuation allowance and our tax provision will decrease in the period in which we make such determination.

We evaluate our DTAs for realizability considering both positive and negative evidence, including our historical financial performance, projections of future taxable income, future reversals of existing taxable temporary differences, tax planning strategies and any carryback availability. In evaluating the need for a valuation allowance, we estimate future taxable income based on management approved business plans. This process involves significant management judgment about assumptions that are subject to change from period to period based on changes in tax laws or variances between future projected operating performance and actual results. Changes in the net DTAs, less offsetting valuation allowance, in a period are recorded through the income tax provision and could have a material impact on the Condensed Consolidated Statements of Comprehensive Loss.

Our income tax calculations are based on application of applicable U.S. federal, state, or foreign tax law. Our tax filings, however, are subject to audit by the respective tax authorities. Accordingly, we recognize tax liabilities based upon our estimate of whether, and the extent to which, additional taxes will be due when such estimates are more-likely-than-not to be sustained. An uncertain income tax position will not be recognized if it has less than a 50% likelihood of being sustained. To the extent the final tax liabilities are different than the amounts originally accrued, the increases or decreases are recorded as income tax expense or benefit in the Condensed Consolidated Statements of Comprehensive Loss. At September 30, 2021, no deferred taxes have been provided on undistributed earnings from our international subsidiaries. We intend to reinvest the earnings of our non-U.S. subsidiaries in those operations indefinitely. As such, we have not provided for any foreign withholding taxes on the earnings of foreign subsidiaries as of September 30, 2021. The earnings of our foreign subsidiaries are taxable in the U.S. in the year earned under the Global Intangible Low-Taxed Income rules implemented under 2017 Tax Cuts and Jobs Act.

Valuation of Long-lived Assets including Goodwill and Intangible Assets

We record goodwill when the purchase consideration of an acquisition exceeds the fair value of the net tangible and identified intangible assets as of the date of acquisition. We have one operating segment and one operating unit. We perform an annual impairment assessment of goodwill during the fourth quarter of each calendar year or more frequently, if required to determine if any events or circumstances exist, such as an adverse change in business climate or a decline in the overall industry demand, that would indicate that it would more likely than not reduce the fair value of a reporting unit below its carrying amount, including goodwill. If events or circumstances do not indicate that the fair value of a reporting unit is below its carrying amount, then goodwill is not considered to be impaired and no further testing is required. If the carrying amount exceeds its fair value, an impairment loss would be recognized equal to the amount of excess, limited to the amount of total goodwill. There was no goodwill impairment for the three and nine months ended September 30, 2021.

33

Our long-lived assets, excluding goodwill, consist of property and equipment and intangible assets. We periodically review our long-lived assets for impairment. For assets to be held and used, we initiate our review whenever events or changes in circumstances indicate that the carrying amount of a long-lived asset group may not be recoverable. Recoverability of an asset group is measured by comparison of its carrying amount to the expected future undiscounted cash flows that the asset group is expected to generate. If it is determined that an asset group is not recoverable, an impairment loss is recorded in the amount by which the carrying amount of the asset group exceeds its fair value. There was no impairment of long-lived assets for the three and nine months ended September 30, 2021.

Recent Accounting Pronouncements and Accounting Changes

See Note 1, Summary of Significant Accounting Policy, to our condensed consolidated financial statements of this Quarterly Report on Form 10-Q, for a description of recent accounting pronouncements and accounting changes, including the expected dates of adoption and estimated effects, if any, on our condensed consolidated financial statements.

Results of Operations

Discussion of Financial Data for the Three and Nine Months ended September 30, 2021 and 2020

Revenues, Costs of Revenues, and Gross Margin

Three Months Ended

    

 

Nine Months Ended

    

 

September 30, 

Change

September 30, 

Change

    

2021

    

2020

    

$

    

%

 

    

2021

    

2020

    

$

    

%

 

(Dollars in thousands)

 

  

 

  

 

  

    

  

 

  

 

  

 

  

    

  

Revenues:

 

  

 

  

 

  

 

  

 

  

 

  

 

  

 

  

Analytics

$

27,194

$

14,346

$

12,848

 

90

%

$

66,165

$

42,766

$

23,399

 

55

%

Integrated Yield Ramp

 

2,361

 

8,766

 

(6,405)

 

(73)

%

 

15,009

 

22,912

 

(7,903)

 

(34)

%

Total revenues

29,555

23,112

6,443

 

28

%

81,174

65,678

15,496

 

24

%

Costs of revenues

 

11,070

 

9,493

 

1,577

 

17

%

 

32,518

 

26,926

 

5,592

 

21

%

Gross profit

$

18,485

$

13,619

$

4,866

 

36

%

$

48,656

$

38,752

$

9,904

 

26

%

Gross margin

 

63

%  

 

59

%  

 

  

 

 

60

%  

 

59

%  

 

  

 

Analytics revenue as a percentage of total revenues

 

92

%  

 

62

%  

 

  

 

  

 

82

%  

 

65

%  

 

  

 

  

Integrated Yield Ramp revenue as a percentage of total revenues

 

8

%  

 

38

%  

 

  

 

  

 

18

%  

 

35

%  

 

  

 

  

Analytics Revenue

Analytics revenue increased $12.8 million for the three months ended September 30, 2021, compared to the three months ended September 30, 2020. The increase in Analytics revenue was primarily driven by an $8.4 million increase in revenue from Cimetrix and Exensio software licenses due to higher demand from customers and a $4.5 million increase in revenue from CV systems and DFI systems due to an increase in hours worked across multiple contracts and customers.

Analytics revenue increased $23.4 million for the nine months ended September 30, 2021, compared to the nine months ended September 30, 2020. The increase in Analytics revenue was primarily driven by a $25.9 million increase in revenue from Cimetrix and Exensio software licenses due to higher demand from customers, partially offset by a $2.2 million reduction in revenue from CV systems and DFI systems due to a reduction in hours worked across multiple contracts and customers.

34

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue decreased for the three and nine months ended September 30, 2021, compared to the prior year periods, due to a decrease in Gainshare royalty from certain customers due to the end of Gainshare periods and lower hours worked on fixed fees engagements. Our Integrated Yield Ramp revenue may continue to fluctuate from period to period primarily due to the contribution of Gainshare royalty, which is dependent on many factors that are outside our control, including among others, continued production of ICs by our customers at facilities at which we generate Gainshare, sustained yield improvements by our customers, and our ability to enter into new contracts containing Gainshare.

Our Analytics and Integrated Yield Ramp revenues may fluctuate in the future and are dependent on a number of factors, including the semiconductor industry’s continued acceptance of our products, services and solutions, the timing of purchases by existing and new customers, cancellations by existing customers, and our ability to attract new customers and penetrate new markets, and further penetration of our current customer base. Fluctuations in future results may also occur if any of our significant customers renegotiate pre-existing contractual commitments, including due to adverse changes in their own business.

Costs of Revenues

Costs of revenues consist of costs incurred to provide and support our services, costs recognized in connection with licensing our software, and amortization of acquired technology. Services costs consist of material, employee compensation and related benefits, overhead costs, travel and allocated facilities-related costs. Software license costs consist of costs associated with licensing third-party software used by us in providing services to our customers in solution engagements, or sold in conjunction with our software products.

The increase in costs of revenues of $1.6 million for the three months ended September 30, 2021, compared to the three months ended September 30, 2020, was primarily due to (i) a $1.3 million increase in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition and higher benefit costs, partially offset by a decrease in stock-based compensation expense, (ii) a $0.5 million increase in cloud-delivery costs, software royalty and licenses expense, and (iii) a $0.3 million increase amortization of other acquired intangible assets. These were partially offset by (i) a $0.3 million decrease in facilities and information technology-related costs including depreciation expense, and (ii) a $0.2 million decrease due to timing of deferral of contract costs.

The increase in costs of revenues of $5.6 million for the nine months ended September 30, 2021, compared to the nine months ended September 30, 2020, was primarily due to (i) a $4.1 million increase in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition, higher benefit costs, and merit increases, partially offset by a decrease in stock-based compensation expense, (ii) a $1.6 million increase in cloud-delivery costs, software royalty and licenses expense, and hardware costs, and (iii) a $1.1 million increase in amortization of other acquired intangibles assets. These were partially offset by (i) a $0.6 million decrease in facilities and information technology-related costs including depreciation expense, (ii) a $0.4 million decrease due to timing of deferral of contract costs, and (iii) a $0.2 million decrease in travel and other expenses.

Gross Margin

Gross margin increased for the three and nine months ended September 30, 2021, compared to the prior year periods, primarily due to higher Analytics revenue partially offset by an increase in costs of revenues.

35

Operating Expenses:

Research and Development

Three Months Ended

 

Nine Months Ended

 

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2021

    

2020

    

$

%

 

    

2021

    

2020

    

$

%

 

Research and development

$

10,657

$

8,328

$

2,329

 

28

%

$

32,562

$

24,672

$

7,890

 

32

%

As a percentage of total revenues

 

36

%  

 

36

%  

 

  

 

  

 

40

%  

 

38

%  

 

  

 

  

Research and development expenses consist primarily of personnel-related costs to support product development activities, including compensation and benefits, outside development services, travel, facilities cost allocations, and stock-based compensation charges.

Research and development expenses increased for the three months ended September 30, 2021, compared to the year-ago period, primarily due to (i) a $1.7 million increase in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition, higher benefit costs, and higher stock-based compensation expense, (ii) a $0.4 million increase in subcontractor expenses primarily related to our DFI systems and Exensio and Cimetrix software, and (iii) a $0.2 million increase in cloud-services related costs.

Research and development expenses increased for the nine months ended September 30, 2021, compared to the year-ago period, primarily due to (i) a $5.9 million increase in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition, higher benefit costs, merit increases and higher stock-based compensation expense, (ii) a $1.8 million increase in subcontractor expenses primarily related to our DFI systems and Exensio and Cimetrix software, (iii) a $0.4 million increase in cloud-services related costs, and (iv) a $0.3 million increase in facilities and information technology-related costs. These were partially offset by (i) a $0.3 million decrease in software maintenance expense, and (ii) a $0.2 million decrease in other expenses.

We anticipate our expenses in research and development will fluctuate in absolute dollars from period to period due to the timing of product development projects.

Selling, General, and Administrative

Three Months Ended

 

Nine Months Ended

 

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2021

    

2020

    

$

%

 

    

2021

    

2020

    

$

%

 

Selling, general and administrative

$

9,609

$

8,420

$

1,189

 

14

%

$

28,482

$

24,052

$

4,430

 

18

%

As a percentage of total revenues

 

33

%  

 

36

%  

 

  

 

  

 

35

%  

 

37

%  

 

  

 

  

Selling, general, and administrative expenses consist primarily of compensation and benefits for sales, marketing and general and administrative personnel, legal and accounting services, marketing communications, travel and facilities cost allocations, and stock-based compensation charges.

Selling, general, and administrative expenses increased for the three months ended September 30, 2021, compared to the year-ago period, primarily due to (i) a $1.5 million increase in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition, higher benefit costs and higher stock-based compensation expense, (ii) a $0.3 million increase in facilities and information technology-related costs including rent and depreciation expense, and (iii) a $0.1 million increase in cloud-services related costs. These were partially offset by (i) a $0.7 million decrease in general legal expenses, and (ii) a $0.1 million decrease in subcontractor expenses.

36

Selling, general, and administrative expenses increased for the nine months ended September 30, 2021, compared to the year-ago period, primarily due to (i) a $4.0 million increase in personnel-related costs due to higher headcount as a result of the Cimetrix acquisition, higher benefit costs, merit increases and higher stock-based compensation expense, (ii) a $1.1 million increase in facilities and information technology-related costs including rent and depreciation expense, (iii) a $0.4 million increase in legal fees, primarily related to fees for legal services for the arbitration proceeding over a disputed customer contract, (iv) a $0.1 million increase in accounting and related fees, and (v) a $0.3 million increase in cloud-services related costs. These were partially offset by (i) a $1.3 million decrease in general legal expenses, and (ii) a $0.2 million decrease in other expenses.

We anticipate our selling, general, and administrative expenses will fluctuate in absolute dollars from period to period as a result of cost control initiatives and to support our selling efforts in the future.

Amortization of Other Acquired Intangible Assets

Three Months Ended

 

Nine Months Ended

 

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2021

    

2020

    

$

%

 

    

2021

    

2020

    

$

%

 

Amortization of other acquired intangible assets

$

314

$

174

$

140

 

80

%

$

942

$

521

$

421

 

81

%

Amortization of other acquired intangible assets consists of amortization of intangibles acquired as a result of certain business combinations. The increases in amortization of other acquired intangible assets for the three and nine months ended September 30, 2021, compared to the year-ago periods, were primarily related to amortization of other acquired intangible assets related to the Cimetrix acquisition.

Interest and Other Expense (Income), Net

Three Months Ended

 

Nine Months Ended

 

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2021

    

2020

    

$

%

 

    

2021

    

2020

    

$

%

 

Interest and other expense (income), net

$

(194)

$

361

$

(555)

 

(154)

%

$

(391)

$

530

$

(921)

 

(174)

%

In fiscal 2021, interest and other expense (income), net, primarily consists of interest income, and foreign currency transaction exchange gains and losses. In fiscal 2020, interest and other expense (income), net, primarily consists of interest income, foreign currency transaction exchange gains and losses, and gains and losses from foreign currency forward contracts.

Interest and other expense (income), net decreased for the three months ended September 30, 2021, compared to the year-ago period, primarily due to a higher net favorable fluctuation in foreign exchange rates, partially offset by a decrease in other income.

Interest and other expense (income), net decreased for the nine months ended September 30, 2021, compared to the year-ago period, primarily due to a higher net favorable fluctuations in foreign exchange rates, and a decrease in loss related to foreign currency forward contracts, partially offset by a decrease in interest income due to lower interest rates and a decrease in other income.

37

Income Tax Expense (Benefit)

Three Months Ended

 

Nine Months Ended

 

September 30, 

Change

September 30, 

Change

(Dollars in thousands)

    

2021

    

2020

    

$

%

 

    

2021

    

2020

    

$

%

 

Income tax expense (benefit)

$

506

$

(930)

$

1,436

 

(154)

%

$

1,549

$

(4,109)

$

5,658

 

(138)

%

Income tax expense increased for the three months ended September 30, 2021, compared to the same year-ago period, primarily due to the full valuation allowance placed against United States federal and state net deferred tax assets in the fourth quarter of 2020. Income tax expense recorded during the three months ended September 30, 2021 is primarily due to foreign taxes and changes in reserves for uncertain tax positions.

Income tax expense increased for the nine months ended September 30, 2021, compared to the year-ago period, primarily due to the full valuation allowance against United States federal net deferred tax assets in the nine months ended September 30, 2021, and one-time benefits in the first quarter of 2020, pursuant to the provisions of the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) passed on March 27, 2020, which provided for an income tax benefit in the nine months ended September 30, 2020.

Liquidity and Capital Resources

As of September 30, 2021, our working capital, defined as total current assets less total current liabilities, was $144.1 million, compared to $151.2 million as of December 31, 2020. Total cash and cash equivalents, and short-term investments were $141.2 million as of September 30, 2021, compared to cash and cash equivalents of $145.3 million as of December 31, 2020. As of September 30, 2021 and December 31, 2020, cash and cash equivalents held by our foreign subsidiaries were $7.8 million and $4.0 million, respectively. We believe that our existing cash resources and anticipated funds from operations will satisfy our cash requirements to fund our operating activities, capital expenditures, and other obligations for at least the next twelve months.

There has been no significant impact in respect to Liquidity and Capital Resources from the global COVID-19 pandemic.

Cimetrix Acquisition

On December 1, 2020, the Company completed the acquisition of Cimetrix Incorporated with a total payment made in 2020 of $28.6 million, net of cash acquired. In 2020, the Company held back $3.5 million of the purchase price (the “Holdback Amount”) to satisfy adjustments to the closing balance sheet and claims for indemnity arising out of breaches of certain representations, warranties and covenants, and certain other enumerated items in the merger agreement. During the nine months ended September 30, 2021, the Company recorded a measurement period adjustment, which reduced the Holdback Amount to $3.0 million. The Holdback Amount, as adjusted, is expected to be paid to the participating equity holders in December 2021. See Note 4, Business Combination to our condensed consolidated financial statements in this Quarterly Report on Form 10-Q for further discussion.

Repurchase of Company’s Common Stock

On June 4, 2020, the Company’s Board of Directors adopted a new stock repurchase program (the “2020 Program”) to repurchase up to $25.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, over the next two years. During the nine months ended September 30, 2021, 251,212 shares were repurchased at an average price of $18.01 per share, for a total price of $4.5 million under the 2020 Program.

38

Cash Flow Data

The following table summarizes our cash flows for the periods presented:

Nine Months Ended September 30, 

    

2021

    

2020

    

$ Change

(In thousands)

 

  

 

  

 

  

Net cash flows provided by (used in):

 

  

 

  

 

  

Operating activities

$

3,827

$

10,876

$

(7,049)

Investing activities

 

42,302

 

(55,348)

 

97,650

Financing activities

 

(5,495)

 

65,202

 

(70,697)

Effect of exchange rate changes on cash and cash equivalents

 

(192)

 

51

 

(243)

Net increase in cash and cash equivalents

$

40,442

$

20,781

$

19,661

Net Cash Flows Provided by Operating Activities

Cash flows provided by operating activities during the nine months ended September 30, 2021, consisted of net loss, adjusted for certain non-cash items which primarily consisted of depreciation and amortization, share-based compensation expense and deferred tax assets, and net change in operating assets and liabilities. The $7.0 million decrease in cash flows from operating activities for the nine months ended September 30, 2021, compared to the year-ago period, was driven primarily by a $6.1 million decrease in net change from operating assets and liabilities, and a $7.6 million increase in net loss, which was partially offset by a $6.7 million increase in non-cash adjustments to net loss, which was primarily due to an increase in amortization of acquired intangible assets of $1.5 million and a decrease in deferred taxes of $5.4 million.

The major contributors to the net change in operating assets and liabilities for the nine months ended September 30, 2021 were as follows:

Prepaid expense and other current assets decreased by $1.8 million, primarily due to the timing of billing of contract assets related to fix-price service contracts,
Other non-current assets increased by $1.2 million, primarily due to an increase in capitalized direct sales commission costs and prepaid expenses related to software licenses and cloud-subscription agreements,
Accounts payable decreased by $2.0 million primarily due to the timing of payments of vendor invoices,
Deferred revenues increased by $3.5 million primarily due to timing of billing and revenue recognition, and
Billing in excess of recognized revenues decreased by $1.3 million primarily due to timing of billing and revenue recognition.

Net Cash Flows Provided by (Used in) Investing Activities

Cash provided by investing activities increased by $97.7 million for the nine months ended September 30, 2021, compared to the year-ago period.

For the nine months ended September 30, 2021, cash provided by investing activities primarily related to proceeds from maturities of short-term investments of $136.0 million, offset by purchases of short-term investments of $91.0 million and property and equipment of $2.7 million primarily related to the construction of additional eProbe tools. 

For the nine months ended September 30, 2020, net cash used in investing activities primarily related to purchases of about $50.0 million short-term investments and a $5.4 million property and equipment purchased and prepayment for our DFI solution, including construction of additional eProbe tools.

Net Cash Flows Provided by (Used in) Financing Activities

Net cash used in financing activities increased by $70.7 million for the nine months ended September 30, 2021 compared to the year-ago period. 

39

For the nine months ended September 30, 2021, net cash used in financing activities primarily consisted of $4.5 million for the repurchase of shares of our common stock and $3.3 million in cash payments for taxes related to net share settlement of equity awards, partially offset by $2.3 million of proceeds from our employee stock purchase plan and exercise of stock options. 

For the nine months ended September 30, 2020, net cash provided by financing activities primarily consisted of $65.0 million net proceeds from issuance of common stock in connection with the Securities Purchase Agreement with Advantest, and $3.5 million of proceeds from our employee stock purchase plan and exercise of stock options, partially offset by $3.3 million of cash payments for taxes related to net share settlement of equity awards.

Related Party Transactions

Refer to Note 3, Strategic Partnership Agreement with Advantest and Related Party Transactions, to our condensed consolidated financial statements in this Quarterly Report on Form 10-Q, for a discussion on related party transactions between the Company and Advantest.

Off-Balance Sheet Agreements

We do not have any off-balance sheet arrangements, investments in special purpose entities or undisclosed borrowings or debt.

Item 3. Quantitative and Qualitative Disclosures about Market Risk

We are exposed to three primary types of market risks: credit risk and counterparty risk, foreign currency exchange rate risk and interest rate risk. The following discusses our exposure to market risk related to changes in interest rates and foreign currency exchange rates. We do not currently own any equity investments, nor do we expect to own any in the foreseeable future. This discussion contains forward-looking statements that are subject to risks and uncertainties. Actual results could vary materially as a result of a number of factors.

Interest Rate Risk and Credit Risk.  As of September 30, 2021, we had cash, cash equivalents and short-term investments of $141.2 million. Cash and cash equivalents consisted of cash and highly liquid money market instruments, and short-term investments consisted of U.S. Treasury bills. We would not expect our operating results or cash flows to be affected to any significant degree by the effect of a sudden change in market interest on our portfolio. A hypothetical increase in market interest rates of 100 basis points from the market rates in effect at September 30, 2021, would cause the fair value of these investments to decrease by an immaterial amount, which would not have significantly impacted our financial position or results of operations.

At September 30, 2021, and periodically throughout the year, we have maintained cash balances in various operating accounts in excess of federally insured limits. We limit the amount of credit exposure with any one financial institution by evaluating the creditworthiness of the financial institutions with which we invest.

Foreign Currency and Exchange Risk.  Certain of our payables for our international offices are denominated in the local currency, including the Euro, Yen and RMB. Therefore, a portion of our operating expenditures is subject to foreign currency risks. From time to time, we enter into foreign currency forward contracts to reduce the exposure to foreign currency exchange rate fluctuations on certain foreign currency denominated monetary assets and liabilities. We do not use foreign currency forward contracts for speculative or trading purposes. We record these forward contracts at fair value. The counterparty to these foreign currency forward contracts is a financial institution that we believe is creditworthy, and therefore, we believe the credit risk of counterparty non-performance is not significant. The change in fair value of these contracts is recorded into earnings as a component of other income (expense), net and offsets the change in fair value of foreign currency denominated monetary assets and liabilities, which is also recorded in other income (expense), net. As of September 30, 2021, we had no outstanding forward contracts.

40

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Our management, with the participation of our principal executive officer and principal financial and accounting officer, evaluated the effectiveness of our “disclosure controls and procedures” as defined in Exchange Act Rules 13a-15(e) and 15d-15(e) as of September 30, 2021, in connection with the filing of this Quarterly Report on Form 10-Q. Based on that evaluation as of September 30, 2021, our principal executive officer and principal financial and accounting officer concluded that our disclosure controls and procedures were effective to ensure that information we are required to disclose in reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in rules and forms of the SEC and accumulated and communicated to our management as appropriate to allow timely decisions regarding required disclosure.

Changes in Internal Control over Financial Reporting

There were no changes in the Company’s internal control over financial reporting during the nine months ended September 30, 2021, that have materially affected, or are reasonably likely to materially affect, the Company’s internal control over financial reporting.

PART II — OTHER INFORMATION

Item 1. Legal Proceedings

From time to time, we are subject to various claims and legal proceedings that arise in the ordinary course of business. We accrue for losses related to litigation when a potential loss is probable and the loss can be reasonably estimated in accordance with FASB requirements. During the reported period, we were not a party to any material legal proceedings where a loss was probable, and thus no amount was accrued at September 30, 2021.

On May 6, 2020, we initiated an arbitration proceeding with the Hong Kong International Arbitration Center against SMIC New Technology Research & Development (Shanghai) Corporation (“SMIC”) due to SMIC’s failure to pay fees due to PDF under a series of contracts. We seek to recover the unpaid fees, a declaration requiring SMIC to pay fees under the contracts in the future, and costs associated with bringing the arbitration proceeding. The arbitration is on-going.

Item 1A. Risk Factors

As of the date of this Quarterly Report on Form 10-Q, there have been no material changes from the risk factors disclosed in our Annual Report on Form 10-K for the year ended December 31, 2020, filed with the Securities and Exchange Commission on March 11, 2021. Any of such factors could result in a significant or material adverse effect on our result of operations or financial conditions. Additional risk factors not presently known to us or that we currently deem immaterial may also impair our business or results of operations. We may disclose changes to such factors or disclose additional factors from time to time in our future filings with the SEC.

Item 2. Unregistered Sales of Equity Securities and Use of Proceeds

There were no stock repurchases during the third quarter of 2021.

Item 3. Defaults Upon Senior Securities

None.

41

Item 4. Mine Safety Disclosures

None.

Item 5. Other Information

None.

42

INDEX TO EXHIBITS

Item 6. Exhibits

Exhibit
Number

    

Description

31.01

Certification of the principal executive officer pursuant to Exchange Act Rules 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.†

  

  

31.02

Certification of the principal financial and accounting officer pursuant to Exchange Act Rules 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.†

  

  

32.01

Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.**

  

  

32.02

Certification pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.**

  

  

101

The following financial statements from the Company’s Quarterly Report on Form 10-Q for the quarter ended September 30, 2021, formatted in Inline XBRL: (i) Condensed Consolidated Balance Sheets, (ii) Condensed Consolidated Statements of Comprehensive Loss, (iii) Condensed Consolidated Statements of Stockholders’ Equity, (iv) Condensed Consolidated Statements of Cash Flows and (v) Notes to Condensed Consolidated Financial Statements, tagged as blocks of text and including detailed tags.†

 

 

104

Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).†

Filed herewith.

**

Furnished, and not filed.

43

SIGNATURES

Pursuant to the requirements of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.

PDF SOLUTIONS, INC.

Date: November 9, 2021

By:

/s/ JOHN K. KIBARIAN

John K. Kibarian

President and Chief Executive Officer

(principal executive officer)

Date: November 9, 2021

By:

/s/ ADNAN RAZA

Adnan Raza

Executive Vice President, Finance and Chief

Financial Officer

(principal financial and accounting officer)

44

EX-31.01 2 pdfs-20210930xex31d01.htm EX-31.01

Exhibit 31.01

CERTIFICATIONS

I, John K. Kibarian, certify that:

1. I have reviewed this quarterly report on Form 10-Q of PDF Solutions, Inc.;

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 registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(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 registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(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 registrant’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 registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of registrant’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 registrant’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 registrant’s internal control over financial reporting.

  

By:

 

/s/ John K. Kibarian

  

  

John K. Kibarian

  

  

President and Chief Executive Officer

  

  

(principal executive officer)

Date: November 9, 2021


EX-31.02 3 pdfs-20210930xex31d02.htm EX-31.02

Exhibit 31.02

CERTIFICATIONS

I, Adnan Raza, certify that:

1. I have reviewed this quarterly report on Form 10-Q of PDF Solutions, Inc.;

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 registrant as of, and for, the periods presented in this report;

4. The registrant’s other certifying officer(s) and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(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 registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(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 registrant’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 registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter (the registrant’s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5. The registrant’s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of registrant’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 registrant’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 registrant’s internal control over financial reporting.

  

By:

/s/ Adnan Raza

  

  

Adnan Raza

  

  

Executive Vice President, Finance

and Chief Financial Officer

  

  

(principal financial and accounting

officer)

Date: November 9, 2021


EX-32.01 4 pdfs-20210930xex32d01.htm EX-32.01

Exhibit 32.01

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of PDF Solutions, Inc. (the “Company”) on Form 10-Q for the quarter ended September 30, 2021, as filed with the Securities and Exchange Commission on November 9, 2021 (the “Report”), I, John K. Kibarian, President and 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 result of operations of the Company.

  

By:

/s/ John K. Kibarian

  

  

John K. Kibarian

  

  

President and Chief Executive

Officer

  

  

(principal executive officer)

Date: November 9, 2021


EX-32.02 5 pdfs-20210930xex32d02.htm EX-32.02

Exhibit 32.02

CERTIFICATION PURSUANT TO

18 U.S.C. SECTION 1350,

AS ADOPTED PURSUANT TO

SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

In connection with the Quarterly Report of PDF Solutions, Inc. (the “Company”) on Form 10-Q for the quarter ended September 30, 2021, as filed with the Securities and Exchange Commission on November 9, 2021 (the “Report”), I, Adnan Raza, Executive Vice President, Finance and 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 result of operations of the Company.

10

  

By:

/s/ Adnan Raza

  

  

Adnan Raza

  

  

Executive Vice President, Finance

and Chief Financial Officer

  

  

(principal financial and accounting

officer)

Date: November 9, 2021


EX-101.SCH 6 pdfs-20210930.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details)_(Calc 2) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details)_(Calc 3) link:presentationLink link:calculationLink link:definitionLink 40505 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40602 - Disclosure - Note 6 - LEASES - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 40603 - Disclosure - Note 6 - LEASES - Maturity of Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Note 10 - NET LOSS PER SHARE - Calculation of Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 41202 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS - Fair Value, Assets Measured on a Recurring Basis (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document And Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parentheticals) link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) (Parentheticals) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Note 4 - BUSINESS COMBINATION link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Note 6 - LEASES link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Note 7 - STOCKHOLDERS EQUITY link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Note 9 - INCOME TAXES link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Note 10 - NET LOSS PER SHARE link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Note 13 - COMMITMENTS AND CONTINGENCIES link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Note 4 - BUSINESS COMBINATION (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Note 6 - LEASES (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - Note 10 - NET LOSS PER SHARE (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables) link:presentationLink link:calculationLink link:definitionLink 31203 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS (Tables) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 1 (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 2 (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 2 Default (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Note 4 - BUSINESS COMBINATION - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Change in Carrying Amount of Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Note 6 - LEASES - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Note 7 - STOCKHOLDERS EQUITY (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Other (Details) link:presentationLink link:calculationLink link:definitionLink 40802 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options, Valuation Assumptions (Details) link:presentationLink link:calculationLink link:definitionLink 40803 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) link:presentationLink link:calculationLink link:definitionLink 40804 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details) link:presentationLink link:calculationLink link:definitionLink 40805 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Note 9 - INCOME TAXES (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Note 10 - NET LOSS PER SHARE - Anti-dilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 41104 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS - Other (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Note 13 - COMMITMENTS AND CONTINGENCIES (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 pdfs-20210930_cal.xml EX-101.CAL EX-101.DEF 8 pdfs-20210930_def.xml EX-101.DEF EX-101.LAB 9 pdfs-20210930_lab.xml EX-101.LAB EX-101.PRE 10 pdfs-20210930_pre.xml EX-101.PRE XML 11 pdfs-20210930x10q_htm.xml IDEA: XBRL DOCUMENT 0001120914 pdfs:The2020StockRepurchaseProgramMember 2021-01-01 2021-09-30 0001120914 pdfs:The2018StockRepurchaseProgramMember 2018-05-29 2020-05-28 0001120914 pdfs:The2020StockRepurchaseProgramMember 2020-06-04 2020-06-04 0001120914 pdfs:The2020StockRepurchaseProgramMember 2020-06-04 0001120914 pdfs:CommonStockOutstandingMember 2021-04-01 2021-06-30 0001120914 pdfs:CommonStockOutstandingMember 2020-04-01 2020-06-30 0001120914 pdfs:CommonStockOutstandingMember 2021-07-01 2021-09-30 0001120914 pdfs:CommonStockOutstandingMember 2021-01-01 2021-03-31 0001120914 pdfs:EmployeeStockPurchasePlanMember 2020-07-01 2020-09-30 0001120914 pdfs:CommonStockOutstandingMember 2020-07-01 2020-09-30 0001120914 pdfs:CommonStockOutstandingMember 2020-01-01 2020-03-31 0001120914 us-gaap:RetainedEarningsMember 2021-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2021-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-09-30 0001120914 us-gaap:RetainedEarningsMember 2021-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2021-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-06-30 0001120914 2021-06-30 0001120914 us-gaap:RetainedEarningsMember 2021-03-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-03-31 0001120914 2021-03-31 0001120914 us-gaap:RetainedEarningsMember 2020-12-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001120914 us-gaap:RetainedEarningsMember 2020-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2020-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-09-30 0001120914 us-gaap:RetainedEarningsMember 2020-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-06-30 0001120914 2020-06-30 0001120914 us-gaap:RetainedEarningsMember 2020-03-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2020-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-03-31 0001120914 2020-03-31 0001120914 us-gaap:RetainedEarningsMember 2019-12-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2019-12-31 0001120914 us-gaap:TreasuryStockMember 2021-09-30 0001120914 pdfs:CommonStockOutstandingMember 2021-09-30 0001120914 us-gaap:TreasuryStockMember 2021-06-30 0001120914 pdfs:CommonStockOutstandingMember 2021-06-30 0001120914 us-gaap:TreasuryStockMember 2021-03-31 0001120914 pdfs:CommonStockOutstandingMember 2021-03-31 0001120914 us-gaap:TreasuryStockMember 2020-12-31 0001120914 pdfs:CommonStockOutstandingMember 2020-12-31 0001120914 us-gaap:TreasuryStockMember 2020-09-30 0001120914 pdfs:CommonStockOutstandingMember 2020-09-30 0001120914 us-gaap:TreasuryStockMember 2020-06-30 0001120914 pdfs:CommonStockOutstandingMember 2020-06-30 0001120914 us-gaap:TreasuryStockMember 2020-03-31 0001120914 pdfs:CommonStockOutstandingMember 2020-03-31 0001120914 us-gaap:TreasuryStockMember 2019-12-31 0001120914 pdfs:CommonStockOutstandingMember 2019-12-31 0001120914 pdfs:StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember 2020-07-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2001-07-31 2001-07-31 0001120914 pdfs:OutsideOfThe20112001OrIDSPlansMember 2021-09-30 0001120914 pdfs:TwentyElevenStockIncentivePlanMember 2021-01-01 2021-09-30 0001120914 pdfs:TwentyElevenStockIncentivePlanMember 2011-11-16 0001120914 pdfs:SharesPreviouslyIssuedUnderThe2001PlanMember 2001-12-31 0001120914 pdfs:EmployeeStockPurchasePlanMember 2001-07-31 0001120914 pdfs:EmployeeStockPurchasePlanMember 2021-07-01 2021-09-30 0001120914 pdfs:TwentyElevenStockIncentivePlanMember 2020-07-01 2020-09-30 0001120914 pdfs:TwentyElevenStockIncentivePlanMember 2020-01-01 2020-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2020-12-31 0001120914 us-gaap:EmployeeStockOptionMember pdfs:TwentyElevenStockIncentivePlanMember 2011-11-16 2011-11-16 0001120914 us-gaap:EmployeeStockOptionMember pdfs:IDSPlanMember 2001-01-01 2001-12-31 0001120914 pdfs:AdvantestAmericaIncMember pdfs:SoftwareLicenseAndRelatedServicesAgreementMember 2023-07-01 2021-09-30 0001120914 pdfs:AdvantestAmericaIncMember pdfs:SoftwareLicenseAndRelatedServicesAgreementMember 2021-10-01 2021-09-30 0001120914 pdfs:IntegratedYieldRampMember 2021-07-01 2021-09-30 0001120914 pdfs:AnalyticsMember 2021-07-01 2021-09-30 0001120914 pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember 2021-07-01 2021-09-30 0001120914 pdfs:IntegratedYieldRampMember 2021-01-01 2021-09-30 0001120914 pdfs:AnalyticsMember 2021-01-01 2021-09-30 0001120914 pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember 2021-01-01 2021-09-30 0001120914 pdfs:IntegratedYieldRampMember 2020-07-01 2020-09-30 0001120914 pdfs:AnalyticsMember 2020-07-01 2020-09-30 0001120914 pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember 2020-07-01 2020-09-30 0001120914 pdfs:IntegratedYieldRampMember 2020-01-01 2020-09-30 0001120914 pdfs:AnalyticsMember 2020-01-01 2020-09-30 0001120914 pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember 2020-01-01 2020-09-30 0001120914 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember pdfs:CimetrixIncorporatedMember 2021-09-30 0001120914 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember pdfs:CimetrixIncorporatedMember 2020-12-31 0001120914 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2021-09-30 0001120914 us-gaap:LeaseholdImprovementsMember 2021-09-30 0001120914 us-gaap:FurnitureAndFixturesMember 2021-09-30 0001120914 us-gaap:ConstructionInProgressMember 2021-09-30 0001120914 us-gaap:ComputerEquipmentMember 2021-09-30 0001120914 pdfs:TestEquipmentMember 2021-09-30 0001120914 pdfs:LaboratoryAndTestEquipmentMember 2021-09-30 0001120914 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2020-12-31 0001120914 us-gaap:LeaseholdImprovementsMember 2020-12-31 0001120914 us-gaap:FurnitureAndFixturesMember 2020-12-31 0001120914 us-gaap:ConstructionInProgressMember 2020-12-31 0001120914 us-gaap:ComputerEquipmentMember 2020-12-31 0001120914 pdfs:TestEquipmentMember 2020-12-31 0001120914 pdfs:LaboratoryAndTestEquipmentMember 2020-12-31 0001120914 pdfs:StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember 2020-07-29 2020-07-29 0001120914 pdfs:StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember 2020-07-30 2020-07-30 0001120914 pdfs:RestOfTheWorldMember 2021-09-30 0001120914 country:US 2021-09-30 0001120914 pdfs:RestOfTheWorldMember 2020-12-31 0001120914 country:US 2020-12-31 0001120914 us-gaap:InProcessResearchAndDevelopmentMember 2021-09-30 0001120914 us-gaap:InProcessResearchAndDevelopmentMember 2020-12-31 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:TrademarksAndTradeNamesMember 2021-01-01 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:NoncompeteAgreementsMember 2021-01-01 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:DevelopedTechnologyRightsMember 2021-01-01 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:CustomerRelationshipsMember 2021-01-01 2021-09-30 0001120914 us-gaap:TrademarksAndTradeNamesMember 2021-09-30 0001120914 us-gaap:PatentsMember 2021-09-30 0001120914 us-gaap:NoncompeteAgreementsMember 2021-09-30 0001120914 us-gaap:DevelopedTechnologyRightsMember 2021-09-30 0001120914 us-gaap:CustomerRelationshipsMember 2021-09-30 0001120914 us-gaap:TrademarksAndTradeNamesMember 2020-12-31 0001120914 us-gaap:PatentsMember 2020-12-31 0001120914 us-gaap:NoncompeteAgreementsMember 2020-12-31 0001120914 us-gaap:DevelopedTechnologyRightsMember 2020-12-31 0001120914 us-gaap:CustomerRelationshipsMember 2020-12-31 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-09-30 0001120914 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2021-09-30 0001120914 us-gaap:EmployeeStockOptionMember 2021-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2021-09-30 0001120914 us-gaap:ForwardContractsMember 2021-09-30 0001120914 us-gaap:ForeignExchangeContractMember us-gaap:OtherNonoperatingIncomeExpenseMember 2021-07-01 2021-09-30 0001120914 us-gaap:ForeignExchangeContractMember us-gaap:OtherNonoperatingIncomeExpenseMember 2021-01-01 2021-09-30 0001120914 us-gaap:ForeignExchangeContractMember us-gaap:OtherNonoperatingIncomeExpenseMember 2020-07-01 2020-09-30 0001120914 us-gaap:ForeignExchangeContractMember us-gaap:OtherNonoperatingIncomeExpenseMember 2020-01-01 2020-09-30 0001120914 pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember 2021-09-30 0001120914 pdfs:Amendment1ToSoftwareLicenseRelatedServicesAgreementMember 2020-12-31 0001120914 pdfs:DFITestEquipmentMember 2021-09-30 0001120914 pdfs:DFITestEquipmentMember 2020-12-31 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-07-01 2021-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-07-01 2021-09-30 0001120914 pdfs:CustomerDMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-07-01 2021-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-07-01 2021-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-07-01 2021-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-07-01 2021-09-30 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 pdfs:CustomerEMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 pdfs:CustomerDMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 pdfs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 pdfs:CustomerCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 pdfs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 country:TW us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 country:JP us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2021-01-01 2021-09-30 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-07-01 2020-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-07-01 2020-09-30 0001120914 pdfs:CustomerBMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-07-01 2020-09-30 0001120914 pdfs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-07-01 2020-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-07-01 2020-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-07-01 2020-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-07-01 2020-09-30 0001120914 pdfs:CustomerCMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001120914 pdfs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-12-31 0001120914 us-gaap:NonUsMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 pdfs:RestOfTheWorldMember us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 pdfs:CustomerAMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 country:US us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 country:TW us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 country:JP us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 country:CN us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 us-gaap:SalesRevenueNetMember us-gaap:GeographicConcentrationRiskMember 2020-01-01 2020-09-30 0001120914 us-gaap:RetainedEarningsMember 2021-07-01 2021-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-07-01 2021-09-30 0001120914 us-gaap:RetainedEarningsMember 2021-04-01 2021-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-04-01 2021-06-30 0001120914 us-gaap:RetainedEarningsMember 2021-01-01 2021-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-03-31 0001120914 us-gaap:RetainedEarningsMember 2020-07-01 2020-09-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-07-01 2020-09-30 0001120914 us-gaap:RetainedEarningsMember 2020-04-01 2020-06-30 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-04-01 2020-06-30 0001120914 us-gaap:RetainedEarningsMember 2020-01-01 2020-03-31 0001120914 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-01-01 2020-03-31 0001120914 pdfs:TwentyElevenStockIncentivePlanMember 2021-09-30 0001120914 2019-12-31 0001120914 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2021-09-30 0001120914 us-gaap:MoneyMarketFundsMember 2021-09-30 0001120914 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2020-12-31 0001120914 us-gaap:MoneyMarketFundsMember 2020-12-31 0001120914 2020-09-30 0001120914 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2021-09-30 0001120914 us-gaap:OtherNoncurrentAssetsMember 2021-09-30 0001120914 us-gaap:PrepaidExpensesAndOtherCurrentAssetsMember 2020-12-31 0001120914 us-gaap:OtherNoncurrentAssetsMember 2020-12-31 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:TrademarksAndTradeNamesMember 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:NoncompeteAgreementsMember 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:DevelopedTechnologyRightsMember 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:CustomerRelationshipsMember 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember us-gaap:InProcessResearchAndDevelopmentMember 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember 2021-07-01 2021-09-30 0001120914 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel1Member 2021-09-30 0001120914 us-gaap:USTreasurySecuritiesMember 2021-09-30 0001120914 us-gaap:USTreasurySecuritiesMember us-gaap:FairValueInputsLevel1Member 2020-12-31 0001120914 us-gaap:USTreasurySecuritiesMember 2020-12-31 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2021-07-01 2021-09-30 0001120914 us-gaap:EmployeeStockOptionMember 2021-07-01 2021-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2021-07-01 2021-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-09-30 0001120914 us-gaap:EmployeeStockOptionMember 2021-01-01 2021-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2021-01-01 2021-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2020-07-01 2020-09-30 0001120914 us-gaap:EmployeeStockOptionMember 2020-07-01 2020-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2020-07-01 2020-09-30 0001120914 us-gaap:RestrictedStockUnitsRSUMember 2020-01-01 2020-09-30 0001120914 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2020-01-01 2020-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-07-01 2021-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2021-07-01 2021-09-30 0001120914 us-gaap:CostOfSalesMember 2021-07-01 2021-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2021-01-01 2021-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2021-01-01 2021-09-30 0001120914 us-gaap:CostOfSalesMember 2021-01-01 2021-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-07-01 2020-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2020-07-01 2020-09-30 0001120914 us-gaap:CostOfSalesMember 2020-07-01 2020-09-30 0001120914 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-09-30 0001120914 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-09-30 0001120914 us-gaap:CostOfSalesMember 2020-01-01 2020-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2021-07-01 2021-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2021-04-01 2021-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-03-31 0001120914 us-gaap:AdditionalPaidInCapitalMember 2020-04-01 2020-06-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-03-31 0001120914 us-gaap:TreasuryStockMember 2021-07-01 2021-09-30 0001120914 us-gaap:TreasuryStockMember 2021-04-01 2021-06-30 0001120914 2021-04-01 2021-06-30 0001120914 us-gaap:TreasuryStockMember 2021-01-01 2021-03-31 0001120914 2021-01-01 2021-03-31 0001120914 us-gaap:TreasuryStockMember 2020-07-01 2020-09-30 0001120914 us-gaap:TreasuryStockMember 2020-04-01 2020-06-30 0001120914 2020-04-01 2020-06-30 0001120914 us-gaap:TreasuryStockMember 2020-01-01 2020-03-31 0001120914 2020-01-01 2020-03-31 0001120914 srt:MinimumMember us-gaap:TrademarksAndTradeNamesMember 2021-01-01 2021-09-30 0001120914 srt:MinimumMember us-gaap:PatentsMember 2021-01-01 2021-09-30 0001120914 srt:MinimumMember us-gaap:DevelopedTechnologyRightsMember 2021-01-01 2021-09-30 0001120914 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2021-01-01 2021-09-30 0001120914 srt:MaximumMember us-gaap:TrademarksAndTradeNamesMember 2021-01-01 2021-09-30 0001120914 srt:MaximumMember us-gaap:PatentsMember 2021-01-01 2021-09-30 0001120914 srt:MaximumMember us-gaap:DevelopedTechnologyRightsMember 2021-01-01 2021-09-30 0001120914 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2021-01-01 2021-09-30 0001120914 us-gaap:NoncompeteAgreementsMember 2021-01-01 2021-09-30 0001120914 us-gaap:AdditionalPaidInCapitalMember 2020-07-01 2020-09-30 0001120914 pdfs:TwentyElevenStockIncentivePlanMember 2011-11-16 2011-11-16 0001120914 pdfs:EmployeeStockPurchasePlanMember 2021-06-15 2021-06-15 0001120914 pdfs:EmployeeStockPurchasePlanMember 2001-07-01 2001-07-31 0001120914 us-gaap:TransferredOverTimeMember 2021-07-01 2021-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2021-07-01 2021-09-30 0001120914 us-gaap:TransferredOverTimeMember 2021-01-01 2021-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2021-01-01 2021-09-30 0001120914 us-gaap:TransferredOverTimeMember 2020-07-01 2020-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2020-07-01 2020-09-30 0001120914 us-gaap:TransferredOverTimeMember 2020-01-01 2020-09-30 0001120914 us-gaap:TransferredAtPointInTimeMember 2020-01-01 2020-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2021-01-01 2021-09-30 0001120914 pdfs:EmployeeStockPurchasePlanMember 2020-01-01 2020-09-30 0001120914 us-gaap:FairValueInputsLevel1Member 2021-09-30 0001120914 2021-09-30 0001120914 us-gaap:FairValueInputsLevel1Member 2020-12-31 0001120914 2020-12-31 0001120914 pdfs:CimetrixIncorporatedMember 2021-01-01 2021-03-31 0001120914 pdfs:CimetrixIncorporatedMember 2021-09-30 0001120914 pdfs:CimetrixIncorporatedMember 2020-12-01 2020-12-31 0001120914 pdfs:AccruedCompensationAndRelatedBenefitsMember pdfs:CimetrixIncorporatedMember 2021-09-30 0001120914 pdfs:AccruedCompensationAndRelatedBenefitsMember pdfs:CimetrixIncorporatedMember 2020-12-31 0001120914 2021-07-01 2021-09-30 0001120914 2020-01-01 2020-09-30 0001120914 2020-07-01 2020-09-30 0001120914 2021-11-03 0001120914 2021-01-01 2021-09-30 shares iso4217:USD iso4217:USD shares pdfs:lease pdfs:item pure pdfs:DerivativeInstrument -0.06 -0.08 -0.39 37221000 35479000 37067000 33696000 -0.06 -0.08 -0.39 0001120914 --12-31 2021 Q3 0 0 -0.21 -0.21 1 false 10-Q true 2021-09-30 false 000-31311 PDF SOLUTIONS, INC. DE 25-1701361 2858 De La Cruz Blvd. Santa Clara CA 95050 408 280-7900 Common Stock, $0.00015 par value PDFS NASDAQ Yes Yes Non-accelerated Filer true false false 37345264 71238000 30315000 69992000 114981000 890000 963000 33681000 34140000 10298000 13944000 185209000 193380000 37821000 39242000 5614000 6672000 15305000 15774000 22106000 24573000 174000 249000 8995000 7690000 275224000 287580000 3210000 4399000 8125000 8339000 5854000 6309000 1740000 1926000 22207000 19895000 3000 1337000 41139000 42205000 2508000 2956000 5501000 6516000 2621000 1397000 51769000 53074000 0.00015 0.00015 5000000 5000000 0 0 0.00015 0.00015 70000000 70000000 47248000 46400000 37274000 36850000 6000 6000 418933000 407173000 9974000 9550000 103995000 96215000 -90721000 -76233000 -768000 -225000 223455000 234506000 275224000 287580000 27194000 14346000 66165000 42766000 2361000 8766000 15009000 22912000 29555000 23112000 81174000 65678000 11070000 9493000 32518000 26926000 10657000 8328000 32562000 24672000 9609000 8420000 28482000 24052000 314000 174000 942000 521000 194000 -361000 391000 -530000 -1901000 -3664000 -12939000 -11023000 506000 -930000 1549000 -4109000 -2407000 -2734000 -14488000 -6914000 -226000 540000 -540000 581000 1000 -3000 -3000 -3000 -225000 537000 -543000 578000 -2632000 -2197000 -15031000 -6336000 -0.06 -0.08 -0.39 -0.21 37221000 35479000 37067000 33696000 36850000 6000 407173000 9550000 -96215000 -76233000 -225000 234506000 100000 921000 921000 81000 568000 568000 149000 73000 1463000 1463000 -251000 251000 4523000 4523000 3369000 3369000 -7597000 -528000 -8125000 36929000 6000 412031000 9874000 -102201000 -83830000 -753000 225253000 39000 290000 290000 118000 51000 887000 887000 2742000 2742000 -4484000 210000 -4274000 37086000 6000 415063000 9925000 -103088000 -88314000 -543000 223124000 9000 114000 114000 40000 393000 393000 139000 49000 907000 907000 3363000 3363000 -2407000 -225000 -2632000 37274000 6000 418933000 9974000 -103995000 -90721000 -768000 223455000 32503000 5000 325197000 9294000 -91695000 -35870000 -1480000 196157000 89000 810000 810000 21000 161000 161000 182000 93000 1478000 1478000 3513000 3513000 -528000 -166000 -694000 32795000 5000 329681000 9387000 -93173000 -36398000 -1646000 198469000 56000 463000 463000 131000 52000 795000 795000 3013000 3013000 -3652000 207000 -3445000 32982000 5000 333157000 9439000 -93968000 -40050000 -1439000 197705000 100000 3307000 65077000 65077000 93000 860000 860000 101000 1210000 1210000 143000 52000 1024000 1024000 3146000 3146000 -2734000 537000 -2197000 36626000 5000 403450000 9491000 -94992000 -42784000 -902000 264777000 -14488000 -6914000 4806000 5030000 9474000 9476000 2467000 952000 499000 367000 87000 -5309000 -125000 -268000 -440000 -313000 -1848000 -235000 -1043000 -1048000 1211000 -1442000 -1969000 -3900000 -142000 227000 -167000 1568000 3542000 6928000 -1334000 313000 -1193000 -1168000 3827000 10876000 136000000 90985000 49983000 2713000 4786000 579000 42302000 -55348000 1251000 1834000 1035000 1670000 3257000 3297000 4523000 64995000 -5494000 65202000 -193000 51000 40442000 20781000 33815000 97605000 74257000 118386000 71238000 118386000 3019000 74257000 118386000 1543000 2188000 1538000 1598000 190000 247000 161000 963000 469000 151000 82000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1. BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The condensed consolidated balance sheet at December 31, 2020, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these financial statements include revenue recognition, assumptions made in analysis of allowance for doubtful accounts, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income taxes. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The global COVID-19 pandemic has impacted the operations and purchasing decisions of companies worldwide. As of the date of issuance of the condensed consolidated financial statements, the Company is not aware of any specific event or circumstance relating to COVID-19 that would require updates to the Company’s estimates and judgments or revisions to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the condensed consolidated financial statements as soon as they become known. Actual results could differ from those estimates and any such differences may be material to the financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recent Accounting Standards</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 18pt;">Accounting Standards Adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">In December 2019, the Financial Accounting Standards Board (“FASB”) issued Accounting Standard Update (“ASU”) No. 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes, related to simplifying the accounting for income taxes. The guidance eliminates certain exceptions from Accounting Standards Codification (“ASC”) 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The guidance also clarifies and simplifies other aspects of the accounting for income taxes. The guidance became effective for the Company beginning in the first quarter of 2021 on a </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">prospective basis. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In January 2020, the FASB issued ASU No. 2020-01, Investments-Equity Securities (Topic 321), Investments-Equity Method and Joint Ventures (Topic 323), and Derivatives and Hedging (Topic 815)-Clarifying the Interactions between Topic 321, Topic 323, and Topic 815. This ASU clarifies the interaction between accounting standards related to equity securities (ASC 321), equity method investments (ASC 323), and certain derivatives (ASC 815). The amendments in this ASU are effective for fiscal years beginning after December 15, 2020. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 18pt;">Accounting Standards Not Yet Adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU 2016-13), which requires measurement and recognition of expected credit losses for financial assets held at the reporting date based on internal information, external information, or a combination of both relating to past events, current conditions, and reasonable and supportable forecasts. ASU No. 2016-13 replaces the existing incurred loss impairment model with a forward-looking expected credit loss model, which will result in earlier recognition of credit losses. Subsequent to the issuance of ASU No. 2016-13, the FASB issued ASU No. 2018-19, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, ASU No. 2019-04, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, Topic 815, Derivatives and Hedging, and Topic 825, Financial Instrument, ASU No. 2019-05, Financial Instruments – Credit Losses (Topic 326) Targeted Transition Relief, ASU No. 2016-13, ASU No. 2019-10 Financial Instruments-Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842), and ASU No. 2019-11 Codification Improvements to Topic 326, Financial Instruments-Credit Losses. The subsequent ASUs do not change the core principle of the guidance in ASU No. 2016-13. Instead, these amendments are intended to clarify and improve operability of certain topics included within ASU No. 2016-13.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Additionally, ASU No. 2019-10 defers the effective date for the adoption of the new standard on credit losses for public filers that are considered small reporting companies (“SRC”) as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, which will be fiscal 2023 for the Company if it continues to be classified as an SRC. In February 2020, the FASB issued ASU 2020-02, which provides guidance regarding methodologies, documentation, and internal controls related to expected credit losses. The subsequent amendments will have the same effective date and transition requirements as ASU No. 2016-13. Early adoption is permitted. Topic 326 requires a modified retrospective approach by recording a cumulative-effect adjustment to retained earnings as of the beginning of the period of adoption. While the Company is currently evaluating the impact of Topic 326, the Company does not expect the adoption of this ASU to have a material impact on its condensed consolidated financial statements or the related disclosure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In August 2020, the FASB issued ASU No. 2020-06, Debt – Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging – Contracts in Entity’s Own Equity (Subtopic 815-20): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, which is intended to simplify the accounting for certain financial instruments with characteristics of liabilities and equity, including convertible instruments and contracts on an entity’s own equity. The guidance allows for either full retrospective adoption or modified retrospective adoption. Additionally, the ASU will require entities to use the “if-converted” method when calculating diluted earnings per share for convertible instruments. The ASU will be effective for annual reporting periods beginning after December 15, 2023 for SRCs and interim periods within those annual periods. Early adoption is permitted. The Company does not anticipate that the adoption of this ASU will have a significant impact on its condensed consolidated financial statements or the related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB, and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The condensed consolidated balance sheet at December 31, 2020, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Use of Estimates</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these financial statements include revenue recognition, assumptions made in analysis of allowance for doubtful accounts, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income taxes. Actual results could differ from those estimates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The global COVID-19 pandemic has impacted the operations and purchasing decisions of companies worldwide. As of the date of issuance of the condensed consolidated financial statements, the Company is not aware of any specific event or circumstance relating to COVID-19 that would require updates to the Company’s estimates and judgments or revisions to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the condensed consolidated financial statements as soon as they become known. Actual results could differ from those estimates and any such differences may be material to the financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Recent Accounting Standards</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 18pt;">Accounting Standards Adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">In December 2019, the Financial Accounting Standards Board (“FASB”) issued Accounting Standard Update (“ASU”) No. 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes, related to simplifying the accounting for income taxes. The guidance eliminates certain exceptions from Accounting Standards Codification (“ASC”) 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The guidance also clarifies and simplifies other aspects of the accounting for income taxes. The guidance became effective for the Company beginning in the first quarter of 2021 on a </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">prospective basis. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In January 2020, the FASB issued ASU No. 2020-01, Investments-Equity Securities (Topic 321), Investments-Equity Method and Joint Ventures (Topic 323), and Derivatives and Hedging (Topic 815)-Clarifying the Interactions between Topic 321, Topic 323, and Topic 815. This ASU clarifies the interaction between accounting standards related to equity securities (ASC 321), equity method investments (ASC 323), and certain derivatives (ASC 815). The amendments in this ASU are effective for fiscal years beginning after December 15, 2020. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 18pt;">Accounting Standards Not Yet Adopted</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU 2016-13), which requires measurement and recognition of expected credit losses for financial assets held at the reporting date based on internal information, external information, or a combination of both relating to past events, current conditions, and reasonable and supportable forecasts. ASU No. 2016-13 replaces the existing incurred loss impairment model with a forward-looking expected credit loss model, which will result in earlier recognition of credit losses. Subsequent to the issuance of ASU No. 2016-13, the FASB issued ASU No. 2018-19, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, ASU No. 2019-04, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, Topic 815, Derivatives and Hedging, and Topic 825, Financial Instrument, ASU No. 2019-05, Financial Instruments – Credit Losses (Topic 326) Targeted Transition Relief, ASU No. 2016-13, ASU No. 2019-10 Financial Instruments-Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842), and ASU No. 2019-11 Codification Improvements to Topic 326, Financial Instruments-Credit Losses. The subsequent ASUs do not change the core principle of the guidance in ASU No. 2016-13. Instead, these amendments are intended to clarify and improve operability of certain topics included within ASU No. 2016-13.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Additionally, ASU No. 2019-10 defers the effective date for the adoption of the new standard on credit losses for public filers that are considered small reporting companies (“SRC”) as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, which will be fiscal 2023 for the Company if it continues to be classified as an SRC. In February 2020, the FASB issued ASU 2020-02, which provides guidance regarding methodologies, documentation, and internal controls related to expected credit losses. The subsequent amendments will have the same effective date and transition requirements as ASU No. 2016-13. Early adoption is permitted. Topic 326 requires a modified retrospective approach by recording a cumulative-effect adjustment to retained earnings as of the beginning of the period of adoption. While the Company is currently evaluating the impact of Topic 326, the Company does not expect the adoption of this ASU to have a material impact on its condensed consolidated financial statements or the related disclosure.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In August 2020, the FASB issued ASU No. 2020-06, Debt – Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging – Contracts in Entity’s Own Equity (Subtopic 815-20): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, which is intended to simplify the accounting for certain financial instruments with characteristics of liabilities and equity, including convertible instruments and contracts on an entity’s own equity. The guidance allows for either full retrospective adoption or modified retrospective adoption. Additionally, the ASU will require entities to use the “if-converted” method when calculating diluted earnings per share for convertible instruments. The ASU will be effective for annual reporting periods beginning after December 15, 2023 for SRCs and interim periods within those annual periods. Early adoption is permitted. The Company does not anticipate that the adoption of this ASU will have a significant impact on its condensed consolidated financial statements or the related disclosures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB, and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed consolidated financial statements.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2. REVENUE FROM CONTRACTS WITH CUSTOMERS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company derives revenue from two sources: Analytics revenue and Integrated Yield Ramp revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue in accordance with FASB ASC Topic 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company determines revenue recognition through the following five steps:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Identification of the contract, or contracts, with a customer</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Identification of the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Determination of the transaction price</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Allocation of the transaction price to the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Recognition of revenue when, or as, performance obligations are satisfied</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectability of consideration is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Contracts with multiple performance obligations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Analytics Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup> and Cimetrix<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup> products), SaaS (which is primarily Exensio products), and DFI™ systems and CV<sup style="font-size:7.5pt;line-height:100%;top:0pt;vertical-align:top;">®</sup> systems that do not include performance incentives based on customers’ yield achievement.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers, if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because we are providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”) attributed to each performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using SSP attributed to each performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Revenue from DFI systems and CV systems that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">the Company allocates the transaction price of the contract to each performance obligation on a relative basis using SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgement. Please refer to “Significant Judgments” section of this Note for further discussion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Integrated Yield Ramp Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Revenue under these project–based contracts, which are delivered over a specific period of time, typically for a fixed fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgement. Please refer to “Significant Judgments” section of this Note for further discussion.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Gainshare royalty contained in IYR contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare royalty periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Disaggregation of Revenue</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue by timing of revenue:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:99.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;width:34.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:34.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Point-in-time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">International revenues accounted for approximately 53% and 57% of our total revenues during the three and nine months ended September 30, 2021, respectively, compared to 67% and 60% of our total revenues during the three and nine months ended September 30, 2020, respectively. See Note 11, <i style="font-style:italic;">Customer and Geographic Information</i>.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Significant Judgments</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For revenue under project-based contracts for fixed-price implementation services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company’s contracts with customers often include promises to transfer products, licenses software and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of SSPs for each performance obligation. In instances where SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company is required to record Gainshare royalty revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Contract Balances</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company performs its obligations under a contract with a customer by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer. The contract assets are generally classified as current and are recorded on a net basis with deferred revenue (i.e. contract liabilities) at the contract level. The total contract assets included in prepaid expenses and other current assets in the Condensed Consolidated Balance Sheets was immaterial as of September 30, 2021 and $3.7 million as of December 31, 2020. The Company did not record any asset impairment charges related to contract assets for the periods presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Deferred revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in the other non-current liabilities in the Condensed Consolidated Balance Sheets. At September 30, 2021 and December 31, 2020, the non-current portion of deferred revenues included in non-current liabilities was $2.5 million and $1.2 million, respectively. Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was $7.0 million and $4.7 million during the three months ended September 30, 2021 and 2020, respectively, and $13.8 million and $9.5 million during the nine months ended September 30, 2021 and 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">At September 30, 2021, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $180.9 million. Given the applicable contract terms with customers, the majority of this amount is expected to be recognized as revenue over the next two years, with the remainder in the following three years. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which we recognize revenue equal to the amount we have the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of $0.2 million and $1.2 million during the three months ended September 30, 2021 and 2020, respectively, and an increase of $34,000 and $0.4 million during the nine months ended September 30, 2021 and 2020, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare royalty.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Costs to obtain or fulfill a contract</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred. Total capitalized direct sales commission costs included in prepaid expenses and other current assets in the accompanying Condensed Consolidated Balance Sheets as of September 30, 2021, and December 31, 2020 were $0.8 million and $0.8 million, respectively. Total capitalized direct sales commission costs included in other non-current assets in the accompanying Condensed Consolidated Balance Sheets as of September 30, 2021, and December 31, 2020 were $1.8 million and $0.9 million, respectively. Amortization of these assets were $0.2 million and $0.1 million during the three months ended September 30, 2021 and 2020, respectively, and $0.5 million and $0.4 million during the nine months ended September 30, 2021 and 2020, respectively. There was no impairment loss in relation to the costs capitalized for the periods presented.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a significant financing component during the three and nine months ended September 30, 2021 and 2020.</p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company recognizes revenue in accordance with FASB ASC Topic 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company determines revenue recognition through the following five steps:</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Identification of the contract, or contracts, with a customer</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Identification of the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Determination of the transaction price</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Allocation of the transaction price to the performance obligations in the contract</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Recognition of revenue when, or as, performance obligations are satisfied</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectability of consideration is probable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Contracts with multiple performance obligations</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue by timing of revenue:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:99.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;width:34.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:34.01%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Over time</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 60</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 56</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Point-in-time</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:21.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:4.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table> 0.72 0.55 0.60 0.56 0.28 0.45 0.40 0.44 1 1 1 1 0.53 0.57 0.67 0.60 3700000 0 2500000 1200000 7000000.0 4700000 13800000 9500000 180900000 P2Y P3Y 200000 1200000 34000 400000 800000 800000 1800000 900000 200000 100000 500000 400000 0 0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">3. STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On July 29, 2020, the Company entered into a long-term strategic partnership with Advantest Corporation through its wholly-owned subsidiary, Advantest America, Inc. (collectively referred to herein as “Advantest”) that included the following agreements.</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">A Securities Purchase Agreement for the purchase by Advantest of an aggregate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">3,306,924</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;"> shares of the Company’s common stock for aggregate gross proceeds of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">$65.2</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;"> million and a related Stockholder Agreement.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">An Amendment #1 to that certain Software License and Related Services Agreement, dated as of March 25, 2020, for an exclusive commercial arrangement in which the Company and Advantest will collaborate on, and the Company will initially host, develop and maintain, an Advantest-specific cloud layer on the Exensio platform. </span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">An Amended and Restated Master Development Agreement with Advantest, pursuant to which the Company and Advantest agreed to collaborate on extensions to or combinations of both of their existing technology and new technology to address mutual customers’ needs through one or more development phases subject to certain conditions as set forth therein. Costs and expenses incurred related to this agreement have not been significant for the three and nine months ended September 30, 2021.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">A Master Commercial Terms and Support Services Agreement for the commercialization and support of integrated products of the Company and Advantest that are the outcome of the above development agreement. No material costs and expenses were incurred related to the Commercial Agreement with Advantest during the three and nine months ended September 30, 2021.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 0pt 36pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Analytics revenue recognized from Advantest were $2.7 million and $7.9 million during the three and nine months ended September 30, 2021, respectively, and $1.0 million during each of the three and nine months ended September 30, 2020. There was no outstanding accounts receivable from Advantest as of September 30, 2021 and December 31, 2020, and deferred revenue amounted to $9.6 million and nil as of September 30, 2021 and December 31, 2020, respectively. There was no occurrence of any termination events under these agreements as of the issuance of these condensed consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:18pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company carries out transactions with Advantest on arm’s length commercial customary terms. For more information about these agreements with Advantest, see Note 3, <i style="font-style:italic;">Strategic Partnership Agreement with Advantest and Related Party Transactions</i>, of Part II, Item 8. “Financial Statements and Supplementary Data” of the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p> 3306924 65200000 2700000 7900000 1000000.0 1000000.0 0 0 9600000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">4. BUSINESS COMBINATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On December 1, 2020 (the “Acquisition Date”), the Company acquired all the stock of Cimetrix Incorporated (“Cimetrix”). Total payment made for this acquisition in 2020 amounted to $28.6 million, net of cash acquired, and was funded from the available cash of the Company. In 2020, the Company held back $3.5 million of the purchase price (the “Holdback Amount”) to satisfy adjustments and claims for indemnity arising out of breaches of certain representations, warranties and covenants, and certain other enumerated items in the merger agreement. During the first quarter of 2021, the Company recorded a measurement period adjustment as described below which reduced the Holdback Amount to $3.0 million. This reduction was released from the restricted cash on the Company’s Condensed Consolidated Balance Sheet. The Holdback Amount, as adjusted, is expected to be paid to the participating equity holders on approximately the twelve-month anniversary of the Acquisition Date. The Holdback Amount is recorded under accrued and other current liabilities account in the Condensed Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company is required to maintain cash specifically designated to pay for the Holdback Amount, which the Company has classified as restricted cash. Restricted cash amounted to $3.0 million and $3.5 million as of September 30, 2021 and December 31, 2020, respectively, and is included in the “Prepaid expenses and other current assets” account in the Company’s Condensed Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company is still finalizing the allocation of the purchase price to the individual assets acquired. Accordingly, the estimates set forth below are preliminary and are subject to change during the measurement period, which is not to exceed one year from the acquisition date. During the measurement period, the Company records adjustments to the assets acquired and liabilities assumed, with the corresponding offset to goodwill. Upon the conclusion of the measurement period, any subsequent adjustments are recorded to earnings. During the first quarter of 2021, the Company recorded a measurement period adjustment to the estimated fair values initially recorded in 2020, which resulted in a reduction in Holdback Amount of $0.5 million with a corresponding change to goodwill. The measurement period adjustment did not have an impact on the Company’s Condensed Consolidated Statements of Comprehensive Loss during the three and nine months ended September 30, 2021. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">As of September 30, 2021, the allocation of the purchase price for this acquisition is as follows (in thousands, except amortization period):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Period (Years)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value of tangible assets (including cash of $5,900)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value of intangible assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">In-process R&amp;D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">N/A</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,967</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Noncompetition agreements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 848</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradenames and trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Goodwill</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,012</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">N/A</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total assets acquired</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,437</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 391</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,743</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total liabilities assumed</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total purchase price allocation</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,511</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Pursuant to the merger agreement, the Company will also pay approximately $1.4 million to certain employees, subject to their continued employment with Cimetrix or the Company, at various scheduled payout dates through the second quarter of 2024. This amount will be recognized as compensation expense over the period as services are rendered. As of September 30, 2021, the estimated remaining total cash payout is approximately $0.9 million. The accrued compensation balance included under accrued compensation and related benefits account in the Company’s Condensed Consolidated Balance Sheet was $0.4 million and $0.3 million as of September 30, 2021 and December 31, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Transaction expenses related to the acquisition of Cimetrix amounted to $1.6 million in 2020. These costs consist of professional fees and administrative costs and were expensed as incurred in the Company’s Condensed Consolidated Statement of Comprehensive Loss. No transaction costs were incurred during the three months ended September 30, 2021. Transaction costs were immaterial during the nine months ended September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The financial results of the acquisition of Cimetrix were considered immaterial for purposes of unaudited pro forma financial disclosures. </p> 28600000 3500000 3000000.0 3000000.0 3500000 -500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">As of September 30, 2021, the allocation of the purchase price for this acquisition is as follows (in thousands, except amortization period):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Period (Years)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value of tangible assets (including cash of $5,900)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Fair value of intangible assets:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Developed technology</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">8</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">In-process R&amp;D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">N/A</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,967</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Noncompetition agreements</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 848</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradenames and trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 808</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">10</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Goodwill</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13,012</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">N/A</p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total assets acquired</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,214</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Liabilities</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued expenses</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,437</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 391</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,743</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total liabilities assumed</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,703</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:73.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Total purchase price allocation</b></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,511</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">  </p></td></tr></table> 5900000 8403000 12541000 P8Y 3635000 1967000 P10Y 848000 P3Y 808000 P10Y 13012000 41214000 1437000 391000 132000 1743000 3703000 37511000 1400000 900000 400000 300000 1600000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">5. BALANCE SHEET COMPONENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Accounts receivable</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled $8.6 million and $7.2 million as of September 30, 2021, and December 31, 2020, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period is recorded in other non-current assets and totaled $1.6 million and $2.0 million as of September 30, 2021, and December 31, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Property and equipment</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Property and equipment, net consist of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,715</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,585</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,451</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,505</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,507</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,270</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,255</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Laboratory and other equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,650</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,451</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Test equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,865</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,010</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction-in-progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,432</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,278</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,537</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (40,049)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (36,295)</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,821</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,242</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Test equipment includes systems assets at customer sites that are contributing to DFI™ systems revenues. The construction-in-progress balance related to construction of DFI™ systems assets totaled $21.5 million and $18.9 million as of September 30, 2021, and December 31, 2020, respectively. Depreciation and amortization expense was $1.5 million and $1.7 million during the three months ended September 30, 2021 and 2020, respectively, and $4.8 million and $5.0 million during the nine months ended September 30, 2021 and 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Goodwill and Intangible Assets, Net</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The change in the carrying amount of goodwill during the nine months ended September 30, 2021, was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at beginning of period, January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,774</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Measurement period acquisition adjustment (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 469</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at end of period, September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,305</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Goodwill adjustment was recorded within the measurement period with a corresponding reduction in the Holdback Amount. See Note 4, </span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-align:justify;">Business Combination</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">There were no impairments to goodwill during the nine months ended September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Intangible assets, net, consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Acquired identifiable intangibles:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">1</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,880)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,527</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,398)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,009</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">4</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (16,652)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,348</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (14,987)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,013</p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Tradename and trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">2</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (785)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 813</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (706)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 892</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Patent</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">7</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">10</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,800</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,630)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,800</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,600)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 200</p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Noncompetition agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (235)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 613</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 824</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">In-process R&amp;D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (25,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,715)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,573</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 18pt;">* Non-amortizing intangible asset</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021 (remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 754</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,013</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,990</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,592</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,427</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,695</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total future amortization expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,471</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Intangible assets are amortized over their useful lives unless these lives are determined to be indefinite. The weighted average amortization period for acquired identifiable intangible assets was 5.7 years as of September 30, 2021. Intangible assets amortization expense included under “Cost of revenues” and “Amortization of other intangible assets” account in the Condensed Consolidated Statements of Comprehensive Loss was $0.8 million and $0.3 million during the three months ended September 30, 2021 and 2020, respectively, and $2.5 million and $1.0 million during the nine months ended September 30, 2021 and 2020, respectively. Intangible assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. During the three and nine months ended September 30, 2021, there were no indicators of impairment related to the Company’s intangible assets.</p> Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. 8600000 7200000 1600000 2000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Property and equipment, net consist of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Computer equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,715</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 11,585</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Software</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,433</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,451</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Furniture, fixtures and equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,505</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,507</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,270</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,255</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Laboratory and other equipment</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,650</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,451</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Test equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 24,865</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,010</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction-in-progress</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 23,432</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 20,278</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 77,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 75,537</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (40,049)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (36,295)</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,821</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.49%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 39,242</p></td></tr></table> 11715000 11585000 5433000 5451000 2505000 2507000 6270000 6255000 3650000 3451000 24865000 26010000 23432000 20278000 77870000 75537000 40049000 36295000 37821000 39242000 21500000 18900000 1500000 1700000 4800000 5000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The change in the carrying amount of goodwill during the nine months ended September 30, 2021, was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at beginning of period, January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,774</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Measurement period acquisition adjustment (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 469</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at end of period, September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,305</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Goodwill adjustment was recorded within the measurement period with a corresponding reduction in the Holdback Amount. See Note 4, </span><i style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:normal;text-align:justify;">Business Combination</i><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">.</span></td></tr></table><div style="margin-top:12pt;"/> 15774000 469000 15305000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Intangible assets, net, consisted of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, 2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:27.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, 2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gross</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Net</b></p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Period</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Accumulated</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Carrying</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:7.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Acquired identifiable intangibles:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 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:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 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:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><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:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">1</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,880)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,527</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,407</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (5,398)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,009</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Developed technology</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">4</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">9</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (16,652)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,348</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 30,000</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (14,987)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 15,013</p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Tradename and trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">2</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">10</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (785)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 813</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,598</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (706)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 892</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Patent</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">7</span><span style="font-size:8pt;">-</span><span style="font-size:8pt;">10</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,800</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,630)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 170</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,800</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,600)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 200</p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">Noncompetition agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;">3</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (235)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 613</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 848</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (24)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 824</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 6pt;">In-process R&amp;D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,635</p></td></tr><tr><td style="vertical-align:bottom;width:30.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (25,182)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 22,106</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47,288</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.28%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (22,715)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 24,573</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt 0pt 12pt 18pt;">* Non-amortizing intangible asset</p> P1Y P10Y 9407000 5880000 3527000 9407000 5398000 4009000 P4Y P9Y 30000000 16652000 13348000 30000000 14987000 15013000 P2Y P10Y 1598000 785000 813000 1598000 706000 892000 P7Y P10Y 1800000 1630000 170000 1800000 1600000 200000 P3Y 848000 235000 613000 848000 24000 824000 3635000 3635000 3635000 3635000 47288000 25182000 22106000 47288000 22715000 24573000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2021 (remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 754</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,013</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,990</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,592</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,427</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6,695</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total future amortization expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,471</p></td></tr></table> 754000 3013000 2990000 2592000 2427000 6695000 18471000 Intangible assets are amortized over their useful lives unless these lives are determined to be indefinite. P5Y8M12D 800000 300000 2500000 1000000.0 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">6. LEASES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company leases administrative and sales offices and certain equipment under non-cancellable operating leases, which contain various renewal options and, in some cases, require payment of common area costs, taxes and utilities. These operating leases expire at various dates through 2028. The Company had no leases that were classified as a financing lease as of September 30, 2021, and December 31, 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Lease expense was comprised of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 448</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 455</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,417</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,362</p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease and variable lease expense (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 401</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 644</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 582</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,763</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Leases with an initial term of 12 months or less are not recorded on the condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Supplemental information related to operating leases was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" 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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average remaining lease term under operating ROU leases (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average discount rate for operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Maturities of operating lease liabilities as of September 30, 2021, were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount(1)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2021 (remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 477</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,707</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,389</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,073</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,088</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,703</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,437</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Interest(2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,196)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Present value of future minimum lease payments under operating lease liabilities (3)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,241</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">As of September 30, 2021, the total operating lease liability includes approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">$1.1</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;"> million related to an option to extend a lease term that is reasonably certain to be exercised.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Calculated using incremental borrowing interest rate for each lease.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Includes the current portion of operating lease liabilities of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">$1.7</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;"> million as of September 30, 2021.</span></td></tr></table> 0 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Lease expense was comprised of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Operating lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 448</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 455</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,417</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,362</p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Short-term lease and variable lease expense (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 602</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 401</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease expense</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 644</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 582</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,019</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,763</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Leases with an initial term of 12 months or less are not recorded on the condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Supplemental information related to operating leases was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" 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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average remaining lease term under operating ROU leases (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.0</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6.4</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:67.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted average discount rate for operating lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 5.24</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table> 448000 455000 1417000 1362000 196000 127000 602000 401000 644000 582000 2019000 1763000 P6Y P6Y4M24D 0.0525 0.0524 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Maturities of operating lease liabilities as of September 30, 2021, were as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Year Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Amount(1)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2021 (remaining three months)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 477</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,707</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2023</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,389</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,073</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,088</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026 and thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,703</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total future minimum lease payments</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,437</p></td></tr><tr><td style="vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Less: Interest(2)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,196)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:84.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Present value of future minimum lease payments under operating lease liabilities (3)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,241</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">As of September 30, 2021, the total operating lease liability includes approximately </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">$1.1</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;"> million related to an option to extend a lease term that is reasonably certain to be exercised.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(2)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Calculated using incremental borrowing interest rate for each lease.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;width:100%;border:0pt;"><tr><td style="width:18pt;"/><td style="font-family:'Times New Roman';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(3)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">Includes the current portion of operating lease liabilities of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">$1.7</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;"> million as of September 30, 2021.</span></td></tr></table> 477000 1707000 1389000 1073000 1088000 2703000 8437000 1196000 7241000 1100000 1700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">7. STOCKHOLDERS’ EQUITY</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Issuance of Common Stock</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On July 30, 2020, the Company issued 3,306,924 shares of common stock, at a purchase price of $19.7085 per share, for aggregate gross proceeds of $65.2 million pursuant to a Securities Purchase Agreement with Advantest dated July 29, 2020. Issuance costs related to this private placement aggregated $0.1 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Stock Repurchase Program</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On May 28, 2020, the Company’s 2018 stock repurchase program (the “2018 Program”) that was originally adopted on May 29, 2018, expired. Through May 28, 2020, approximately 786,000 shares had been repurchased at an average price of $12.43 per share, for a total price of $9.8 million under the 2018 Program.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On June 4, 2020, the Company’s Board of Directors adopted a new stock repurchase program (the “2020 Program”) to repurchase up to $25.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, over the next two years. During the <span style="color:#333333;">nine months ended September 30, 2021</span>, 251,212 shares were repurchased under the 2020 Program at an average price of $18.01 per share for an aggregate total price of $4.5 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 3306924 19.7085 65200000 100000 786000 12.43 9800000 25000000.0 P2Y 251212 18.01 4500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8. EMPLOYEE BENEFIT PLANS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On September 30, 2021, the Company had the following stock-based compensation plans:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Employee Stock Purchase Plan</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">In July 2001, the Company’s stockholders initially approved the 2001 Employee Stock Purchase Plan, which was subsequently amended and restated in 2010 (as amended, the “2010 Purchase Plan”) to extend the term of the plan through May 17, 2020. Under the 2010 Purchase Plan, eligible employees could contribute up to 10% of their compensation, as defined in the 2010 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2010 Purchase Plan provided for twenty-four-month offering periods with four six-month purchase periods in each offering period. The 2010 Purchase Plan expired on May 17, 2020. Existing offering periods will continue until they expire in accordance with their terms, and </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">participation in such offering periods will continue through the applicable expiration date. The final offering period under the 2010 Purchase Plan expires on January 31, 2022. On June 15, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan, which has a ten-year term (the “2021 Purchase Plan”). The terms of 2021 Purchase Plan are substantially similar to those of the 2010 Purchase Plan. A twenty-four-month offering period under the 2021 Purchase Plan commenced on August 1, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company estimated the fair value of purchase rights granted under the 2010 and the 2021 Purchase Plans during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:98.63%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.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','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021 Purchase Plan</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2010 Purchase Plan</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended <br/>September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:31.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended<br/>September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected life (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Volatility</p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Risk-free interest rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.11</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected dividend</p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average fair value of purchase rights granted during the period</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.71</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.83</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.83</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">During the three months ended September 30, 2021 and 2020, a total of approximately 9,000 and 93,000 shares were issued under the 2010 Purchase Plan. During the nine months ended September 30, 2021 and 2020, a total of approximately 109,000 and 183,000 shares, respectively, were issued under the 2010 Purchase Plan, at a weighted-average purchase price of $9.53 per share and $9.12 per share, respectively. As of September 30, 2021, unrecognized compensation cost related to the 2021 Purchase Plan was $2.0 million and there was a negligible amount of unrecognized compensation cost related to the 2010 Purchase Plan. These costs are expected to be recognized over a weighted average period of 1.75 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Stock Incentive Plans</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">On November 16, 2011, the Company’s stockholders initially approved the 2011 Stock Incentive Plan, which has been amended and restated and approved by the Company’s stockholders a number of times since then (as amended, the “2011 Plan”). Under the 2011 Plan, the Company may award stock options, stock appreciation rights (“SARs”), stock grants or stock units covering shares of the Company’s common stock to employees, directors, non-employee directors and contractors. The aggregate number of shares reserved for awards under this plan is 11,500,000 shares, plus up to 3,500,000 shares previously issued under the 2001 Stock Plan adopted by the Company in 2001, which expired in 2011 (the “2001 Plan”) that are either (i) forfeited or (ii) repurchased by the Company or are shares subject to awards previously issued under the 2001 Plan that expire or that terminate without having been exercised or settled in full on or after November 16, 2011. In case of awards other than options or SARs, the aggregate number of shares reserved under the 2011 Plan will be decreased at a rate of 1.33 shares issued pursuant to such awards. The exercise price for stock options must generally be at prices no less than the fair market value at the date of grant. Stock options generally expire ten years from the date of grant and become vested and exercisable over a four-year period.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Stock options granted under the 2001 Plan generally expire ten years from the date of grant and become vested and exercisable over a four-year period. Although no new awards may be granted under the 2001 Plan, awards made under the 2001 Plan that are currently outstanding remain subject to the terms of each such plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of September 30, 2021, 12.1 million shares of common stock were reserved to cover stock-based awards under the 2011 Plan, of which 3.4 million shares were available for future grant. The number of shares reserved and available under the 2011 Plan includes 0.5 million shares that were subject to awards previously made under the 2001 Plan and were forfeited, expired or repurchased by the Company after the adoption of the 2011 Plan through September 30, 2021. As of September 30, 2021, there were no outstanding awards that had been granted outside of the 2011 or 2001 Plans (collectively, the “Stock Plans”).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options granted during the three and nine months ended September 30, 2021. The fair value of stock options granted during the three and nine months ended September 30, 2020, was estimated as of the grant-date using the following assumptions:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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.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','Times','serif';font-size: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.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','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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','Times','serif';font-size: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.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','Times','serif';font-size: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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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','Times','serif';font-size: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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected life (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.45</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.45</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.92</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Risk-free interest rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.23</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','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </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','Times','serif';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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.60</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','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected dividend</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average fair value per share of options granted during the period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.92</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.75</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;margin:0pt 0pt 12pt 0pt;">Stock-Based Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years<i style="font-style:italic;">.</i> Stock-based compensation expense before taxes related to the Company’s stock plans and employee stock purchase plan was allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Costs of revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 670</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 790</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,860</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,582</p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,299</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,613</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling, general and administrative</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,394</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,601</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,281</p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation expenses (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,476</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">The stock-based compensation expense during the three and nine months ended September 30, 2020, includes immaterial expense or credit adjustments related to cash-settled SARs granted to certain employees. The Company accounted for these awards as liability awards and the amount was included in accrued compensation and related benefits. All remaining outstanding SARs were fully exercised in the third quarter of 2020.</span></td></tr></table><div style="margin-top:12pt;"/><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Stock-based compensation expense that was recorded as capitalized software development costs under property and equipment, net, was nil during the three and nine months ended September 30, 2021, and nil and $0.2 million during the three and nine months ended September 30, 2020, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Additional information with respect to options under the Stock Plans during the nine months ended September 30, 2021, is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options (in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value (in</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">thousands)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 456</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.95</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (160)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.80</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canceled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.52</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.90</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.30</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,983</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and expected to vest, September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,956</p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable, September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,590</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The aggregate intrinsic value in the table above represents the total intrinsic value based on the Company’s closing stock price of $23.04 per share as of September 30, 2021. The total intrinsic value of options exercised was $1.9 million during the nine months ended September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of September 30, 2021, there was $0.2 million of total unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted average period of 2.0 years. The total fair value of shares vested was $0.1 million during the nine months ended September 30, 2021.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Non-vested restricted stock unit activity during the nine months ended September 30, 2021, was as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,747</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.33</p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18.42</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (579)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.08</p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.85</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,981</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.33</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">As of September 30, 2021, there was $27.1 million of total unrecognized compensation cost related to non-vested restricted stock units. That cost is expected to be recognized over a weighted average period of 2.7 years. Restricted stock units do not have rights to dividends prior to vesting.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">In July 2001, the Company’s stockholders initially approved the 2001 Employee Stock Purchase Plan, which was subsequently amended and restated in 2010 (as amended, the “2010 Purchase Plan”) to extend the term of the plan through May 17, 2020. Under the 2010 Purchase Plan, eligible employees could contribute up to 10% of their compensation, as defined in the 2010 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2010 Purchase Plan provided for twenty-four-month offering periods with four six-month purchase periods in each offering period. The 2010 Purchase Plan expired on May 17, 2020. Existing offering periods will continue until they expire in accordance with their terms, and </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt 0pt 12pt 0pt;">participation in such offering periods will continue through the applicable expiration date. The final offering period under the 2010 Purchase Plan expires on January 31, 2022. On June 15, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan, which has a ten-year term (the “2021 Purchase Plan”). The terms of 2021 Purchase Plan are substantially similar to those of the 2010 Purchase Plan. A twenty-four-month offering period under the 2021 Purchase Plan commenced on August 1, 2021.</p> 0.10 0.85 P24M 4 P6M P10Y P24M <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:98.63%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.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','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021 Purchase Plan</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2010 Purchase Plan</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended <br/>September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:31.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended<br/>September 30,</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected life (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Volatility</p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 48.00</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34.25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Risk-free interest rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.11</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1.43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected dividend</p></td><td style="vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:43.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average fair value of purchase rights granted during the period</p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:15.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.71</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.83</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.83</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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.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','Times','serif';font-size: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.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','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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','Times','serif';font-size: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.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','Times','serif';font-size: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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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','Times','serif';font-size: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.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected life (in years)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.45</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 4.45</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Volatility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43.92</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Risk-free interest rate</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.23</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','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </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','Times','serif';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.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 0.60</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','Times','serif';font-size:10pt;margin:0pt;">%  </p></td></tr><tr><td style="vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Expected dividend</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:30.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average fair value per share of options granted during the period</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.92</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5.75</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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr></table> P1Y3M P1Y3M P1Y3M 0.4800 0.3425 0.3425 0.0011 0.0143 0.0143 0 0 0 6.71 4.83 4.83 9000 93000 109000 183000 9.53 9.12 2000000.0 P1Y9M 11500000 3500000 1.33 P10Y P4Y P10Y P4Y 12100000 3400000 500000 0 0 0 P4Y5M12D P4Y5M12D 0.4392 0.4090 0.0023 0.0060 0 0 6.92 5.75 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years<i style="font-style:italic;">.</i> Stock-based compensation expense before taxes related to the Company’s stock plans and employee stock purchase plan was allocated as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:30.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Costs of revenues</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 670</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 790</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,860</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,582</p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,299</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,148</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,613</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Selling, general and administrative</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,394</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,192</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,601</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,281</p></td></tr><tr><td style="vertical-align:bottom;width:34.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Stock-based compensation expenses (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.24%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.22%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,130</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,474</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,476</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;text-align:justify;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:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">The stock-based compensation expense during the three and nine months ended September 30, 2020, includes immaterial expense or credit adjustments related to cash-settled SARs granted to certain employees. The Company accounted for these awards as liability awards and the amount was included in accrued compensation and related benefits. All remaining outstanding SARs were fully exercised in the third quarter of 2020.</span></td></tr></table><div style="margin-top:12pt;"/> P4Y 670000 790000 1860000 2582000 1299000 1148000 4013000 3613000 1394000 1192000 3601000 3281000 3363000 3130000 9474000 9476000 0 0 0 200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Remaining</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Aggregate</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Exercise</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contractual</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intrinsic</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Options (in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Term</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Value (in</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">per Share</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Years)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">thousands)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 456</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10.95</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Exercised</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (160)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7.80</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Canceled</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 13.52</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Expired</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (4)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 6.90</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding, September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 289</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.30</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,983</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Vested and expected to vest, September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 286</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.69</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3.25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,956</p></td></tr><tr><td style="vertical-align:bottom;width:44.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Exercisable, September 30, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12.27</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2.43</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.74%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,590</p></td></tr></table> 456000 10.95 160000 7.80 3000 13.52 4000 6.90 289000 12.72 P3Y3M18D 2983000 286000 12.69 P3Y3M 2956000 240000 12.27 P2Y5M4D 2590000 23.04 1900000 200000 P2Y 100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Average Grant</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Shares </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Fair Value</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Per Share</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, January 1, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,747</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.33</p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 894</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18.42</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (579)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.08</p></td></tr><tr><td style="vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16.85</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:70.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested, September 30, 2021</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,981</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="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','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17.33</p></td></tr></table> 1747000 16.33 894000 18.42 579000 16.08 81000 16.85 1981000 17.33 27100000 P2Y8M12D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9. INCOME TAXES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Income tax expense increased $5.7 million for the nine months ended September 30, 2021, to a $1.5 million income tax expense as compared to an income tax benefit of $4.1 million for the nine months ended September 30, 2020. The Company’s effective tax rate (expense) benefit was (12%) and 37% for the nine months ended September 30, 2021 and 2020, respectively. The Company’s effective tax rate increased in the nine months ended September 30, 2021, as compared to the same period in 2020, primarily due to a full valuation allowance against U.S. net deferred tax assets in the fourth quarter of 2020 as well as a one-time benefit in the first quarter of 2020 pursuant to the provisions of the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) passed on March 27, 2020.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company’s total amount of unrecognized tax benefits, excluding interest and penalties, as of September 30, 2021, was $14.7 million, of which $1.9 million, if recognized, would affect the Company’s effective tax rate. The Company’s total amount of unrecognized tax benefits, excluding interest and penalties, as of December 31, 2020, was $14.3 million, of which $2.2 million, if recognized, would affect the Company’s effective tax rate. As of September 30, 2021, the Company has recorded unrecognized tax benefits of $2.5 million, including interest and penalties of $0.7 million, as long-term taxes payable in its Condensed Consolidated Balance Sheet. The remaining $12.8 million has been recorded net of the Company’s DTAs, which is subject to a full valuation allowance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The valuation allowance was approximately $41.9 million as of September 30, 2021, and December 31, 2020, which was related to U.S. net federal and state DTAs. The net deferred tax assets balance as of September 30, 2021, and December 31, 2020, was $0.2 million and $0.2 million, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company conducts business globally and, as a result, files numerous consolidated and separate income tax returns in the U.S. federal, various state and foreign jurisdictions. For U.S. federal and California income tax purposes, the statute of limitations currently remains open for the tax years ending 2017 to present and 2016 to present, respectively. In addition, due to NOL carryback claims, the tax years 2013 through 2015 may be subject to federal examination and all of the net operating loss and research and development credit carryforwards that may be utilized in future years may be subject to federal and state examination. The Company is not subject to income tax examinations in any other of its major foreign subsidiaries’ jurisdictions.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">On March 11, 2021, the American Rescue Plan Act of 2021 (“American Rescue Plan”) was signed into law to provide additional relief in connection with the ongoing COVID-19 pandemic. The American Rescue Plan includes, among other things, provisions relating to Paycheck Protection Program (PPP) loan expansion, defined pension contributions, excessive employee remuneration, and the repeal of the election to allocate interest expense on a worldwide basis. Under ASC 740 the effects of new legislation are recognized upon enactment. Accordingly, the American Rescue Plan became effective beginning in the quarter ended March 31, 2021. Such provisions did not have a material impact on the Company’s condensed consolidated financial statements.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p> 5700000 1500000 -4100000 0.12 -0.37 14700000 1900000 14300000 2200000 2500000 700000 12800000 41900000 41900000 200000 200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10. NET LOSS PER SHARE</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Basic net loss per share is computed by dividing net loss by weighted average number of common shares outstanding for the period (excluding outstanding stock options and shares subject to repurchase). Diluted net loss per share is computed using the weighted-average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be anti-dilutive. The following is a reconciliation of the numerators and denominators used in computing basic and diluted net loss per share (in thousands except per share amount):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,407)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,734)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,488)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,914)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </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','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic weighted-average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,067</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,696</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Effect of dilutive options and restricted stock units</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted weighted-average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,067</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,696</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss per share, basic and diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.06)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.39)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_O0ctTkcLZ0iVPgeZvXSqrQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.21)</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">For the three and nine months ended September 30, 2021 and 2020, because the Company was in a loss position, basic net loss per share is the same as diluted net loss per share as the inclusion of the potential common shares would have been anti-dilutive.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth potential shares of common stock that were not included in the diluted net loss per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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','Times','serif';font-size: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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 362</p></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,084</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 820</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employee Stock Purchase Plan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146</p></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,073</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,584</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,328</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> Basic net loss per share is computed by dividing net loss by weighted average number of common shares outstanding for the period (excluding outstanding stock options and shares subject to repurchase). Diluted net loss per share is computed using the weighted-average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be anti-dilutive. <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:31.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:29.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.72%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Numerator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,407)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,734)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,488)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,914)</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Denominator:</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </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','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Basic weighted-average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,067</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,696</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Effect of dilutive options and restricted stock units</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;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','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Diluted weighted-average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,221</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 35,479</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 37,067</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 33,696</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';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.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:34.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net loss per share, basic and diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.08%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.06)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.88%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.08)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.41%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.39)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_O0ctTkcLZ0iVPgeZvXSqrQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:left;">$</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.78%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.21)</p></td></tr></table> -2407000 -2734000 -14488000 -6914000 37221000 35479000 37067000 33696000 37221000 35479000 37067000 33696000 -0.06 -0.08 -0.39 -0.21 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table sets forth potential shares of common stock that were not included in the diluted net loss per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:34.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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','Times','serif';font-size: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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Outstanding options</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 128</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 310</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 182</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 362</p></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Non-vested restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,084</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 997</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 820</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Employee Stock Purchase Plan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 30</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 190</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 14</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 146</p></td></tr><tr><td style="vertical-align:bottom;width:34.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,073</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,584</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,193</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,328</p></td></tr></table> 128000 310000 182000 362000 915000 1084000 997000 820000 30000 190000 14000 146000 1073000 1584000 1193000 1328000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">11. CUSTOMER AND GEOGRAPHIC INFORMATION</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and <span style="-sec-ix-hidden:Hidden_c0mYiPxq1EqFwLbHsrWugA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">reporting</span></span> segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company had revenues from individual customers in excess of 10% of total revenues as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:32.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;">* represents less than 10%</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:68.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">C</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;">* represents less than 10%</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:43.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,983</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,710</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 33</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Rest of the world</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,534</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,655</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size: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.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size: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.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:43.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,242</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,065</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,543</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,414</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rest of the world</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,521</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,784</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,174</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,678</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Long-lived assets, net by geographic area are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,811</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,663</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rest of the world</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,624</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,251</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,435</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,914</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and <span style="-sec-ix-hidden:Hidden_c0mYiPxq1EqFwLbHsrWugA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;text-align:justify;">reporting</span></span> segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.</p> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:31.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:30.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:32.36%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 18</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">D</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 12</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:32.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">E</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;">* represents less than 10%</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:68.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Customer</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">A</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 16</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">B</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">C</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:68.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">D</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 25</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;">*</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom: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','Times','serif';font-size:10pt;padding-left:18pt;text-align:justify;text-indent:-18pt;margin:0pt 0pt 12pt 0pt;">* represents less than 10%</p> 0.18 0.23 0.14 0.25 0.12 0.10 0.16 0.13 0.10 0.11 0.25 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:43.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 13,983</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 47</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 7,710</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 33</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 4,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,747</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Rest of the world</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,534</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 39</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,655</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 38</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 29,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 23,112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size: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.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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','Times','serif';font-size: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.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:43.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:20.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Percentage</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.14%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">of Revenues</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 34,634</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 26,242</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 40</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">China</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,065</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 16</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Japan</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,543</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 10</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 3,414</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Taiwan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 5,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 7</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 8,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 12</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rest of the world</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 22,521</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 28</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 17,784</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 27</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:52.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.79%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 81,174</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.8%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 65,678</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 100</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table> 13983000 0.47 7710000 0.33 4038000 0.14 6747000 0.29 11534000 0.39 8655000 0.38 29555000 1 23112000 1 34634000 0.43 26242000 0.40 10065000 0.12 10200000 0.16 8543000 0.10 3414000 0.05 5411000 0.07 8038000 0.12 22521000 0.28 17784000 0.27 81174000 1 65678000 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Long-lived assets, net by geographic area are as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">    </p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 41,811</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,663</p></td></tr><tr><td style="vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Rest of the world</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 1,624</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 2,251</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:71.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total long-lived assets, net</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.52%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 43,435</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.75%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 45,914</p></td></tr></table> 41811000 43663000 1624000 2251000 43435000 45914000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">12. FAIR VALUE MEASUREMENTS</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"/></div></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"/></div></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Level 1 -</p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Inputs are quoted prices in active markets for identical assets or liabilities.</p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Level 2 -</p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.</p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Level 3 -</p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2021, and December 31, 2020, and the basis for those measurements (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements Using</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs (Level 3)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </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','Times','serif';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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market mutual funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,039</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,039</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments (available-for-sale debt securities)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">U.S. Treasury bills</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,031</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,031</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs </b></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </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','Times','serif';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:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market mutual funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments (available-for-sale debt securities)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">U.S. Treasury bills</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,993</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,993</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">As of September 30, 2021, and December 31, 2020, the amortized cost of the Company’s cash equivalents and short-term investments approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. There were no material realized or unrealized gains or losses, either individually or in the aggregate.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">From time to time, the Company enters into foreign currency forward contracts to reduce the exposure to foreign currency exchange rate fluctuations on certain foreign currency denominated monetary assets and liabilities, primarily on third-party accounts payables and intercompany balances. The primary objective of the Company’s hedging program is to reduce volatility of earnings related to foreign currency exchange rate fluctuations. The counterparty to these foreign currency forward contracts is a financial institution that the Company believes is creditworthy, and therefore, the Company believes the credit risk of counterparty nonperformance is not significant. These foreign currency forward contracts are not designated for hedge accounting treatment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Therefore, the change in fair value of these contracts is recorded into earnings as a component of other expense (income), net, and offsets the change in fair value of the foreign currency denominated assets and liabilities, which is also recorded in other expense (income), net in the Company’s Condensed Consolidated Statements of Comprehensive Loss.There was no realized gain or loss from foreign currency forward contracts during the three and nine months ended September 30, 2021, or the three months ended September 30, 2020. The Company recognized a net realized loss of $0.2 million from foreign currency forward contracts during the nine months ended September 30, 2020. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">As applicable, the Company carries these derivatives financial instruments on its Condensed Consolidated Balance Sheets at their fair values. The Company’s foreign currency forward contracts are classified as Level 2 because they are not actively </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">traded and the valuation inputs are based on quoted prices and market observable data of similar instruments. As of September 30, 2021, and December 31, 2020, the Company had no outstanding forward contracts.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"/></div></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"/></div></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Level 1 -</p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Inputs are quoted prices in active markets for identical assets or liabilities.</p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Level 2 -</p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.</p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:top;width:8.34%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Level 3 -</p></td><td style="vertical-align:top;width:91.65%;margin:0pt;padding:0.25pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;margin:0pt;">Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.</p></td></tr></table> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2021, and December 31, 2020, and the basis for those measurements (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.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','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:52.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements Using</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs (Level 3)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </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','Times','serif';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.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market mutual funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,039</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 55,039</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments (available-for-sale debt securities)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">U.S. Treasury bills</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 69,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:45.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.97%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,031</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.42%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.87%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 125,031</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.43%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:11.98%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size: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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Prices in</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;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','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Active</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Markets for</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Identical</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;text-decoration:underline;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs </b></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2020</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.8%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash equivalents</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </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','Times','serif';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:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Money market mutual funds</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 18,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Short-term investments (available-for-sale debt securities)</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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','Times','serif';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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">U.S. Treasury bills</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 114,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr><tr><td style="background-color:#cceeff;vertical-align:bottom;width:47.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,993</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:1.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.85%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> 132,993</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:8.44%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';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.64%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="background-color:#cceeff;vertical-align:bottom;white-space:nowrap;width:10.15%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0pt 0pt;"> —</p></td></tr></table> 55039000 55039000 69992000 69992000 125031000 125031000 18012000 18012000 114981000 114981000 132993000 132993000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">From time to time, the Company enters into foreign currency forward contracts to reduce the exposure to foreign currency exchange rate fluctuations on certain foreign currency denominated monetary assets and liabilities, primarily on third-party accounts payables and intercompany balances. The primary objective of the Company’s hedging program is to reduce volatility of earnings related to foreign currency exchange rate fluctuations. The counterparty to these foreign currency forward contracts is a financial institution that the Company believes is creditworthy, and therefore, the Company believes the credit risk of counterparty nonperformance is not significant. These foreign currency forward contracts are not designated for hedge accounting treatment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">Therefore, the change in fair value of these contracts is recorded into earnings as a component of other expense (income), net, and offsets the change in fair value of the foreign currency denominated assets and liabilities, which is also recorded in other expense (income), net in the Company’s Condensed Consolidated Statements of Comprehensive Loss.There was no realized gain or loss from foreign currency forward contracts during the three and nine months ended September 30, 2021, or the three months ended September 30, 2020. The Company recognized a net realized loss of $0.2 million from foreign currency forward contracts during the nine months ended September 30, 2020. </p> 0 0 0 200000 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">13. COMMITMENTS AND CONTINGENCIES</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Strategic Partnership with Advantest</span> — See Note 4, <i style="font-style:italic;">Business Combination</i>, for the discussion about the Company’s commitments under the strategic partnership with Advantest.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Operating Leases</span> — Refer to Note 6, <i style="font-style:italic;">Leases</i>, for the discussion about the Company’s lease commitments.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Indemnifications</span> — The Company generally provides a warranty to its customers that its software will perform substantially in accordance with documented specifications typically for a period of 90 days following initial delivery of its products. The Company also indemnifies certain customers from third-party claims of intellectual property infringement relating to the use of its products. Historically, costs related to these guarantees have not been significant. The Company is unable to estimate the maximum potential impact of these guarantees on its future results of operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Purchase Obligations</span> — The Company has purchase obligations with certain suppliers for the purchase of goods and services entered in the ordinary course of business. As of September 30, 2021, total outstanding purchase obligations were $11.3 million, the majority of which is due within the next 24 months.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Indemnification of Officers and Directors</span> — As permitted by the Delaware general corporation law, the Company has included a provision in its certificate of incorporation to eliminate the personal liability of its officers and directors for monetary damages for breach or alleged breach of their fiduciary duties as officers or directors, other than in cases of fraud or other willful misconduct.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;">In addition, the Bylaws of the Company provide that the Company is required to indemnify its officers and directors even when indemnification would otherwise be discretionary, and the Company is required to advance expenses to its officers and directors as incurred in connection with proceedings against them for which they may be indemnified. The Company has entered into indemnification agreements with its officers and directors containing provisions that are in some respects broader than the specific indemnification provisions contained in the Delaware general corporation law. The indemnification agreements require the Company to indemnify its officers and directors against liabilities that may arise by reason of their status or service as officers and directors other than for liabilities arising from willful misconduct of a culpable nature, to advance their expenses incurred as a result of any proceeding against them as to which they could be indemnified, and to obtain directors’ and officers’ insurance if available on reasonable terms. The Company has obtained directors’ and officers’ liability insurance in amounts comparable to other companies of the Company’s size and in the Company’s industry. Since a maximum obligation of the Company is not explicitly stated in the Company’s Bylaws or in its indemnification agreements and will depend on the facts and circumstances that arise out of any future claims, the overall maximum amount of the obligations cannot be reasonably estimated.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt 0pt 12pt 0pt;"><span style="font-style:italic;font-weight:bold;">Legal Proceedings</span> — From time to time, the Company is subject to various claims and legal proceedings that arise in the ordinary course of business. The Company accrues for losses related to litigation when a potential loss is probable and the loss can be reasonably estimated in accordance with FASB requirements. As of September 30, 2021, the Company was not a party to any material legal proceedings where a loss was probable, and thus no amount was accrued.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:justify;text-indent:18pt;margin:0pt;">On May 6, 2020, the Company initiated an arbitration proceeding with the Hong Kong International Arbitration Center against SMIC New Technology Research &amp; Development (Shanghai) Corporation (“SMIC”) due to SMIC’s failure to pay fees due to PDF under a series of contracts. The Company seeks to recover the unpaid fees, a declaration requiring SMIC to pay fees under the contracts in the future, and costs associated with bringing the arbitration proceeding. The arbitration is on-going.</p> P90D 11300000 P24M 0 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.21.2
Document And Entity Information - shares
9 Months Ended
Sep. 30, 2021
Nov. 03, 2021
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2021  
Document Transition Report false  
Entity File Number 000-31311  
Entity Registrant Name PDF SOLUTIONS, INC.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 25-1701361  
Entity Address, Address Line One 2858 De La Cruz Blvd.  
Entity Address, City or Town Santa Clara  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 95050  
City Area Code 408  
Local Phone Number 280-7900  
Title of 12(b) Security Common Stock, $0.00015 par value  
Trading Symbol PDFS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   37,345,264
Entity Central Index Key 0001120914  
Amendment Flag false  
Current Fiscal Year End Date --12-31  
Document Fiscal Period Focus Q3  
Document Fiscal Year Focus 2021  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Current assets:    
Cash and cash equivalents $ 71,238 $ 30,315
Short-term investments 69,992 114,981
Accounts receivable, net of allowance for doubtful accounts of $890 and $963 in 2021 and 2020, respectively 33,681 34,140
Prepaid expenses and other current assets 10,298 13,944
Total current assets 185,209 193,380
Property and equipment, net 37,821 39,242
Operating lease right-of-use assets, net 5,614 6,672
Goodwill 15,305 15,774
Intangible assets, net 22,106 24,573
Deferred tax assets, net 174 249
Other non-current assets 8,995 7,690
Total assets 275,224 287,580
Current liabilities:    
Accounts payable 3,210 4,399
Accrued compensation and related benefits 8,125 8,339
Accrued and other current liabilities 5,854 6,309
Operating lease liabilities - current portion 1,740 1,926
Deferred revenues - current portion 22,207 19,895
Billings in excess of recognized revenues 3 1,337
Total current liabilities 41,139 42,205
Long-term income taxes payable 2,508 2,956
Non-current operating lease liabilities 5,501 6,516
Other non-current liabilities 2,621 1,397
Total liabilities 51,769 53,074
Commitments and contingencies (Note 13)
Stockholders' equity:    
Preferred stock, $0.00015 par value, 5,000 shares authorized, no shares issued and outstanding
Common stock, $0.00015 par value, 70,000 shares authorized; shares issued 47,248 and 46,400, respectively; shares outstanding 37,274 and 36,850, respectively 6 6
Additional paid-in-capital 418,933 407,173
Treasury stock at cost, 9,974 and 9,550 shares, respectively (103,995) (96,215)
Accumulated deficit (90,721) (76,233)
Accumulated other comprehensive loss (768) (225)
Total stockholders' equity 223,455 234,506
Total liabilities and stockholders' equity $ 275,224 $ 287,580
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parentheticals) - USD ($)
shares in Thousands, $ in Thousands
Sep. 30, 2021
Dec. 31, 2020
CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)    
Accounts receivable, allowance for doubtful accounts $ 890 $ 963
Preferred stock, par value (in dollars per share) $ 0.00015 $ 0.00015
Preferred stock, shares authorized (in shares) 5,000 5,000
Preferred stock, shares issued (in shares) 0 0
Preferred stock, shares outstanding (in shares) 0 0
Common stock, par value (in dollars per share) $ 0.00015 $ 0.00015
Common stock, shares authorized (in shares) 70,000 70,000
Common stock, shares issued (in shares) 47,248 46,400
Common stock, shares outstanding (in shares) 37,274 36,850
Treasury stock, shares (in shares) 9,974 9,550
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Revenues:        
Revenues $ 29,555 $ 23,112 $ 81,174 $ 65,678
Costs and Expenses:        
Costs of revenues 11,070 9,493 32,518 26,926
Research and development 10,657 8,328 32,562 24,672
Selling, general and administrative 9,609 8,420 28,482 24,052
Amortization of other acquired intangible assets 314 174 942 521
Interest and other expense (income), net (194) 361 (391) 530
Loss before income taxes (1,901) (3,664) (12,939) (11,023)
Income tax expense (benefit) 506 (930) 1,549 (4,109)
Net loss (2,407) (2,734) (14,488) (6,914)
Other comprehensive income (loss):        
Foreign currency translation adjustments, net of tax (226) 540 (540) 581
Change in unrealized losses related to available-for-sale debt securities, net of tax 1 (3) (3) (3)
Total other comprehensive income (loss) (225) 537 (543) 578
Comprehensive loss $ (2,632) $ (2,197) $ (15,031) $ (6,336)
Basic (in dollars per share) $ (0.06) $ (0.08) $ (0.39) $ (0.21)
Diluted (in dollars per share) $ (0.06) $ (0.08) $ (0.39) $ (0.21)
Basic weighted-average shares outstanding (in shares) 37,221 35,479 37,067 33,696
Diluted weighted-average shares outstanding (in shares) 37,221 35,479 37,067 33,696
Analytics [Member]        
Revenues:        
Revenues $ 27,194 $ 14,346 $ 66,165 $ 42,766
Integrated Yield Ramp [Member]        
Revenues:        
Revenues $ 2,361 $ 8,766 $ 15,009 $ 22,912
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) - USD ($)
shares in Thousands, $ in Thousands
Common Stock Outstanding [Member]
Additional Paid-in Capital [Member]
Treasury Stock [Member]
Retained Earnings [Member]
AOCI Attributable to Parent [Member]
Total
Balances (in shares) at Dec. 31, 2019 32,503   9,294      
Balances at Dec. 31, 2019 $ 5 $ 325,197 $ (91,695) $ (35,870) $ (1,480) $ 196,157
Issuance of common stock in connection with employee stock purchase plan (in shares) 89          
Issuance of common stock in connection with employee stock purchase plan   810       810
Issuance of common stock in connection with exercise of options (in shares) 21          
Issuance of common stock in connection with exercise of options   161       161
Vesting of restricted stock units (in shares) 182          
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares)     93      
Purchases of treasury stock in connection with tax withholdings on restricted stock grants     $ (1,478)     (1,478)
Stock-based compensation expense   3,513       3,513
Comprehensive income (loss)       (528) (166) (694)
Balances (in shares) at Mar. 31, 2020 32,795   9,387      
Balances at Mar. 31, 2020 $ 5 329,681 $ (93,173) (36,398) (1,646) 198,469
Balances (in shares) at Dec. 31, 2019 32,503   9,294      
Balances at Dec. 31, 2019 $ 5 325,197 $ (91,695) (35,870) (1,480) 196,157
Comprehensive income (loss)           (6,336)
Balances (in shares) at Sep. 30, 2020 36,626   9,491      
Balances at Sep. 30, 2020 $ 5 403,450 $ (94,992) (42,784) (902) 264,777
Balances (in shares) at Mar. 31, 2020 32,795   9,387      
Balances at Mar. 31, 2020 $ 5 329,681 $ (93,173) (36,398) (1,646) 198,469
Issuance of common stock in connection with exercise of options (in shares) 56          
Issuance of common stock in connection with exercise of options   463       463
Vesting of restricted stock units (in shares) 131          
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares)     52      
Purchases of treasury stock in connection with tax withholdings on restricted stock grants     $ (795)     (795)
Stock-based compensation expense   3,013       3,013
Comprehensive income (loss)       (3,652) 207 (3,445)
Balances (in shares) at Jun. 30, 2020 32,982   9,439      
Balances at Jun. 30, 2020 $ 5 333,157 $ (93,968) (40,050) (1,439) 197,705
Issuance of common stock, net of issuance of $0.1 million (in shares) 3,307          
Issuance of common stock, net of issuance of $0.1 million   65,077       65,077
Issuance of common stock in connection with employee stock purchase plan (in shares) 93          
Issuance of common stock in connection with employee stock purchase plan   860       860
Issuance of common stock in connection with exercise of options (in shares) 101          
Issuance of common stock in connection with exercise of options   1,210       1,210
Vesting of restricted stock units (in shares) 143          
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares)     52      
Purchases of treasury stock in connection with tax withholdings on restricted stock grants     $ (1,024)     (1,024)
Stock-based compensation expense   3,146       3,146
Comprehensive income (loss)       (2,734) 537 (2,197)
Balances (in shares) at Sep. 30, 2020 36,626   9,491      
Balances at Sep. 30, 2020 $ 5 403,450 $ (94,992) (42,784) (902) 264,777
Balances (in shares) at Dec. 31, 2020 36,850   9,550      
Balances at Dec. 31, 2020 $ 6 407,173 $ (96,215) (76,233) (225) 234,506
Issuance of common stock in connection with employee stock purchase plan (in shares) 100          
Issuance of common stock in connection with employee stock purchase plan   921       921
Issuance of common stock in connection with exercise of options (in shares) 81          
Issuance of common stock in connection with exercise of options   568       568
Vesting of restricted stock units (in shares) 149          
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares)     73      
Purchases of treasury stock in connection with tax withholdings on restricted stock grants     $ (1,463)     (1,463)
Repurchase of common stock (in shares) (251)   251      
Repurchase of common stock     $ (4,523)     (4,523)
Stock-based compensation expense   3,369       3,369
Comprehensive income (loss)       (7,597) (528) (8,125)
Balances (in shares) at Mar. 31, 2021 36,929   9,874      
Balances at Mar. 31, 2021 $ 6 412,031 $ (102,201) (83,830) (753) 225,253
Balances (in shares) at Dec. 31, 2020 36,850   9,550      
Balances at Dec. 31, 2020 $ 6 407,173 $ (96,215) (76,233) (225) $ 234,506
Issuance of common stock in connection with exercise of options (in shares)           160
Comprehensive income (loss)           $ (15,031)
Balances (in shares) at Sep. 30, 2021 37,274   9,974      
Balances at Sep. 30, 2021 $ 6 418,933 $ (103,995) (90,721) (768) 223,455
Balances (in shares) at Mar. 31, 2021 36,929   9,874      
Balances at Mar. 31, 2021 $ 6 412,031 $ (102,201) (83,830) (753) 225,253
Issuance of common stock in connection with exercise of options (in shares) 39          
Issuance of common stock in connection with exercise of options   290       290
Vesting of restricted stock units (in shares) 118          
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares)     51      
Purchases of treasury stock in connection with tax withholdings on restricted stock grants     $ (887)     (887)
Stock-based compensation expense   2,742       2,742
Comprehensive income (loss)       (4,484) 210 (4,274)
Balances (in shares) at Jun. 30, 2021 37,086   9,925      
Balances at Jun. 30, 2021 $ 6 415,063 $ (103,088) (88,314) (543) 223,124
Issuance of common stock in connection with employee stock purchase plan (in shares) 9          
Issuance of common stock in connection with employee stock purchase plan   114       114
Issuance of common stock in connection with exercise of options (in shares) 40          
Issuance of common stock in connection with exercise of options   393       393
Vesting of restricted stock units (in shares) 139          
Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares)     49      
Purchases of treasury stock in connection with tax withholdings on restricted stock grants     $ (907)     (907)
Stock-based compensation expense   3,363       3,363
Comprehensive income (loss)       (2,407) (225) (2,632)
Balances (in shares) at Sep. 30, 2021 37,274   9,974      
Balances at Sep. 30, 2021 $ 6 $ 418,933 $ (103,995) $ (90,721) $ (768) $ 223,455
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) (Parentheticals)
$ in Millions
3 Months Ended
Sep. 30, 2020
USD ($)
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited)  
Issuance costs $ 0.1
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.21.2
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Cash flows from operating activities:    
Net loss $ (14,488) $ (6,914)
Adjustments to reconcile net loss to net cash provided by operating activities:    
Depreciation and amortization 4,806 5,030
Stock-based compensation expense 9,474 9,476
Amortization of acquired intangible assets 2,467 952
Amortization of costs capitalized to obtain revenue contracts 499 367
Deferred taxes 87 (5,309)
Others 125 268
Changes in operating assets and liabilities:    
Accounts receivable 440 313
Prepaid expenses and other current assets 1,848 235
Operating lease right-of-use assets 1,043 1,048
Other non-current assets (1,211) 1,442
Accounts payable (1,969) (3,900)
Accrued compensation and related benefits (142) 227
Accrued and other liabilities (167) 1,568
Deferred revenues 3,542 6,928
Billings in excess of recognized revenues (1,334) 313
Operating lease liabilities (1,193) (1,168)
Net cash provided by operating activities 3,827 10,876
Cash flows from investing activities:    
Proceeds from maturities of short-term investments 136,000  
Purchases of short-term investments (90,985) (49,983)
Purchases of property and equipment (2,713) (4,786)
Prepayment for the purchase of property and equipment   (579)
Net cash provided by (used in) investing activities 42,302 (55,348)
Cash flows from financing activities:    
Proceeds from exercise of stock options 1,251 1,834
Proceeds from employee stock purchase plan 1,035 1,670
Payments for taxes related to net share settlement of equity awards (3,257) (3,297)
Repurchases of common stock (4,523)  
Proceeds from issuance of common stock, net of issuance costs paid   64,995
Net cash provided by (used in) financing activities (5,494) 65,202
Effect of exchange rate changes on cash and cash equivalents (193) 51
Net change in cash, cash equivalents, and restricted cash 40,442 20,781
Cash, cash equivalents, and restricted cash at beginning of period 33,815 97,605
Cash, cash equivalents, and restricted cash at end of period 74,257 118,386
Reconciliation of cash, cash equivalents, and restricted cash to the balance sheets:    
Cash and cash equivalents 71,238 118,386
Restricted cash 3,019  
Cash, cash equivalents, and restricted cash at end of period 74,257 118,386
Supplemental disclosure of cash flow information:    
Cash paid during the period for taxes 1,543 2,188
Cash paid for amounts included in the measurement of operating lease liabilities 1,538 1,598
Supplemental disclosure of noncash information:    
Stock-based compensation capitalized as software development costs 0 190
Property and equipment received and accrued in accounts payable and accrued and other liabilities 247 161
Advances for purchase of fixed assets transferred from prepaid assets to property and equipment 963  
Release of restricted cash reducing goodwill due to the acquisition purchase price adjustment $ 469  
Operating lease liabilities arising from obtaining right-of-use assets   151
Issuance costs for common stock included in accounts payable and accrued other liabilities   $ 82
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.21.2
Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

1. BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES

Basis of Presentation

The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.

The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.

The condensed consolidated balance sheet at December 31, 2020, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these financial statements include revenue recognition, assumptions made in analysis of allowance for doubtful accounts, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income taxes. Actual results could differ from those estimates.

The global COVID-19 pandemic has impacted the operations and purchasing decisions of companies worldwide. As of the date of issuance of the condensed consolidated financial statements, the Company is not aware of any specific event or circumstance relating to COVID-19 that would require updates to the Company’s estimates and judgments or revisions to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the condensed consolidated financial statements as soon as they become known. Actual results could differ from those estimates and any such differences may be material to the financial statements.

Recent Accounting Standards

Accounting Standards Adopted

In December 2019, the Financial Accounting Standards Board (“FASB”) issued Accounting Standard Update (“ASU”) No. 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes, related to simplifying the accounting for income taxes. The guidance eliminates certain exceptions from Accounting Standards Codification (“ASC”) 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The guidance also clarifies and simplifies other aspects of the accounting for income taxes. The guidance became effective for the Company beginning in the first quarter of 2021 on a

prospective basis. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.

In January 2020, the FASB issued ASU No. 2020-01, Investments-Equity Securities (Topic 321), Investments-Equity Method and Joint Ventures (Topic 323), and Derivatives and Hedging (Topic 815)-Clarifying the Interactions between Topic 321, Topic 323, and Topic 815. This ASU clarifies the interaction between accounting standards related to equity securities (ASC 321), equity method investments (ASC 323), and certain derivatives (ASC 815). The amendments in this ASU are effective for fiscal years beginning after December 15, 2020. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.

Accounting Standards Not Yet Adopted

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU 2016-13), which requires measurement and recognition of expected credit losses for financial assets held at the reporting date based on internal information, external information, or a combination of both relating to past events, current conditions, and reasonable and supportable forecasts. ASU No. 2016-13 replaces the existing incurred loss impairment model with a forward-looking expected credit loss model, which will result in earlier recognition of credit losses. Subsequent to the issuance of ASU No. 2016-13, the FASB issued ASU No. 2018-19, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, ASU No. 2019-04, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, Topic 815, Derivatives and Hedging, and Topic 825, Financial Instrument, ASU No. 2019-05, Financial Instruments – Credit Losses (Topic 326) Targeted Transition Relief, ASU No. 2016-13, ASU No. 2019-10 Financial Instruments-Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842), and ASU No. 2019-11 Codification Improvements to Topic 326, Financial Instruments-Credit Losses. The subsequent ASUs do not change the core principle of the guidance in ASU No. 2016-13. Instead, these amendments are intended to clarify and improve operability of certain topics included within ASU No. 2016-13.

Additionally, ASU No. 2019-10 defers the effective date for the adoption of the new standard on credit losses for public filers that are considered small reporting companies (“SRC”) as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, which will be fiscal 2023 for the Company if it continues to be classified as an SRC. In February 2020, the FASB issued ASU 2020-02, which provides guidance regarding methodologies, documentation, and internal controls related to expected credit losses. The subsequent amendments will have the same effective date and transition requirements as ASU No. 2016-13. Early adoption is permitted. Topic 326 requires a modified retrospective approach by recording a cumulative-effect adjustment to retained earnings as of the beginning of the period of adoption. While the Company is currently evaluating the impact of Topic 326, the Company does not expect the adoption of this ASU to have a material impact on its condensed consolidated financial statements or the related disclosure.

In August 2020, the FASB issued ASU No. 2020-06, Debt – Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging – Contracts in Entity’s Own Equity (Subtopic 815-20): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, which is intended to simplify the accounting for certain financial instruments with characteristics of liabilities and equity, including convertible instruments and contracts on an entity’s own equity. The guidance allows for either full retrospective adoption or modified retrospective adoption. Additionally, the ASU will require entities to use the “if-converted” method when calculating diluted earnings per share for convertible instruments. The ASU will be effective for annual reporting periods beginning after December 15, 2023 for SRCs and interim periods within those annual periods. Early adoption is permitted. The Company does not anticipate that the adoption of this ASU will have a significant impact on its condensed consolidated financial statements or the related disclosures.

Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB, and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed consolidated financial statements.

XML 20 R9.htm IDEA: XBRL DOCUMENT v3.21.2
Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS

2. REVENUE FROM CONTRACTS WITH CUSTOMERS

The Company derives revenue from two sources: Analytics revenue and Integrated Yield Ramp revenue.

The Company recognizes revenue in accordance with FASB ASC Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.

The Company determines revenue recognition through the following five steps:

Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, performance obligations are satisfied

The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectability of consideration is probable.

Contracts with multiple performance obligations

The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price.

Analytics Revenue

Analytics revenue is derived from the following primary offerings: licenses and services for standalone software (which is primarily Exensio® and Cimetrix® products), SaaS (which is primarily Exensio products), and DFI™ systems and CV® systems that do not include performance incentives based on customers’ yield achievement.

Revenue from standalone software is recognized depending on whether the license is perpetual or time-based. Perpetual (one-time charge) license software is recognized at the time of the inception of the arrangement when control transfers to the customers, if the software license is considered as a separate performance obligation from the services offered by the Company. Revenue from post-contract support is recognized over the contract term on a straight-line basis, because we are providing (i) support and (ii) unspecified software updates on a when-and-if available basis over the contract term. Revenue from time-based-licensed software is allocated to each performance obligation and is recognized either at a point in time or over time as follows. The license component is recognized at the time when control transfers to customers, with the post-contract support component recognized ratably over the committed term of the contract. For contracts with any combination of licenses, support, and other services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price (“SSP”) attributed to each performance obligation.

Revenue from SaaS arrangements, which allow for the use of a cloud-based software product or service over a contractually determined period of time without the customer having to take possession of software, is accounted for as a subscription and is recognized as revenue ratably, on a straight-line basis, over the subscription period beginning on the date the service is first made available to customers. For contracts with any combination of SaaS and related services, distinct performance obligations are accounted for separately. For contracts with multiple performance obligations, we allocate the transaction price of the contract to each performance obligation on a relative basis using SSP attributed to each performance obligation.

Revenue from DFI systems and CV systems that do not include performance incentives based on customers’ yield achievement is recognized primarily as services are performed. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs. For those contracts with multiple performance obligations,

the Company allocates the transaction price of the contract to each performance obligation on a relative basis using SSP attributed to each performance obligation. Where there are not discrete performance obligations, historically, revenue is primarily recognized as services are performed using a percentage of completion method based on costs or labor-hours inputs, whichever is the most appropriate measure of the progress towards completion of the contract. The estimation of percentage of completion method is complex and subject to many variables that require significant judgement. Please refer to “Significant Judgments” section of this Note for further discussion.

Integrated Yield Ramp Revenue

Integrated Yield Ramp revenue is derived from the Company’s fixed-fee engagements that include performance incentives based on customers’ yield achievement (which consists primarily of Gainshare royalties) typically based on customer’s wafer shipments, pertaining to these fixed-price contracts, which royalties are variable.

Revenue under these project–based contracts, which are delivered over a specific period of time, typically for a fixed fee component paid on a set schedule, is recognized as services are performed using a percentage of completion method based on costs or labor-inputs, whichever is the most appropriate measure of the progress towards completion of the contract. Where there are distinct performance obligations, the Company allocates revenue to all deliverables based on their SSPs and allocates the transaction price of the contract to each performance obligation on a relative basis using SSP. Similar to the services provided in connection with DFI systems and CV systems that are contributing to Analytics revenue, due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex and subject to many variables that require significant judgement. Please refer to “Significant Judgments” section of this Note for further discussion.

The Gainshare royalty contained in IYR contracts is a variable fee related to continued usage of the Company’s intellectual property after the fixed-fee service period ends, based on a customer’s yield achievement. Revenue derived from Gainshare is contingent upon the Company’s customers reaching certain defined production yield levels. Gainshare royalty periods are generally subsequent to the delivery of all contractual services and performance obligations. The Company records Gainshare as a usage-based royalty derived from customers’ usage of intellectual property and records it in the same period in which the usage occurs.

Disaggregation of Revenue

The Company disaggregates revenue from contracts with customers into the timing of the transfer of goods and services and the geographical regions. The Company determined that disaggregating revenue into these categories achieves the disclosure objective to depict how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.

The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue by timing of revenue:

Three Months Ended September 30,

 

Nine Months Ended September 30, 

 

    

2021

    

2020

2021

    

2020

Over time

72

55

%

60

56

%

Point-in-time

 

28

45

%

40

44

%

Total

 

100

%  

100

%

100

%  

100

%

International revenues accounted for approximately 53% and 57% of our total revenues during the three and nine months ended September 30, 2021, respectively, compared to 67% and 60% of our total revenues during the three and nine months ended September 30, 2020, respectively. See Note 11, Customer and Geographic Information.

Significant Judgments

Judgments and estimates are required under ASC 606. Due to the complexity of certain contracts, the actual revenue recognition treatment required under ASC 606 for the Company’s arrangements may be dependent on contract-specific terms and may vary in some instances.

For revenue under project-based contracts for fixed-price implementation services, revenue is recognized as services are performed using a percentage-of-completion method based on costs or labor-hours input method, whichever is the most appropriate measure of the progress towards completion of the contract. Due to the nature of the work performed in these arrangements, the estimation of percentage of completion method is complex, subject to many variables and requires significant judgment. Key factors reviewed by the Company to estimate costs to complete each contract are future labor and product costs and expected productivity efficiencies. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known.

The Company’s contracts with customers often include promises to transfer products, licenses software and provide services, including professional services, technical support services, and rights to unspecified updates to a customer. Determining whether licenses and services are distinct performance obligations that should be accounted for separately, or not distinct and thus accounted for together, requires significant judgment. The Company rarely licenses software on a standalone basis, so the Company is required to estimate the range of SSPs for each performance obligation. In instances where SSP is not directly observable because the Company does not license the software or sell the service separately, the Company determines the SSP using information that may include market conditions and other observable inputs.

The Company is required to record Gainshare royalty revenue in the same period in which the usage occurs. Because the Company generally does not receive the acknowledgment reports from its customers during a given quarter within the time frame necessary to adequately review the reports and include the actual amounts in quarterly results for such quarter, the Company accrues the related revenue based on estimates of customers underlying sales achievement. The Company’s estimation process can be based on historical data, trends, seasonality, changes in the contract rate, knowledge of the changes in the industry and changes in the customer’s manufacturing environment learned through discussions with customers and sales personnel. As a result of accruing revenue for the quarter based on such estimates, adjustments will be required in the following quarter to true-up revenue to the actual amounts reported.

Contract Balances

The Company performs its obligations under a contract with a customer by licensing software or providing services in exchange for consideration from the customer. The timing of the Company’s performance often differs from the timing of the customer’s payment, which results in the recognition of a receivable, a contract asset or a contract liability.

The Company classifies the right to consideration in exchange for software or services transferred to a customer as either a receivable or a contract asset. A receivable is a right to consideration that is unconditional, as compared to a contract asset, which is a right to consideration that is conditional upon factors other than the passage of time. The majority of the Company’s contract assets represent unbilled amounts related to fixed-price service contracts when the revenue recognized exceeds the amount billed to the customer. The contract assets are generally classified as current and are recorded on a net basis with deferred revenue (i.e. contract liabilities) at the contract level. The total contract assets included in prepaid expenses and other current assets in the Condensed Consolidated Balance Sheets was immaterial as of September 30, 2021 and $3.7 million as of December 31, 2020. The Company did not record any asset impairment charges related to contract assets for the periods presented.

Deferred revenues consist substantially of amounts invoiced in advance of revenue recognition and are recognized as the revenue recognition criteria are met. Deferred revenues that will be recognized during the succeeding twelve-month period are recorded as current deferred revenues and the remaining portion is recorded in the other non-current liabilities in the Condensed Consolidated Balance Sheets. At September 30, 2021 and December 31, 2020, the non-current portion of deferred revenues included in non-current liabilities was $2.5 million and $1.2 million, respectively. Revenue recognized that was included in the deferred revenues and billings in excess of recognized revenues balances at the beginning of each reporting period was $7.0 million and $4.7 million during the three months ended September 30, 2021 and 2020, respectively, and $13.8 million and $9.5 million during the nine months ended September 30, 2021 and 2020, respectively.

At September 30, 2021, the aggregate amount of the transaction price allocated to the remaining performance obligations related to customer contracts that were unsatisfied or partially unsatisfied was approximately $180.9 million. Given the applicable contract terms with customers, the majority of this amount is expected to be recognized as revenue over the next two years, with the remainder in the following three years. This amount does not include insignificant contracts to which the customer is not committed, nor significant contracts for which we recognize revenue equal to the amount we have the right to invoice for services performed, or future sales-based or usage-based royalty payments in exchange for a license of intellectual property. This amount is subject to change due to future revaluations of variable consideration, terminations, other contract modifications, or currency adjustments. The estimated timing of the recognition of remaining unsatisfied performance obligations is subject to change and is affected by changes to the scope, change in timing of delivery of products and services, or contract modifications.

The adjustment to revenue recognized from performance obligations satisfied (or partially satisfied) in previous periods was a decrease of $0.2 million and $1.2 million during the three months ended September 30, 2021 and 2020, respectively, and an increase of $34,000 and $0.4 million during the nine months ended September 30, 2021 and 2020, respectively. These amounts primarily represent changes in estimated percentage-of-completion based contracts and changes in actual versus estimated Gainshare royalty.

Costs to obtain or fulfill a contract

The Company capitalizes the incremental costs to obtain or fulfill a contract with a customer, including direct sales commissions and related fees, when it expects to recover those costs. Amortization expense related to these capitalized costs is recognized over the period associated with the revenue from which the cost was incurred. Total capitalized direct sales commission costs included in prepaid expenses and other current assets in the accompanying Condensed Consolidated Balance Sheets as of September 30, 2021, and December 31, 2020 were $0.8 million and $0.8 million, respectively. Total capitalized direct sales commission costs included in other non-current assets in the accompanying Condensed Consolidated Balance Sheets as of September 30, 2021, and December 31, 2020 were $1.8 million and $0.9 million, respectively. Amortization of these assets were $0.2 million and $0.1 million during the three months ended September 30, 2021 and 2020, respectively, and $0.5 million and $0.4 million during the nine months ended September 30, 2021 and 2020, respectively. There was no impairment loss in relation to the costs capitalized for the periods presented.

The Company does not adjust the transaction price for the effects of a significant financing component when the period between the transfers of the promised good or service to the customer and payment for that good or service by the customer is expected to be one year or less. The Company assessed each of its revenue generating arrangements in order to determine whether a significant financing component exists, and determined its contracts did not include a significant financing component during the three and nine months ended September 30, 2021 and 2020.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.21.2
Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS

3. STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS

On July 29, 2020, the Company entered into a long-term strategic partnership with Advantest Corporation through its wholly-owned subsidiary, Advantest America, Inc. (collectively referred to herein as “Advantest”) that included the following agreements.

A Securities Purchase Agreement for the purchase by Advantest of an aggregate of 3,306,924 shares of the Company’s common stock for aggregate gross proceeds of $65.2 million and a related Stockholder Agreement.
An Amendment #1 to that certain Software License and Related Services Agreement, dated as of March 25, 2020, for an exclusive commercial arrangement in which the Company and Advantest will collaborate on, and the Company will initially host, develop and maintain, an Advantest-specific cloud layer on the Exensio platform.
An Amended and Restated Master Development Agreement with Advantest, pursuant to which the Company and Advantest agreed to collaborate on extensions to or combinations of both of their existing technology and new technology to address mutual customers’ needs through one or more development phases subject to certain conditions as set forth therein. Costs and expenses incurred related to this agreement have not been significant for the three and nine months ended September 30, 2021.
A Master Commercial Terms and Support Services Agreement for the commercialization and support of integrated products of the Company and Advantest that are the outcome of the above development agreement. No material costs and expenses were incurred related to the Commercial Agreement with Advantest during the three and nine months ended September 30, 2021.

Analytics revenue recognized from Advantest were $2.7 million and $7.9 million during the three and nine months ended September 30, 2021, respectively, and $1.0 million during each of the three and nine months ended September 30, 2020. There was no outstanding accounts receivable from Advantest as of September 30, 2021 and December 31, 2020, and deferred revenue amounted to $9.6 million and nil as of September 30, 2021 and December 31, 2020, respectively. There was no occurrence of any termination events under these agreements as of the issuance of these condensed consolidated financial statements.

The Company carries out transactions with Advantest on arm’s length commercial customary terms. For more information about these agreements with Advantest, see Note 3, Strategic Partnership Agreement with Advantest and Related Party Transactions, of Part II, Item 8. “Financial Statements and Supplementary Data” of the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.21.2
Note 4 - BUSINESS COMBINATION
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 4 - BUSINESS COMBINATION

4. BUSINESS COMBINATION

On December 1, 2020 (the “Acquisition Date”), the Company acquired all the stock of Cimetrix Incorporated (“Cimetrix”). Total payment made for this acquisition in 2020 amounted to $28.6 million, net of cash acquired, and was funded from the available cash of the Company. In 2020, the Company held back $3.5 million of the purchase price (the “Holdback Amount”) to satisfy adjustments and claims for indemnity arising out of breaches of certain representations, warranties and covenants, and certain other enumerated items in the merger agreement. During the first quarter of 2021, the Company recorded a measurement period adjustment as described below which reduced the Holdback Amount to $3.0 million. This reduction was released from the restricted cash on the Company’s Condensed Consolidated Balance Sheet. The Holdback Amount, as adjusted, is expected to be paid to the participating equity holders on approximately the twelve-month anniversary of the Acquisition Date. The Holdback Amount is recorded under accrued and other current liabilities account in the Condensed Consolidated Balance Sheets.

The Company is required to maintain cash specifically designated to pay for the Holdback Amount, which the Company has classified as restricted cash. Restricted cash amounted to $3.0 million and $3.5 million as of September 30, 2021 and December 31, 2020, respectively, and is included in the “Prepaid expenses and other current assets” account in the Company’s Condensed Consolidated Balance Sheets.

The Company is still finalizing the allocation of the purchase price to the individual assets acquired. Accordingly, the estimates set forth below are preliminary and are subject to change during the measurement period, which is not to exceed one year from the acquisition date. During the measurement period, the Company records adjustments to the assets acquired and liabilities assumed, with the corresponding offset to goodwill. Upon the conclusion of the measurement period, any subsequent adjustments are recorded to earnings. During the first quarter of 2021, the Company recorded a measurement period adjustment to the estimated fair values initially recorded in 2020, which resulted in a reduction in Holdback Amount of $0.5 million with a corresponding change to goodwill. The measurement period adjustment did not have an impact on the Company’s Condensed Consolidated Statements of Comprehensive Loss during the three and nine months ended September 30, 2021.

As of September 30, 2021, the allocation of the purchase price for this acquisition is as follows (in thousands, except amortization period):

Amortization

    

Amount

    

Period (Years)

Assets

 

  

 

  

Fair value of tangible assets (including cash of $5,900)

$

8,403

 

  

Fair value of intangible assets:

 

  

 

  

Developed technology

 

12,541

 

8

In-process R&D

 

3,635

 

N/A

Customer relationships

 

1,967

 

10

Noncompetition agreements

 

848

 

3

Tradenames and trademarks

 

808

 

10

Goodwill

 

13,012

 

N/A

Total assets acquired

$

41,214

 

  

Liabilities

 

  

 

  

Accounts payable and accrued expenses

$

1,437

 

  

Deferred revenue

 

391

 

  

Operating lease liabilities

 

132

 

  

Deferred tax liabilities

 

1,743

 

  

Total liabilities assumed

$

3,703

 

  

Total purchase price allocation

$

37,511

 

  

Pursuant to the merger agreement, the Company will also pay approximately $1.4 million to certain employees, subject to their continued employment with Cimetrix or the Company, at various scheduled payout dates through the second quarter of 2024. This amount will be recognized as compensation expense over the period as services are rendered. As of September 30, 2021, the estimated remaining total cash payout is approximately $0.9 million. The accrued compensation balance included under accrued compensation and related benefits account in the Company’s Condensed Consolidated Balance Sheet was $0.4 million and $0.3 million as of September 30, 2021 and December 31, 2020, respectively.

Transaction expenses related to the acquisition of Cimetrix amounted to $1.6 million in 2020. These costs consist of professional fees and administrative costs and were expensed as incurred in the Company’s Condensed Consolidated Statement of Comprehensive Loss. No transaction costs were incurred during the three months ended September 30, 2021. Transaction costs were immaterial during the nine months ended September 30, 2021.

The financial results of the acquisition of Cimetrix were considered immaterial for purposes of unaudited pro forma financial disclosures.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.21.2
Note 5 - BALANCE SHEET COMPONENTS
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 5 - BALANCE SHEET COMPONENTS

5. BALANCE SHEET COMPONENTS

Accounts receivable

Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period. Unbilled accounts receivable, included in accounts receivable, totaled $8.6 million and $7.2 million as of September 30, 2021, and December 31, 2020, respectively. Unbilled accounts receivable that are not expected to be billed and collected during the succeeding 12-month period is recorded in other non-current assets and totaled $1.6 million and $2.0 million as of September 30, 2021, and December 31, 2020, respectively.

Property and equipment

Property and equipment, net consist of the following (in thousands):

September 30, 

December 31, 

    

2021

    

2020

Computer equipment

$

11,715

$

11,585

Software

 

5,433

 

5,451

Furniture, fixtures and equipment

 

2,505

 

2,507

Leasehold improvements

 

6,270

 

6,255

Laboratory and other equipment

 

3,650

 

3,451

Test equipment

 

24,865

 

26,010

Construction-in-progress

 

23,432

 

20,278

 

77,870

 

75,537

Less: accumulated depreciation and amortization

 

(40,049)

 

(36,295)

Total

$

37,821

$

39,242

Test equipment includes systems assets at customer sites that are contributing to DFI™ systems revenues. The construction-in-progress balance related to construction of DFI™ systems assets totaled $21.5 million and $18.9 million as of September 30, 2021, and December 31, 2020, respectively. Depreciation and amortization expense was $1.5 million and $1.7 million during the three months ended September 30, 2021 and 2020, respectively, and $4.8 million and $5.0 million during the nine months ended September 30, 2021 and 2020, respectively.

Goodwill and Intangible Assets, Net

The change in the carrying amount of goodwill during the nine months ended September 30, 2021, was as follows (in thousands):

Balance at beginning of period, January 1, 2021

$

15,774

Measurement period acquisition adjustment (1)

 

469

Balance at end of period, September 30, 2021

$

15,305

(1)Goodwill adjustment was recorded within the measurement period with a corresponding reduction in the Holdback Amount. See Note 4, Business Combination.

There were no impairments to goodwill during the nine months ended September 30, 2021.

Intangible assets, net, consisted of the following (in thousands):

September 30, 2021

December 31, 2020

Amortization

Gross

Net

Gross

Net

Period

Carrying

Accumulated

Carrying

Carrying

Accumulated

Carrying

(Years)

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Acquired identifiable intangibles:

Customer relationships

 

1-10

$

9,407

$

(5,880)

$

3,527

$

9,407

$

(5,398)

$

4,009

Developed technology

 

4-9

 

30,000

 

(16,652)

 

13,348

 

30,000

 

(14,987)

 

15,013

Tradename and trademarks

 

2-10

 

1,598

 

(785)

 

813

 

1,598

 

(706)

 

892

Patent

 

7-10

 

1,800

 

(1,630)

 

170

 

1,800

 

(1,600)

 

200

Noncompetition agreements

 

3

 

848

 

(235)

 

613

 

848

 

(24)

 

824

In-process R&D

 

*

 

3,635

 

 

3,635

 

3,635

 

 

3,635

Total

$

47,288

$

(25,182)

$

22,106

$

47,288

$

(22,715)

$

24,573

* Non-amortizing intangible asset

The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):

Year Ending December 31, 

    

Amount

2021 (remaining three months)

$

754

2022

 

3,013

2023

 

2,990

2024

 

2,592

2025

 

2,427

2026 and thereafter

 

6,695

Total future amortization expense

$

18,471

Intangible assets are amortized over their useful lives unless these lives are determined to be indefinite. The weighted average amortization period for acquired identifiable intangible assets was 5.7 years as of September 30, 2021. Intangible assets amortization expense included under “Cost of revenues” and “Amortization of other intangible assets” account in the Condensed Consolidated Statements of Comprehensive Loss was $0.8 million and $0.3 million during the three months ended September 30, 2021 and 2020, respectively, and $2.5 million and $1.0 million during the nine months ended September 30, 2021 and 2020, respectively. Intangible assets are reviewed for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset or asset group may not be recoverable. During the three and nine months ended September 30, 2021, there were no indicators of impairment related to the Company’s intangible assets.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.21.2
Note 6 - LEASES
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 6 - LEASES

6. LEASES

The Company leases administrative and sales offices and certain equipment under non-cancellable operating leases, which contain various renewal options and, in some cases, require payment of common area costs, taxes and utilities. These operating leases expire at various dates through 2028. The Company had no leases that were classified as a financing lease as of September 30, 2021, and December 31, 2020.

Lease expense was comprised of the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Operating lease expense

$

448

$

455

$

1,417

$

1,362

Short-term lease and variable lease expense (1)

 

196

 

127

 

602

 

401

Total lease expense

$

644

$

582

$

2,019

$

1,763

(1)Leases with an initial term of 12 months or less are not recorded on the condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.

Supplemental information related to operating leases was as follows:

September 30, 

December 31, 

 

    

2021

    

2020

 

Weighted average remaining lease term under operating ROU leases (in years)

6.0

6.4

Weighted average discount rate for operating lease liabilities

 

5.25

%  

5.24

%

Maturities of operating lease liabilities as of September 30, 2021, were as follows (in thousands):

Year Ending December 31, 

    

Amount(1)

2021 (remaining three months)

$

477

2022

 

1,707

2023

 

1,389

2024

 

1,073

2025

 

1,088

2026 and thereafter

2,703

Total future minimum lease payments

$

8,437

Less: Interest(2)

 

(1,196)

Present value of future minimum lease payments under operating lease liabilities (3)

$

7,241

(1)As of September 30, 2021, the total operating lease liability includes approximately $1.1 million related to an option to extend a lease term that is reasonably certain to be exercised.
(2)Calculated using incremental borrowing interest rate for each lease.
(3)Includes the current portion of operating lease liabilities of $1.7 million as of September 30, 2021.
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.21.2
Note 7 - STOCKHOLDERS EQUITY
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 7 - STOCKHOLDERS EQUITY

7. STOCKHOLDERS’ EQUITY

Issuance of Common Stock

On July 30, 2020, the Company issued 3,306,924 shares of common stock, at a purchase price of $19.7085 per share, for aggregate gross proceeds of $65.2 million pursuant to a Securities Purchase Agreement with Advantest dated July 29, 2020. Issuance costs related to this private placement aggregated $0.1 million.

Stock Repurchase Program

On May 28, 2020, the Company’s 2018 stock repurchase program (the “2018 Program”) that was originally adopted on May 29, 2018, expired. Through May 28, 2020, approximately 786,000 shares had been repurchased at an average price of $12.43 per share, for a total price of $9.8 million under the 2018 Program.

On June 4, 2020, the Company’s Board of Directors adopted a new stock repurchase program (the “2020 Program”) to repurchase up to $25.0 million of the Company’s common stock both on the open market and in privately negotiated transactions, including through Rule 10b5-1 plans, over the next two years. During the nine months ended September 30, 2021, 251,212 shares were repurchased under the 2020 Program at an average price of $18.01 per share for an aggregate total price of $4.5 million.

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.21.2
Note 8 - EMPLOYEE BENEFIT PLANS
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 8 - EMPLOYEE BENEFIT PLANS

8. EMPLOYEE BENEFIT PLANS

On September 30, 2021, the Company had the following stock-based compensation plans:

Employee Stock Purchase Plan

In July 2001, the Company’s stockholders initially approved the 2001 Employee Stock Purchase Plan, which was subsequently amended and restated in 2010 (as amended, the “2010 Purchase Plan”) to extend the term of the plan through May 17, 2020. Under the 2010 Purchase Plan, eligible employees could contribute up to 10% of their compensation, as defined in the 2010 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2010 Purchase Plan provided for twenty-four-month offering periods with four six-month purchase periods in each offering period. The 2010 Purchase Plan expired on May 17, 2020. Existing offering periods will continue until they expire in accordance with their terms, and

participation in such offering periods will continue through the applicable expiration date. The final offering period under the 2010 Purchase Plan expires on January 31, 2022. On June 15, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan, which has a ten-year term (the “2021 Purchase Plan”). The terms of 2021 Purchase Plan are substantially similar to those of the 2010 Purchase Plan. A twenty-four-month offering period under the 2021 Purchase Plan commenced on August 1, 2021.

The Company estimated the fair value of purchase rights granted under the 2010 and the 2021 Purchase Plans during the period using the Black-Scholes-Merton option-pricing model with the following weighted average assumptions, resulting in the following weighted average fair values:

2021 Purchase Plan

2010 Purchase Plan

Nine Months Ended
September 30,

 

Nine Months Ended
September 30,

 

2021

2021

    

2020

Expected life (in years)

1.25

 

1.25

 

1.25

Volatility

48.00

%  

34.25

%  

34.25

%

Risk-free interest rate

0.11

%  

1.43

%  

1.43

%

Expected dividend

 

 

Weighted average fair value of purchase rights granted during the period

$

6.71

$

4.83

$

4.83

During the three months ended September 30, 2021 and 2020, a total of approximately 9,000 and 93,000 shares were issued under the 2010 Purchase Plan. During the nine months ended September 30, 2021 and 2020, a total of approximately 109,000 and 183,000 shares, respectively, were issued under the 2010 Purchase Plan, at a weighted-average purchase price of $9.53 per share and $9.12 per share, respectively. As of September 30, 2021, unrecognized compensation cost related to the 2021 Purchase Plan was $2.0 million and there was a negligible amount of unrecognized compensation cost related to the 2010 Purchase Plan. These costs are expected to be recognized over a weighted average period of 1.75 years.

Stock Incentive Plans

On November 16, 2011, the Company’s stockholders initially approved the 2011 Stock Incentive Plan, which has been amended and restated and approved by the Company’s stockholders a number of times since then (as amended, the “2011 Plan”). Under the 2011 Plan, the Company may award stock options, stock appreciation rights (“SARs”), stock grants or stock units covering shares of the Company’s common stock to employees, directors, non-employee directors and contractors. The aggregate number of shares reserved for awards under this plan is 11,500,000 shares, plus up to 3,500,000 shares previously issued under the 2001 Stock Plan adopted by the Company in 2001, which expired in 2011 (the “2001 Plan”) that are either (i) forfeited or (ii) repurchased by the Company or are shares subject to awards previously issued under the 2001 Plan that expire or that terminate without having been exercised or settled in full on or after November 16, 2011. In case of awards other than options or SARs, the aggregate number of shares reserved under the 2011 Plan will be decreased at a rate of 1.33 shares issued pursuant to such awards. The exercise price for stock options must generally be at prices no less than the fair market value at the date of grant. Stock options generally expire ten years from the date of grant and become vested and exercisable over a four-year period.

Stock options granted under the 2001 Plan generally expire ten years from the date of grant and become vested and exercisable over a four-year period. Although no new awards may be granted under the 2001 Plan, awards made under the 2001 Plan that are currently outstanding remain subject to the terms of each such plan.

As of September 30, 2021, 12.1 million shares of common stock were reserved to cover stock-based awards under the 2011 Plan, of which 3.4 million shares were available for future grant. The number of shares reserved and available under the 2011 Plan includes 0.5 million shares that were subject to awards previously made under the 2001 Plan and were forfeited, expired or repurchased by the Company after the adoption of the 2011 Plan through September 30, 2021. As of September 30, 2021, there were no outstanding awards that had been granted outside of the 2011 or 2001 Plans (collectively, the “Stock Plans”).

The Company estimated the fair value of share-based awards granted under the 2011 Stock Plan during the period using the Black-Scholes-Merton option-pricing model. There were no stock options granted during the three and nine months ended September 30, 2021. The fair value of stock options granted during the three and nine months ended September 30, 2020, was estimated as of the grant-date using the following assumptions:

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Expected life (in years)

4.45

4.45

Volatility

 

%  

43.92

%  

%  

40.90

%  

Risk-free interest rate

 

%  

0.23

%  

%  

0.60

%  

Expected dividend

 

 

 

 

 

Weighted average fair value per share of options granted during the period

$

$

6.92

$

$

5.75

Stock-Based Compensation

Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years. Stock-based compensation expense before taxes related to the Company’s stock plans and employee stock purchase plan was allocated as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Costs of revenues

$

670

$

790

$

1,860

$

2,582

Research and development

 

1,299

 

1,148

 

4,013

 

3,613

Selling, general and administrative

 

1,394

 

1,192

 

3,601

 

3,281

Stock-based compensation expenses (1)

$

3,363

$

3,130

$

9,474

$

9,476

(1)The stock-based compensation expense during the three and nine months ended September 30, 2020, includes immaterial expense or credit adjustments related to cash-settled SARs granted to certain employees. The Company accounted for these awards as liability awards and the amount was included in accrued compensation and related benefits. All remaining outstanding SARs were fully exercised in the third quarter of 2020.

Stock-based compensation expense that was recorded as capitalized software development costs under property and equipment, net, was nil during the three and nine months ended September 30, 2021, and nil and $0.2 million during the three and nine months ended September 30, 2020, respectively.

Additional information with respect to options under the Stock Plans during the nine months ended September 30, 2021, is as follows:

Weighted

Weighted

Average

Average

Remaining

Aggregate

Number of

Exercise

Contractual

Intrinsic

Options (in

Price

Term

Value (in

    

thousands)

    

per Share

    

(Years)

    

thousands)

Outstanding, January 1, 2021

 

456

$

10.95

 

  

 

  

Granted

 

 

  

 

  

Exercised

 

(160)

7.80

 

  

 

  

Canceled

 

(3)

13.52

 

  

 

  

Expired

 

(4)

6.90

 

  

 

  

Outstanding, September 30, 2021

 

289

$

12.72

 

3.30

$

2,983

Vested and expected to vest, September 30, 2021

 

286

$

12.69

 

3.25

$

2,956

Exercisable, September 30, 2021

 

240

$

12.27

 

2.43

$

2,590

The aggregate intrinsic value in the table above represents the total intrinsic value based on the Company’s closing stock price of $23.04 per share as of September 30, 2021. The total intrinsic value of options exercised was $1.9 million during the nine months ended September 30, 2021.

As of September 30, 2021, there was $0.2 million of total unrecognized compensation expense related to unvested stock options, which is expected to be recognized over a weighted average period of 2.0 years. The total fair value of shares vested was $0.1 million during the nine months ended September 30, 2021.

Non-vested restricted stock unit activity during the nine months ended September 30, 2021, was as follows:

Weighted

Average Grant

Shares 

Date Fair Value

    

(in thousands)

    

Per Share

Non-vested, January 1, 2021

 

1,747

$

16.33

Granted

 

894

$

18.42

Vested

 

(579)

$

16.08

Forfeited

 

(81)

$

16.85

Non-vested, September 30, 2021

 

1,981

$

17.33

As of September 30, 2021, there was $27.1 million of total unrecognized compensation cost related to non-vested restricted stock units. That cost is expected to be recognized over a weighted average period of 2.7 years. Restricted stock units do not have rights to dividends prior to vesting.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.21.2
Note 9 - INCOME TAXES
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 9 - INCOME TAXES

9. INCOME TAXES

Income tax expense increased $5.7 million for the nine months ended September 30, 2021, to a $1.5 million income tax expense as compared to an income tax benefit of $4.1 million for the nine months ended September 30, 2020. The Company’s effective tax rate (expense) benefit was (12%) and 37% for the nine months ended September 30, 2021 and 2020, respectively. The Company’s effective tax rate increased in the nine months ended September 30, 2021, as compared to the same period in 2020, primarily due to a full valuation allowance against U.S. net deferred tax assets in the fourth quarter of 2020 as well as a one-time benefit in the first quarter of 2020 pursuant to the provisions of the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) passed on March 27, 2020.

The Company’s total amount of unrecognized tax benefits, excluding interest and penalties, as of September 30, 2021, was $14.7 million, of which $1.9 million, if recognized, would affect the Company’s effective tax rate. The Company’s total amount of unrecognized tax benefits, excluding interest and penalties, as of December 31, 2020, was $14.3 million, of which $2.2 million, if recognized, would affect the Company’s effective tax rate. As of September 30, 2021, the Company has recorded unrecognized tax benefits of $2.5 million, including interest and penalties of $0.7 million, as long-term taxes payable in its Condensed Consolidated Balance Sheet. The remaining $12.8 million has been recorded net of the Company’s DTAs, which is subject to a full valuation allowance.

The valuation allowance was approximately $41.9 million as of September 30, 2021, and December 31, 2020, which was related to U.S. net federal and state DTAs. The net deferred tax assets balance as of September 30, 2021, and December 31, 2020, was $0.2 million and $0.2 million, respectively.

The Company conducts business globally and, as a result, files numerous consolidated and separate income tax returns in the U.S. federal, various state and foreign jurisdictions. For U.S. federal and California income tax purposes, the statute of limitations currently remains open for the tax years ending 2017 to present and 2016 to present, respectively. In addition, due to NOL carryback claims, the tax years 2013 through 2015 may be subject to federal examination and all of the net operating loss and research and development credit carryforwards that may be utilized in future years may be subject to federal and state examination. The Company is not subject to income tax examinations in any other of its major foreign subsidiaries’ jurisdictions.

On March 11, 2021, the American Rescue Plan Act of 2021 (“American Rescue Plan”) was signed into law to provide additional relief in connection with the ongoing COVID-19 pandemic. The American Rescue Plan includes, among other things, provisions relating to Paycheck Protection Program (PPP) loan expansion, defined pension contributions, excessive employee remuneration, and the repeal of the election to allocate interest expense on a worldwide basis. Under ASC 740 the effects of new legislation are recognized upon enactment. Accordingly, the American Rescue Plan became effective beginning in the quarter ended March 31, 2021. Such provisions did not have a material impact on the Company’s condensed consolidated financial statements.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.21.2
Note 10 - NET LOSS PER SHARE
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 10 - NET LOSS PER SHARE

10. NET LOSS PER SHARE

Basic net loss per share is computed by dividing net loss by weighted average number of common shares outstanding for the period (excluding outstanding stock options and shares subject to repurchase). Diluted net loss per share is computed using the weighted-average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be anti-dilutive. The following is a reconciliation of the numerators and denominators used in computing basic and diluted net loss per share (in thousands except per share amount):

Three Months Ended September 30, 

Nine Months Ended December 31, 

    

2021

    

2020

    

2021

    

2020

Numerator:

 

  

 

  

 

  

 

  

Net loss

$

(2,407)

$

(2,734)

$

(14,488)

$

(6,914)

Denominator:

 

  

 

  

 

  

 

  

Basic weighted-average shares outstanding

 

37,221

 

35,479

 

37,067

 

33,696

Effect of dilutive options and restricted stock units

 

 

 

 

Diluted weighted-average shares outstanding

 

37,221

 

35,479

 

37,067

 

33,696

Net loss per share, basic and diluted

$

(0.06)

$

(0.08)

$

(0.39)

$

(0.21)

For the three and nine months ended September 30, 2021 and 2020, because the Company was in a loss position, basic net loss per share is the same as diluted net loss per share as the inclusion of the potential common shares would have been anti-dilutive.

The following table sets forth potential shares of common stock that were not included in the diluted net loss per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Outstanding options

 

128

 

310

 

182

 

362

Non-vested restricted stock units

 

915

 

1,084

 

997

 

820

Employee Stock Purchase Plan

 

30

 

190

 

14

 

146

Total

 

1,073

 

1,584

 

1,193

 

1,328

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.21.2
Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION

11. CUSTOMER AND GEOGRAPHIC INFORMATION

Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the chief operating decision maker, or group, in deciding how to allocate resources and in assessing performance.

The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and reporting segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.

The Company had revenues from individual customers in excess of 10% of total revenues as follows:

Three Months Ended September 30, 

 

Nine Months Ended September 30, 

 

Customer

    

2021

    

2020

    

2021

    

2020

 

A

*

%  

18

%

*

%  

23

%

B

*

%  

14

%

*

%  

*

%

D

25

%  

*

%

12

%  

*

%

E

*

%  

*

%

10

%  

*

%

* represents less than 10%

The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:

September 30, 

December 31, 

 

Customer

    

2021

    

2020

 

A

 

*

%  

16

%

B

 

13

%  

*

%

C

10

%  

11

%

D

 

25

%  

*

%

* represents less than 10%

Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):

Three Months Ended September 30, 

 

2021

2020

 

Percentage

Percentage

 

    

Revenues

    

of Revenues

    

Revenues

    

of Revenues

 

United States

$

13,983

 

47

%  

$

7,710

 

33

%

China

 

4,038

 

14

 

6,747

 

29

Rest of the world

 

11,534

 

39

 

8,655

 

38

Total revenue

$

29,555

 

100

%  

$

23,112

 

100

%

Nine Months Ended September 30, 

 

2021

2020

 

Percentage

Percentage

 

    

Revenues

    

of Revenues

    

Revenues

    

of Revenues

 

United States

$

34,634

 

43

%  

$

26,242

 

40

%

China

 

10,065

 

12

 

10,200

 

16

Japan

8,543

10

3,414

5

Taiwan

5,411

7

8,038

12

Rest of the world

 

22,521

 

28

 

17,784

 

27

Total revenue

$

81,174

 

100

%  

$

65,678

 

100

%

Long-lived assets, net by geographic area are as follows (in thousands):

September 30, 

December 31, 

    

2021

    

2020

United States

$

41,811

$

43,663

Rest of the world

 

1,624

 

2,251

Total long-lived assets, net

$

43,435

$

45,914

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.21.2
Note 12 - FAIR VALUE MEASUREMENTS
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 12 - FAIR VALUE MEASUREMENTS

12. FAIR VALUE MEASUREMENTS

Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.

Level 1 -

Inputs are quoted prices in active markets for identical assets or liabilities.

 

 

Level 2 -

Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.

 

 

Level 3 -

Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.

The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2021, and December 31, 2020, and the basis for those measurements (in thousands):

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Identical

Observable

Significant

September 30, 

Assets

Inputs

Unobservable

Assets

    

2021

    

(Level 1)

    

(Level 2)

    

Inputs (Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

55,039

$

55,039

$

$

Short-term investments (available-for-sale debt securities)

 

  

 

  

 

  

 

  

U.S. Treasury bills

 

69,992

 

69,992

 

 

Total

$

125,031

$

125,031

$

$

Quoted

Prices in

Active

Significant

Markets for

Other

Significant

Identical

Observable

Unobservable

December 31, 

Assets

Inputs

Inputs 

Assets

    

2020

    

(Level 1)

    

(Level 2)

    

(Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

18,012

$

18,012

$

$

Short-term investments (available-for-sale debt securities)

U.S. Treasury bills

114,981

114,981

Total

$

132,993

$

132,993

$

$

As of September 30, 2021, and December 31, 2020, the amortized cost of the Company’s cash equivalents and short-term investments approximated their fair value due to their short-term maturities, and there have been no events or changes in circumstances that would have had a significant effect on the fair value of these securities in the periods presented. There were no material realized or unrealized gains or losses, either individually or in the aggregate.

From time to time, the Company enters into foreign currency forward contracts to reduce the exposure to foreign currency exchange rate fluctuations on certain foreign currency denominated monetary assets and liabilities, primarily on third-party accounts payables and intercompany balances. The primary objective of the Company’s hedging program is to reduce volatility of earnings related to foreign currency exchange rate fluctuations. The counterparty to these foreign currency forward contracts is a financial institution that the Company believes is creditworthy, and therefore, the Company believes the credit risk of counterparty nonperformance is not significant. These foreign currency forward contracts are not designated for hedge accounting treatment.

Therefore, the change in fair value of these contracts is recorded into earnings as a component of other expense (income), net, and offsets the change in fair value of the foreign currency denominated assets and liabilities, which is also recorded in other expense (income), net in the Company’s Condensed Consolidated Statements of Comprehensive Loss.There was no realized gain or loss from foreign currency forward contracts during the three and nine months ended September 30, 2021, or the three months ended September 30, 2020. The Company recognized a net realized loss of $0.2 million from foreign currency forward contracts during the nine months ended September 30, 2020.

As applicable, the Company carries these derivatives financial instruments on its Condensed Consolidated Balance Sheets at their fair values. The Company’s foreign currency forward contracts are classified as Level 2 because they are not actively

traded and the valuation inputs are based on quoted prices and market observable data of similar instruments. As of September 30, 2021, and December 31, 2020, the Company had no outstanding forward contracts.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.21.2
Note 13 - COMMITMENTS AND CONTINGENCIES
9 Months Ended
Sep. 30, 2021
Notes to Financial Statements  
Note 13 - COMMITMENTS AND CONTINGENCIES

13. COMMITMENTS AND CONTINGENCIES

Strategic Partnership with Advantest — See Note 4, Business Combination, for the discussion about the Company’s commitments under the strategic partnership with Advantest.

Operating Leases — Refer to Note 6, Leases, for the discussion about the Company’s lease commitments.

Indemnifications — The Company generally provides a warranty to its customers that its software will perform substantially in accordance with documented specifications typically for a period of 90 days following initial delivery of its products. The Company also indemnifies certain customers from third-party claims of intellectual property infringement relating to the use of its products. Historically, costs related to these guarantees have not been significant. The Company is unable to estimate the maximum potential impact of these guarantees on its future results of operations.

Purchase Obligations — The Company has purchase obligations with certain suppliers for the purchase of goods and services entered in the ordinary course of business. As of September 30, 2021, total outstanding purchase obligations were $11.3 million, the majority of which is due within the next 24 months.

Indemnification of Officers and Directors — As permitted by the Delaware general corporation law, the Company has included a provision in its certificate of incorporation to eliminate the personal liability of its officers and directors for monetary damages for breach or alleged breach of their fiduciary duties as officers or directors, other than in cases of fraud or other willful misconduct.

In addition, the Bylaws of the Company provide that the Company is required to indemnify its officers and directors even when indemnification would otherwise be discretionary, and the Company is required to advance expenses to its officers and directors as incurred in connection with proceedings against them for which they may be indemnified. The Company has entered into indemnification agreements with its officers and directors containing provisions that are in some respects broader than the specific indemnification provisions contained in the Delaware general corporation law. The indemnification agreements require the Company to indemnify its officers and directors against liabilities that may arise by reason of their status or service as officers and directors other than for liabilities arising from willful misconduct of a culpable nature, to advance their expenses incurred as a result of any proceeding against them as to which they could be indemnified, and to obtain directors’ and officers’ insurance if available on reasonable terms. The Company has obtained directors’ and officers’ liability insurance in amounts comparable to other companies of the Company’s size and in the Company’s industry. Since a maximum obligation of the Company is not explicitly stated in the Company’s Bylaws or in its indemnification agreements and will depend on the facts and circumstances that arise out of any future claims, the overall maximum amount of the obligations cannot be reasonably estimated.

Legal Proceedings — From time to time, the Company is subject to various claims and legal proceedings that arise in the ordinary course of business. The Company accrues for losses related to litigation when a potential loss is probable and the loss can be reasonably estimated in accordance with FASB requirements. As of September 30, 2021, the Company was not a party to any material legal proceedings where a loss was probable, and thus no amount was accrued.

On May 6, 2020, the Company initiated an arbitration proceeding with the Hong Kong International Arbitration Center against SMIC New Technology Research & Development (Shanghai) Corporation (“SMIC”) due to SMIC’s failure to pay fees due to PDF under a series of contracts. The Company seeks to recover the unpaid fees, a declaration requiring SMIC to pay fees under the contracts in the future, and costs associated with bringing the arbitration proceeding. The arbitration is on-going.

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.21.2
Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)
9 Months Ended
Sep. 30, 2021
Accounting Policies [Abstract]  
Basis of Accounting, Policy [Policy Text Block]

Basis of Presentation

The interim unaudited condensed consolidated financial statements included herein have been prepared by PDF Solutions, Inc. (the “Company”) pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”), including the instructions to the Quarterly Report on Form 10-Q and Article 10 of Regulation S-X. Certain information and footnote disclosures normally included in annual financial statements prepared in accordance with accounting principles generally accepted in the United States of America have been condensed or omitted. The interim unaudited condensed consolidated financial statements reflect, in the opinion of management, all adjustments necessary (consisting only of normal recurring adjustments) to present a fair statement of results for the interim periods presented. The operating results for any interim period are not necessarily indicative of the results that may be expected for other interim periods or the full fiscal year. The accompanying interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto in the Company’s Annual Report on Form 10-K for the year ended December 31, 2020.

The condensed consolidated financial statements include the accounts of the Company and its wholly-owned subsidiaries after the elimination of all intercompany balances and transactions.

The condensed consolidated balance sheet at December 31, 2020, has been derived from the audited consolidated financial statements but does not include all disclosures required by accounting principles generally accepted in the United States of America.

Use of Estimates, Policy [Policy Text Block]

Use of Estimates

The preparation of financial statements in conformity with generally accepted accounting principles in the United States (“U.S. GAAP”) requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities, the disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant estimates in these financial statements include revenue recognition, assumptions made in analysis of allowance for doubtful accounts, impairment of goodwill and long-lived assets, realization of deferred tax assets (“DTAs”), and accounting for lease obligations, stock-based compensation expense, and income taxes. Actual results could differ from those estimates.

The global COVID-19 pandemic has impacted the operations and purchasing decisions of companies worldwide. As of the date of issuance of the condensed consolidated financial statements, the Company is not aware of any specific event or circumstance relating to COVID-19 that would require updates to the Company’s estimates and judgments or revisions to the carrying value of its assets or liabilities. These estimates may change, as new events occur and additional information is obtained, and are recognized in the condensed consolidated financial statements as soon as they become known. Actual results could differ from those estimates and any such differences may be material to the financial statements.

New Accounting Pronouncements, Policy [Policy Text Block]

Recent Accounting Standards

Accounting Standards Adopted

In December 2019, the Financial Accounting Standards Board (“FASB”) issued Accounting Standard Update (“ASU”) No. 2019-12, Income Taxes (Topic 740), Simplifying the Accounting for Income Taxes, related to simplifying the accounting for income taxes. The guidance eliminates certain exceptions from Accounting Standards Codification (“ASC”) 740 related to the approach for intraperiod tax allocation, the methodology for calculating income taxes in an interim period and the recognition of deferred tax liabilities for outside basis differences. The guidance also clarifies and simplifies other aspects of the accounting for income taxes. The guidance became effective for the Company beginning in the first quarter of 2021 on a

prospective basis. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.

In January 2020, the FASB issued ASU No. 2020-01, Investments-Equity Securities (Topic 321), Investments-Equity Method and Joint Ventures (Topic 323), and Derivatives and Hedging (Topic 815)-Clarifying the Interactions between Topic 321, Topic 323, and Topic 815. This ASU clarifies the interaction between accounting standards related to equity securities (ASC 321), equity method investments (ASC 323), and certain derivatives (ASC 815). The amendments in this ASU are effective for fiscal years beginning after December 15, 2020. The Company adopted this standard on January 1, 2021, and it did not have a material impact on the Company’s condensed consolidated financial statements or the related disclosures.

Accounting Standards Not Yet Adopted

In June 2016, the FASB issued ASU No. 2016-13, Financial Instruments – Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments (ASU 2016-13), which requires measurement and recognition of expected credit losses for financial assets held at the reporting date based on internal information, external information, or a combination of both relating to past events, current conditions, and reasonable and supportable forecasts. ASU No. 2016-13 replaces the existing incurred loss impairment model with a forward-looking expected credit loss model, which will result in earlier recognition of credit losses. Subsequent to the issuance of ASU No. 2016-13, the FASB issued ASU No. 2018-19, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, ASU No. 2019-04, Codification Improvements to Topic 326, Financial Instruments – Credit Losses, Topic 815, Derivatives and Hedging, and Topic 825, Financial Instrument, ASU No. 2019-05, Financial Instruments – Credit Losses (Topic 326) Targeted Transition Relief, ASU No. 2016-13, ASU No. 2019-10 Financial Instruments-Credit Losses (Topic 326), Derivatives and Hedging (Topic 815), and Leases (Topic 842), and ASU No. 2019-11 Codification Improvements to Topic 326, Financial Instruments-Credit Losses. The subsequent ASUs do not change the core principle of the guidance in ASU No. 2016-13. Instead, these amendments are intended to clarify and improve operability of certain topics included within ASU No. 2016-13.

Additionally, ASU No. 2019-10 defers the effective date for the adoption of the new standard on credit losses for public filers that are considered small reporting companies (“SRC”) as defined by the SEC to fiscal years beginning after December 15, 2022, including interim periods within those fiscal years, which will be fiscal 2023 for the Company if it continues to be classified as an SRC. In February 2020, the FASB issued ASU 2020-02, which provides guidance regarding methodologies, documentation, and internal controls related to expected credit losses. The subsequent amendments will have the same effective date and transition requirements as ASU No. 2016-13. Early adoption is permitted. Topic 326 requires a modified retrospective approach by recording a cumulative-effect adjustment to retained earnings as of the beginning of the period of adoption. While the Company is currently evaluating the impact of Topic 326, the Company does not expect the adoption of this ASU to have a material impact on its condensed consolidated financial statements or the related disclosure.

In August 2020, the FASB issued ASU No. 2020-06, Debt – Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging – Contracts in Entity’s Own Equity (Subtopic 815-20): Accounting for Convertible Instruments and Contracts in an Entity’s Own Equity, which is intended to simplify the accounting for certain financial instruments with characteristics of liabilities and equity, including convertible instruments and contracts on an entity’s own equity. The guidance allows for either full retrospective adoption or modified retrospective adoption. Additionally, the ASU will require entities to use the “if-converted” method when calculating diluted earnings per share for convertible instruments. The ASU will be effective for annual reporting periods beginning after December 15, 2023 for SRCs and interim periods within those annual periods. Early adoption is permitted. The Company does not anticipate that the adoption of this ASU will have a significant impact on its condensed consolidated financial statements or the related disclosures.

Management has reviewed other recently issued accounting pronouncements issued or proposed by the FASB, and does not believe any of these accounting pronouncements has had or will have a material impact on the condensed consolidated financial statements.

Revenue from Contract with Customer [Policy Text Block]

The Company recognizes revenue in accordance with FASB ASC Topic 606, Revenue from Contracts with Customers, and its related amendments (collectively known as “ASC 606”). ASC 606 outlines a single comprehensive model to use in accounting for revenue arising from contracts with customers. Revenue is recognized when control of products or services is transferred to customers, in an amount that reflects the consideration the Company expects to be entitled to in exchange for those promised products or services.

The Company determines revenue recognition through the following five steps:

Identification of the contract, or contracts, with a customer
Identification of the performance obligations in the contract
Determination of the transaction price
Allocation of the transaction price to the performance obligations in the contract
Recognition of revenue when, or as, performance obligations are satisfied

The Company accounts for a contract when it has approval and commitment from both parties, the rights of the parties are identified, payment terms are identified, the contract has commercial substance, and collectability of consideration is probable.

Contracts with multiple performance obligations

The Company enters into contracts that can include various combinations of licenses, products and services, some of which are distinct and are accounted for as separate performance obligations. For contracts with multiple performance obligations, the Company allocates the transaction price of the contract to each performance obligation on a relative basis using the standalone selling price.

Accounts Receivable [Policy Text Block] Accounts receivable include amounts that are unbilled at the end of the period that are expected to be billed and collected within a 12-month period.
Goodwill and Intangible Assets, Intangible Assets, Policy [Policy Text Block] Intangible assets are amortized over their useful lives unless these lives are determined to be indefinite.
Share-based Payment Arrangement [Policy Text Block]

In July 2001, the Company’s stockholders initially approved the 2001 Employee Stock Purchase Plan, which was subsequently amended and restated in 2010 (as amended, the “2010 Purchase Plan”) to extend the term of the plan through May 17, 2020. Under the 2010 Purchase Plan, eligible employees could contribute up to 10% of their compensation, as defined in the 2010 Purchase Plan, towards the purchase of shares of PDF common stock at a price of 85% of the lower of the fair market value at the beginning of the offering period or the end of the purchase period. The 2010 Purchase Plan provided for twenty-four-month offering periods with four six-month purchase periods in each offering period. The 2010 Purchase Plan expired on May 17, 2020. Existing offering periods will continue until they expire in accordance with their terms, and

participation in such offering periods will continue through the applicable expiration date. The final offering period under the 2010 Purchase Plan expires on January 31, 2022. On June 15, 2021, the Company’s stockholders approved the 2021 Employee Stock Purchase Plan, which has a ten-year term (the “2021 Purchase Plan”). The terms of 2021 Purchase Plan are substantially similar to those of the 2010 Purchase Plan. A twenty-four-month offering period under the 2021 Purchase Plan commenced on August 1, 2021.

Earnings Per Share, Policy [Policy Text Block] Basic net loss per share is computed by dividing net loss by weighted average number of common shares outstanding for the period (excluding outstanding stock options and shares subject to repurchase). Diluted net loss per share is computed using the weighted-average number of common shares outstanding for the period plus the potential effect of dilutive securities which are convertible into common shares (using the treasury stock method), except in cases in which the effect would be anti-dilutive.
Segment Reporting, Policy [Policy Text Block]

The Company’s chief operating decision maker, the chief executive officer, reviews discrete financial information presented on a consolidated basis for purposes of regularly making operating decisions, allocation of resources, and assessing financial performance. Accordingly, the Company considers itself to be in one operating and reporting segment, specifically the provision of services for differentiated data and analytics solutions to the semiconductor and electronics industries.

Fair Value Measurement, Policy [Policy Text Block]

Fair value is the exit price, or the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants as of the measurement date. The multiple assumptions used to value financial instruments are referred to as inputs, and a hierarchy for inputs used in measuring fair value is established, that maximizes the use of observable inputs and minimizes the use of unobservable inputs by requiring that the most observable inputs be used when available. Observable inputs reflect assumptions market participants would use in pricing an asset or liability based on market data obtained from independent sources while unobservable inputs reflect a reporting entity’s pricing based upon its own market assumptions. These inputs are ranked according to a fair value hierarchy that prioritizes the inputs to valuation techniques used to measure fair value into three broad levels.

Level 1 -

Inputs are quoted prices in active markets for identical assets or liabilities.

 

 

Level 2 -

Inputs are quoted prices for similar assets or liabilities in an active market, quoted prices for identical or similar assets or liabilities in markets that are not active, inputs other than quoted prices that are observable and market-corroborated inputs which are derived principally from or corroborated by observable market data.

 

 

Level 3 -

Inputs are derived from valuation techniques in which one or more significant inputs or value drivers are unobservable.

Foreign Currency Transactions and Translations Policy [Policy Text Block]

From time to time, the Company enters into foreign currency forward contracts to reduce the exposure to foreign currency exchange rate fluctuations on certain foreign currency denominated monetary assets and liabilities, primarily on third-party accounts payables and intercompany balances. The primary objective of the Company’s hedging program is to reduce volatility of earnings related to foreign currency exchange rate fluctuations. The counterparty to these foreign currency forward contracts is a financial institution that the Company believes is creditworthy, and therefore, the Company believes the credit risk of counterparty nonperformance is not significant. These foreign currency forward contracts are not designated for hedge accounting treatment.

Therefore, the change in fair value of these contracts is recorded into earnings as a component of other expense (income), net, and offsets the change in fair value of the foreign currency denominated assets and liabilities, which is also recorded in other expense (income), net in the Company’s Condensed Consolidated Statements of Comprehensive Loss.There was no realized gain or loss from foreign currency forward contracts during the three and nine months ended September 30, 2021, or the three months ended September 30, 2020. The Company recognized a net realized loss of $0.2 million from foreign currency forward contracts during the nine months ended September 30, 2020.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.21.2
Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Disaggregation of Revenue [Table Text Block]

The Company’s performance obligations are satisfied either over time or at a point-in-time. The following table represents a disaggregation of revenue by timing of revenue:

Three Months Ended September 30,

 

Nine Months Ended September 30, 

 

    

2021

    

2020

2021

    

2020

Over time

72

55

%

60

56

%

Point-in-time

 

28

45

%

40

44

%

Total

 

100

%  

100

%

100

%  

100

%

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.21.2
Note 4 - BUSINESS COMBINATION (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Schedule of Business Acquisitions, by Acquisition [Table Text Block]

As of September 30, 2021, the allocation of the purchase price for this acquisition is as follows (in thousands, except amortization period):

Amortization

    

Amount

    

Period (Years)

Assets

 

  

 

  

Fair value of tangible assets (including cash of $5,900)

$

8,403

 

  

Fair value of intangible assets:

 

  

 

  

Developed technology

 

12,541

 

8

In-process R&D

 

3,635

 

N/A

Customer relationships

 

1,967

 

10

Noncompetition agreements

 

848

 

3

Tradenames and trademarks

 

808

 

10

Goodwill

 

13,012

 

N/A

Total assets acquired

$

41,214

 

  

Liabilities

 

  

 

  

Accounts payable and accrued expenses

$

1,437

 

  

Deferred revenue

 

391

 

  

Operating lease liabilities

 

132

 

  

Deferred tax liabilities

 

1,743

 

  

Total liabilities assumed

$

3,703

 

  

Total purchase price allocation

$

37,511

 

  

XML 35 R24.htm IDEA: XBRL DOCUMENT v3.21.2
Note 5 - BALANCE SHEET COMPONENTS (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Property, Plant and Equipment [Table Text Block]

Property and equipment, net consist of the following (in thousands):

September 30, 

December 31, 

    

2021

    

2020

Computer equipment

$

11,715

$

11,585

Software

 

5,433

 

5,451

Furniture, fixtures and equipment

 

2,505

 

2,507

Leasehold improvements

 

6,270

 

6,255

Laboratory and other equipment

 

3,650

 

3,451

Test equipment

 

24,865

 

26,010

Construction-in-progress

 

23,432

 

20,278

 

77,870

 

75,537

Less: accumulated depreciation and amortization

 

(40,049)

 

(36,295)

Total

$

37,821

$

39,242

Schedule of Goodwill [Table Text Block]

The change in the carrying amount of goodwill during the nine months ended September 30, 2021, was as follows (in thousands):

Balance at beginning of period, January 1, 2021

$

15,774

Measurement period acquisition adjustment (1)

 

469

Balance at end of period, September 30, 2021

$

15,305

(1)Goodwill adjustment was recorded within the measurement period with a corresponding reduction in the Holdback Amount. See Note 4, Business Combination.
Schedule of Finite-Lived Intangible Assets [Table Text Block]

Intangible assets, net, consisted of the following (in thousands):

September 30, 2021

December 31, 2020

Amortization

Gross

Net

Gross

Net

Period

Carrying

Accumulated

Carrying

Carrying

Accumulated

Carrying

(Years)

    

Amount

    

Amortization

    

Amount

    

Amount

    

Amortization

    

Amount

Acquired identifiable intangibles:

Customer relationships

 

1-10

$

9,407

$

(5,880)

$

3,527

$

9,407

$

(5,398)

$

4,009

Developed technology

 

4-9

 

30,000

 

(16,652)

 

13,348

 

30,000

 

(14,987)

 

15,013

Tradename and trademarks

 

2-10

 

1,598

 

(785)

 

813

 

1,598

 

(706)

 

892

Patent

 

7-10

 

1,800

 

(1,630)

 

170

 

1,800

 

(1,600)

 

200

Noncompetition agreements

 

3

 

848

 

(235)

 

613

 

848

 

(24)

 

824

In-process R&D

 

*

 

3,635

 

 

3,635

 

3,635

 

 

3,635

Total

$

47,288

$

(25,182)

$

22,106

$

47,288

$

(22,715)

$

24,573

* Non-amortizing intangible asset

Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]

The Company expects annual amortization of acquired identifiable intangible assets to be as follows (in thousands):

Year Ending December 31, 

    

Amount

2021 (remaining three months)

$

754

2022

 

3,013

2023

 

2,990

2024

 

2,592

2025

 

2,427

2026 and thereafter

 

6,695

Total future amortization expense

$

18,471

XML 36 R25.htm IDEA: XBRL DOCUMENT v3.21.2
Note 6 - LEASES (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Lease, Cost [Table Text Block]

Lease expense was comprised of the following (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Operating lease expense

$

448

$

455

$

1,417

$

1,362

Short-term lease and variable lease expense (1)

 

196

 

127

 

602

 

401

Total lease expense

$

644

$

582

$

2,019

$

1,763

(1)Leases with an initial term of 12 months or less are not recorded on the condensed consolidated balance sheets, and the Company recognizes lease expense for these leases on a straight-line basis over the lease term. Variable lease expense for the periods presented primarily included common area maintenance charges.

Supplemental information related to operating leases was as follows:

September 30, 

December 31, 

 

    

2021

    

2020

 

Weighted average remaining lease term under operating ROU leases (in years)

6.0

6.4

Weighted average discount rate for operating lease liabilities

 

5.25

%  

5.24

%

Lessee, Operating Lease, Liability, Maturity [Table Text Block]

Maturities of operating lease liabilities as of September 30, 2021, were as follows (in thousands):

Year Ending December 31, 

    

Amount(1)

2021 (remaining three months)

$

477

2022

 

1,707

2023

 

1,389

2024

 

1,073

2025

 

1,088

2026 and thereafter

2,703

Total future minimum lease payments

$

8,437

Less: Interest(2)

 

(1,196)

Present value of future minimum lease payments under operating lease liabilities (3)

$

7,241

(1)As of September 30, 2021, the total operating lease liability includes approximately $1.1 million related to an option to extend a lease term that is reasonably certain to be exercised.
(2)Calculated using incremental borrowing interest rate for each lease.
(3)Includes the current portion of operating lease liabilities of $1.7 million as of September 30, 2021.
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.21.2
Note 8 - EMPLOYEE BENEFIT PLANS (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]

2021 Purchase Plan

2010 Purchase Plan

Nine Months Ended
September 30,

 

Nine Months Ended
September 30,

 

2021

2021

    

2020

Expected life (in years)

1.25

 

1.25

 

1.25

Volatility

48.00

%  

34.25

%  

34.25

%

Risk-free interest rate

0.11

%  

1.43

%  

1.43

%

Expected dividend

 

 

Weighted average fair value of purchase rights granted during the period

$

6.71

$

4.83

$

4.83

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Expected life (in years)

4.45

4.45

Volatility

 

%  

43.92

%  

%  

40.90

%  

Risk-free interest rate

 

%  

0.23

%  

%  

0.60

%  

Expected dividend

 

 

 

 

 

Weighted average fair value per share of options granted during the period

$

$

6.92

$

$

5.75

Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]

Stock-based compensation is estimated at the grant date based on the award’s fair value and is recognized on a straight-line basis over the vesting periods, generally four years. Stock-based compensation expense before taxes related to the Company’s stock plans and employee stock purchase plan was allocated as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Costs of revenues

$

670

$

790

$

1,860

$

2,582

Research and development

 

1,299

 

1,148

 

4,013

 

3,613

Selling, general and administrative

 

1,394

 

1,192

 

3,601

 

3,281

Stock-based compensation expenses (1)

$

3,363

$

3,130

$

9,474

$

9,476

(1)The stock-based compensation expense during the three and nine months ended September 30, 2020, includes immaterial expense or credit adjustments related to cash-settled SARs granted to certain employees. The Company accounted for these awards as liability awards and the amount was included in accrued compensation and related benefits. All remaining outstanding SARs were fully exercised in the third quarter of 2020.
Share-based Payment Arrangement, Option, Activity [Table Text Block]

Weighted

Weighted

Average

Average

Remaining

Aggregate

Number of

Exercise

Contractual

Intrinsic

Options (in

Price

Term

Value (in

    

thousands)

    

per Share

    

(Years)

    

thousands)

Outstanding, January 1, 2021

 

456

$

10.95

 

  

 

  

Granted

 

 

  

 

  

Exercised

 

(160)

7.80

 

  

 

  

Canceled

 

(3)

13.52

 

  

 

  

Expired

 

(4)

6.90

 

  

 

  

Outstanding, September 30, 2021

 

289

$

12.72

 

3.30

$

2,983

Vested and expected to vest, September 30, 2021

 

286

$

12.69

 

3.25

$

2,956

Exercisable, September 30, 2021

 

240

$

12.27

 

2.43

$

2,590

Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]

Weighted

Average Grant

Shares 

Date Fair Value

    

(in thousands)

    

Per Share

Non-vested, January 1, 2021

 

1,747

$

16.33

Granted

 

894

$

18.42

Vested

 

(579)

$

16.08

Forfeited

 

(81)

$

16.85

Non-vested, September 30, 2021

 

1,981

$

17.33

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.21.2
Note 10 - NET LOSS PER SHARE (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]

Three Months Ended September 30, 

Nine Months Ended December 31, 

    

2021

    

2020

    

2021

    

2020

Numerator:

 

  

 

  

 

  

 

  

Net loss

$

(2,407)

$

(2,734)

$

(14,488)

$

(6,914)

Denominator:

 

  

 

  

 

  

 

  

Basic weighted-average shares outstanding

 

37,221

 

35,479

 

37,067

 

33,696

Effect of dilutive options and restricted stock units

 

 

 

 

Diluted weighted-average shares outstanding

 

37,221

 

35,479

 

37,067

 

33,696

Net loss per share, basic and diluted

$

(0.06)

$

(0.08)

$

(0.39)

$

(0.21)

Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]

The following table sets forth potential shares of common stock that were not included in the diluted net loss per share calculation above because to do so would be anti-dilutive for the periods indicated (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

    

2021

    

2020

    

2021

    

2020

Outstanding options

 

128

 

310

 

182

 

362

Non-vested restricted stock units

 

915

 

1,084

 

997

 

820

Employee Stock Purchase Plan

 

30

 

190

 

14

 

146

Total

 

1,073

 

1,584

 

1,193

 

1,328

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.21.2
Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Schedule of Revenue by Major Customers by Reporting Segments [Table Text Block]

Three Months Ended September 30, 

 

Nine Months Ended September 30, 

 

Customer

    

2021

    

2020

    

2021

    

2020

 

A

*

%  

18

%

*

%  

23

%

B

*

%  

14

%

*

%  

*

%

D

25

%  

*

%

12

%  

*

%

E

*

%  

*

%

10

%  

*

%

* represents less than 10%

The Company had gross accounts receivable from individual customers in excess of 10% of gross accounts receivable as follows:

September 30, 

December 31, 

 

Customer

    

2021

    

2020

 

A

 

*

%  

16

%

B

 

13

%  

*

%

C

10

%  

11

%

D

 

25

%  

*

%

* represents less than 10%

Schedule of Revenue from External Customers Attributed to Foreign Countries by Geographic Area [Table Text Block]

Revenues from customers by geographic area based on the location of the customers’ work sites are as follows (amounts in thousands):

Three Months Ended September 30, 

 

2021

2020

 

Percentage

Percentage

 

    

Revenues

    

of Revenues

    

Revenues

    

of Revenues

 

United States

$

13,983

 

47

%  

$

7,710

 

33

%

China

 

4,038

 

14

 

6,747

 

29

Rest of the world

 

11,534

 

39

 

8,655

 

38

Total revenue

$

29,555

 

100

%  

$

23,112

 

100

%

Nine Months Ended September 30, 

 

2021

2020

 

Percentage

Percentage

 

    

Revenues

    

of Revenues

    

Revenues

    

of Revenues

 

United States

$

34,634

 

43

%  

$

26,242

 

40

%

China

 

10,065

 

12

 

10,200

 

16

Japan

8,543

10

3,414

5

Taiwan

5,411

7

8,038

12

Rest of the world

 

22,521

 

28

 

17,784

 

27

Total revenue

$

81,174

 

100

%  

$

65,678

 

100

%

Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]

Long-lived assets, net by geographic area are as follows (in thousands):

September 30, 

December 31, 

    

2021

    

2020

United States

$

41,811

$

43,663

Rest of the world

 

1,624

 

2,251

Total long-lived assets, net

$

43,435

$

45,914

XML 40 R29.htm IDEA: XBRL DOCUMENT v3.21.2
Note 12 - FAIR VALUE MEASUREMENTS (Tables)
9 Months Ended
Sep. 30, 2021
Notes Tables  
Fair Value, Assets Measured on Recurring Basis [Table Text Block]

The following table represents the Company’s assets measured at fair value on a recurring basis as of September 30, 2021, and December 31, 2020, and the basis for those measurements (in thousands):

Fair Value Measurements Using

Quoted

Prices in

Active

Significant

Markets for

Other

Identical

Observable

Significant

September 30, 

Assets

Inputs

Unobservable

Assets

    

2021

    

(Level 1)

    

(Level 2)

    

Inputs (Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

55,039

$

55,039

$

$

Short-term investments (available-for-sale debt securities)

 

  

 

  

 

  

 

  

U.S. Treasury bills

 

69,992

 

69,992

 

 

Total

$

125,031

$

125,031

$

$

Quoted

Prices in

Active

Significant

Markets for

Other

Significant

Identical

Observable

Unobservable

December 31, 

Assets

Inputs

Inputs 

Assets

    

2020

    

(Level 1)

    

(Level 2)

    

(Level 3)

Cash equivalents

 

  

 

  

 

  

 

  

Money market mutual funds

$

18,012

$

18,012

$

$

Short-term investments (available-for-sale debt securities)

U.S. Treasury bills

114,981

114,981

Total

$

132,993

$

132,993

$

$

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.21.2
Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 1 (Details)
3 Months Ended 9 Months Ended
Sep. 30, 2021
USD ($)
Sep. 30, 2020
USD ($)
Sep. 30, 2021
USD ($)
item
Sep. 30, 2020
USD ($)
Dec. 31, 2020
USD ($)
Number of Revenue Sources | item     2    
Capitalized Contract Cost, Impairment Loss $ 0 $ 0 $ 0 $ 0  
Contract with Customer, Liability, Noncurrent 2,500,000   2,500,000   $ 1,200,000
Contract with Customer, Liability, Revenue Recognized 7,000,000.0 4,700,000 13,800,000 9,500,000  
Revenue, Remaining Performance Obligation, Amount 180,900,000   180,900,000    
Contract with Customer, Performance Obligation Satisfied in Previous Period 200,000 1,200,000 34,000 400,000  
Capitalized Contract Cost, Amortization 200,000 $ 100,000 499,000 $ 367,000  
Prepaid Expenses and Other Current Assets [Member]          
Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total         3,700,000
Capitalized Contract Cost, Net, Total 800,000   800,000   800,000
Other Noncurrent Assets [Member]          
Capitalized Contract Cost, Net, Total $ 1,800,000   $ 1,800,000   $ 900,000
Geographic Concentration Risk [Member] | Revenue Benchmark [Member]          
Concentration Risk, Percentage 100.00% 100.00% 100.00% 100.00%  
Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | Non-US [Member]          
Concentration Risk, Percentage 53.00% 67.00% 57.00% 60.00%  
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.21.2
Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 2 (Details) - Software License and Related Services Agreement [Member] - Advantest America, Inc. [Member]
Sep. 30, 2021
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-10-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) 2 years
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2023-07-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year) 3 years
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.21.2
Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details)
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Percent of revenues 100.00% 100.00% 100.00% 100.00%
Transferred over Time [Member]        
Percent of revenues 72.00% 55.00% 60.00% 56.00%
Transferred at Point in Time [Member]        
Percent of revenues 28.00% 45.00% 40.00% 44.00%
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.21.2
Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Jul. 29, 2020
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Proceeds from Issuance of Common Stock         $ 64,995  
Revenue from Contract with Customer, Including Assessed Tax   $ 29,555 $ 23,112 $ 81,174 65,678  
Strategic Partnership for Joint Development and Sales Technology Solutions [Member]            
Stock Issued During Period, Shares, New Issues (in shares) 3,306,924          
Proceeds from Issuance of Common Stock $ 65,200          
Amendment #1 to Software License & Related Services Agreement [Member]            
Revenue from Contract with Customer, Including Assessed Tax   2,700 $ 1,000 7,900 $ 1,000  
Related Party Transaction, Due from (to) Related Party, Total   0   0   $ 0
Contract with Customer, Liability, Total   $ 9,600   $ 9,600   $ 0
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.21.2
Note 4 - BUSINESS COMBINATION - Other (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended
Dec. 31, 2020
Sep. 30, 2021
Mar. 31, 2021
Restricted Cash, Total   $ 3,019  
Cimetrix Incorporated [Member]      
Payments to Acquire Businesses, Net of Cash Acquired, Total $ 28,600    
Business Combination, Holdback Amount 3,500   $ 3,000
Goodwill, Period Increase (Decrease), Total     $ (500)
Business Combination, Estimated Cash Payout to Certain Employees 1,400    
Business Combination, Estimated Remaining Cash Payout to Certain Employees   900  
Business Combination, Acquisition Related Costs 1,600 0  
Cimetrix Incorporated [Member] | Prepaid Expenses and Other Current Assets [Member]      
Restricted Cash, Total 3,500 3,000  
Cimetrix Incorporated [Member] | Accrued Compensation and Related Benefits [Member]      
Business Combination, Accrued Estimated Cash Payout to Certain Employees $ 300 $ 400  
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.21.2
Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2021
Dec. 31, 2020
Goodwill $ 15,305 $ 15,774
Cimetrix Incorporated [Member]    
Fair value of cash 5,900  
Fair value of tangible assets (including cash of $5,900) 8,403  
Goodwill 13,012  
Total assets acquired 41,214  
Accounts payable and accrued expenses 1,437  
Deferred revenue 391  
Operating lease liabilities 132  
Deferred tax liabilities 1,743  
Total liabilities assumed 3,703  
Total purchase price allocation 37,511  
Cimetrix Incorporated [Member] | In Process Research and Development [Member]    
Fair value of indefinite-lived intangible assets 3,635  
Developed Technology Rights [Member] | Cimetrix Incorporated [Member]    
Fair value of finite-lived intangible assets $ 12,541  
Finite-lived intangible assets, amortization period (Year) 8 years  
Customer Relationships [Member] | Cimetrix Incorporated [Member]    
Fair value of finite-lived intangible assets $ 1,967  
Finite-lived intangible assets, amortization period (Year) 10 years  
Noncompete Agreements [Member] | Cimetrix Incorporated [Member]    
Fair value of finite-lived intangible assets $ 848  
Finite-lived intangible assets, amortization period (Year) 3 years  
Trademarks and Trade Names [Member] | Cimetrix Incorporated [Member]    
Fair value of finite-lived intangible assets $ 808  
Finite-lived intangible assets, amortization period (Year) 10 years  
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.21.2
Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives - Narrative (Details)
$ in Thousands
Sep. 30, 2021
USD ($)
Cimetrix Incorporated [Member]  
Fair value of cash $ 5,900
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.21.2
Note 5 - BALANCE SHEET COMPONENTS - Other (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Unbilled Receivables, Current $ 8.6   $ 8.6   $ 7.2
Unbilled Receivables, Not Expected to be Billed and Collected in Next Twelve Months 1.6   1.6   2.0
Depreciation, Depletion and Amortization, Nonproduction, Total 1.5 $ 1.7 4.8 $ 5.0  
Impairment of goodwill 0.0   $ 0.0    
Acquired Finite-lived Intangible Assets, Weighted Average Useful Life (Year)     5 years 8 months 12 days    
Amortization of Intangible Assets, Total 0.8 $ 0.3 $ 2.5 $ 1.0  
DFI Test Equipment [Member]          
Construction in Progress, Gross $ 21.5   $ 21.5   $ 18.9
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.21.2
Note 5 - BALANCE SHEET COMPONENTS - Property and Equipment (Details) - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Property and equipment, gross $ 77,870 $ 75,537
Less: accumulated depreciation and amortization (40,049) (36,295)
Total 37,821 39,242
Computer Equipment [Member]    
Property and equipment, gross 11,715 11,585
Software and Software Development Costs [Member]    
Property and equipment, gross 5,433 5,451
Furniture and Fixtures [Member]    
Property and equipment, gross 2,505 2,507
Leasehold Improvements [Member]    
Property and equipment, gross 6,270 6,255
Laboratory and Test Equipment [Member]    
Property and equipment, gross 3,650 3,451
Test Equipment [Member]    
Property and equipment, gross 24,865 26,010
Construction in Progress [Member]    
Property and equipment, gross $ 23,432 $ 20,278
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.21.2
Note 5 - BALANCE SHEET COMPONENTS - Change in Carrying Amount of Goodwill (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2021
USD ($)
Note 5 - Balance Sheet Components - Change in Carrying Amount of Goodwill (Details)  
Balance at beginning of period $ 15,774
Measurement period acquisition adjustment (1) 469
Balance at end of period $ 15,305
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.21.2
Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2021
Dec. 31, 2020
Amortization Period (Year) 5 years 8 months 12 days  
Accumulated Amortization $ (25,182) $ (22,715)
Net Carrying Amount 18,471  
Gross Carrying Amount, Total 47,288 47,288
Net Carrying Amount, Total 22,106 24,573
In Process Research and Development [Member]    
In-process R&D 3,635 3,635
Customer Relationships [Member]    
Gross Carrying Amount 9,407 9,407
Accumulated Amortization (5,880) (5,398)
Net Carrying Amount $ 3,527 4,009
Customer Relationships [Member] | Minimum [Member]    
Amortization Period (Year) 1 year  
Customer Relationships [Member] | Maximum [Member]    
Amortization Period (Year) 10 years  
Developed Technology Rights [Member]    
Gross Carrying Amount $ 30,000 30,000
Accumulated Amortization (16,652) (14,987)
Net Carrying Amount $ 13,348 15,013
Developed Technology Rights [Member] | Minimum [Member]    
Amortization Period (Year) 4 years  
Developed Technology Rights [Member] | Maximum [Member]    
Amortization Period (Year) 9 years  
Trademarks and Trade Names [Member]    
Gross Carrying Amount $ 1,598 1,598
Accumulated Amortization (785) (706)
Net Carrying Amount $ 813 892
Trademarks and Trade Names [Member] | Minimum [Member]    
Amortization Period (Year) 2 years  
Trademarks and Trade Names [Member] | Maximum [Member]    
Amortization Period (Year) 10 years  
Patents [Member]    
Gross Carrying Amount $ 1,800 1,800
Accumulated Amortization (1,630) (1,600)
Net Carrying Amount $ 170 200
Patents [Member] | Minimum [Member]    
Amortization Period (Year) 7 years  
Patents [Member] | Maximum [Member]    
Amortization Period (Year) 10 years  
Noncompete Agreements [Member]    
Amortization Period (Year) 3 years  
Gross Carrying Amount $ 848 848
Accumulated Amortization (235) (24)
Net Carrying Amount $ 613 $ 824
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.21.2
Note 5 - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details)
$ in Thousands
Sep. 30, 2021
USD ($)
Note 5 - Balance Sheet Components - Annual Amortization of Identifiable Intangible Assets (Details)  
2021 (remaining three months) $ 754
2022 3,013
2023 2,990
2024 2,592
2025 2,427
2026 and thereafter 6,695
Net Carrying Amount $ 18,471
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.21.2
Note 6 - LEASES - Other (Details)
$ in Thousands
Sep. 30, 2021
USD ($)
lease
Dec. 31, 2020
USD ($)
lease
Note To Financial Statement Details Textual    
Number of finance leases | lease 0 0
Operating Lease, Liability, Amount Related to Extension of Lease Term $ 1,100  
Operating Lease, Liability, Current $ 1,740 $ 1,926
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.21.2
Note 6 - LEASES - Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Note 6 - Leases - Lease Cost (Details)          
Operating lease expense $ 448 $ 455 $ 1,417 $ 1,362  
Short-term lease and variable lease expense (1) 196 127 602 401  
Total lease expense $ 644 $ 582 $ 2,019 1,763  
Weighted average remaining lease term under operating ROU leases (in years) (Year) 6 years   6 years   6 years 4 months 24 days
Weighted average discount rate for operating lease liabilities 5.25%   5.25%   5.24%
Operating lease ROU assets obtained (in thousands)       $ 151  
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.21.2
Note 6 - LEASES - Maturity of Operating Lease Liabilities (Details)
$ in Thousands
Sep. 30, 2021
USD ($)
Note 6 - Leases - Maturity of Operating Lease Liabilities (Details)  
2021 (remaining three months) $ 477
2022 1,707
2023 1,389
2024 1,073
2025 1,088
2026 and thereafter 2,703
Total future minimum lease payments 8,437
Less: Interest (2) (1,196)
Present value of future minimum lease payments under operating lease liabilities (3) $ 7,241
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.21.2
Note 7 - STOCKHOLDERS EQUITY (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 9 Months Ended 24 Months Ended
Jul. 30, 2020
Jun. 04, 2020
Mar. 31, 2021
Sep. 30, 2021
Sep. 30, 2020
May 28, 2020
Proceeds from Issuance of Common Stock         $ 64,995  
Treasury Stock, Value, Acquired, Cost Method     $ 4,523      
The 2018 Stock Repurchase Program [Member]            
Treasury Stock, Shares, Acquired (in shares)           786,000
Treasury Stock Acquired, Average Cost Per Share (in dollars per share)           $ 12.43
Treasury Stock, Value, Acquired, Cost Method           $ 9,800
The 2020 Stock Repurchase Program [Member]            
Treasury Stock, Shares, Acquired (in shares)       251,212    
Treasury Stock Acquired, Average Cost Per Share (in dollars per share)       $ 18.01    
Treasury Stock, Value, Acquired, Cost Method       $ 4,500    
Stock Repurchase Program, Authorized Amount   $ 25,000        
Stock Repurchase Program, Period in Force (Year)   2 years        
Strategic Partnership for Joint Development and Sales Technology Solutions [Member]            
Stock Issued During Period, Shares, New Issues (in shares) 3,306,924          
Shares Issued, Price Per Share (in dollars per share) $ 19.7085          
Proceeds from Issuance of Common Stock $ 65,200          
Payments of Stock Issuance Costs $ 100          
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.21.2
Note 8 - EMPLOYEE BENEFIT PLANS - Other (Details)
$ / shares in Units, $ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended 12 Months Ended
Jun. 15, 2021
Nov. 16, 2011
shares
Jul. 31, 2001
Jul. 31, 2001
item
Sep. 30, 2021
USD ($)
$ / shares
shares
Sep. 30, 2020
USD ($)
shares
Sep. 30, 2021
USD ($)
$ / shares
shares
Sep. 30, 2020
USD ($)
$ / shares
shares
Dec. 31, 2001
shares
Dec. 31, 2020
shares
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)             4 years      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period (in shares)             3,000      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance (in shares)         289,000   289,000     456,000
Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares)         0   0      
Share-based Payment Arrangement, Amount Capitalized | $         $ 0 $ 0 $ 0 $ 190    
Share Price (in dollars per share) | $ / shares         $ 23.04   $ 23.04      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value | $             $ 1,900      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value | $             100      
Share-based Payment Arrangement, Option [Member]                    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | $         $ 200   $ 200      
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)             2 years      
Restricted Stock Units (RSUs) [Member]                    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | $         $ 27,100   $ 27,100      
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)             2 years 8 months 12 days      
Employee Stock Purchase Plan [Member]                    
Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Rate     10.00% 10.00%            
Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent     85.00%              
Share-based Compensation Arrangement by Share-based Payment Award, Offering Period 24 months     24 months            
Share-based Compensation Arrangement by Share-based Payment Award, Number of Purchase Period | item       4            
Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares)         9,000 93,000 109,000 183,000    
Employee Stock Purchase Plan Weighted Average Purchase Price of Shares Purchased (in dollars per share) | $ / shares             $ 9.53 $ 9.12    
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total | $         $ 2,000   $ 2,000      
Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)             1 year 9 months      
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year) 10 years                  
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)       6 months            
Twenty Eleven Stock Incentive Plan [Member]                    
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)   11,500,000                
Share Based Compensation Arrangement By Share Based Payment Award Shares Reserved Decrease Rate (in shares)   1.33                
Common Stock, Capital Shares Reserved for Future Issuance (in shares)         12,100,000   12,100,000      
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant (in shares)         3,400,000   3,400,000      
Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period (in shares)             500,000      
Twenty Eleven Stock Incentive Plan [Member] | Share-based Payment Arrangement, Option [Member]                    
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)   10 years                
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)   4 years                
Shares Previously Issued Under the 2001 Plan [Member]                    
Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)                 3,500,000  
IDS Plan [Member] | Share-based Payment Arrangement, Option [Member]                    
Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)                 10 years  
Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)                 4 years  
Outside of the 2011, 2001 or IDS Plans [Member]                    
Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance (in shares)         0   0      
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.21.2
Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options, Valuation Assumptions (Details) - $ / shares
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Employee Stock Purchase Plan [Member]        
Expected life (in years) (Year) 1 year 3 months   1 year 3 months 1 year 3 months
Volatility 48.00%   34.25% 34.25%
Risk-free interest rate 0.11%   1.43% 1.43%
Expected dividend 0.00%   0.00% 0.00%
Weighted average fair value of purchase rights granted during the period (in dollars per share) $ 6.71   $ 4.83 $ 4.83
Twenty Eleven Stock Incentive Plan [Member]        
Expected life (in years) (Year)   4 years 5 months 12 days   4 years 5 months 12 days
Volatility   43.92%   40.90%
Risk-free interest rate   0.23%   0.60%
Expected dividend   0.00%   0.00%
Weighted average fair value of purchase rights granted during the period (in dollars per share)   $ 6.92   $ 5.75
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.21.2
Note 8 - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Stock-based compensation expenses $ 3,363 $ 3,130 $ 9,474 $ 9,476
Cost of Sales [Member]        
Stock-based compensation expenses 670 790 1,860 2,582
Research and Development Expense [Member]        
Stock-based compensation expenses 1,299 1,148 4,013 3,613
Selling, General and Administrative Expenses [Member]        
Stock-based compensation expenses $ 1,394 $ 1,192 $ 3,601 $ 3,281
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.21.2
Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
USD ($)
$ / shares
shares
Sep. 30, 2021
USD ($)
$ / shares
shares
Note 8 - Employee Benefit Plans - Stock Options Activity (Details)    
Outstanding, beginning balance (in shares)   456
Granted (in shares) 0 0
Exercised (in shares)   (160)
Canceled (in shares)   (3)
Expired (in shares)   (4)
Outstanding, ending balance (in shares) 289 289
Vested and expected to vest (in shares) 286 286
Exercisable (in shares) 240 240
Outstanding, weighted average exercise price, beginning balance (in dollars per share) | $ / shares   $ 10.95
Exercised, weighted average exercise price (in dollars per share) | $ / shares   7.80
Canceled, weighted average exercise price (in dollars per share) | $ / shares   13.52
Expired, weighted average exercise price (in dollars per share) | $ / shares   6.90
Outstanding, weighted average exercise price, ending balance (in dollars per share) | $ / shares $ 12.72 12.72
Vested and expected to vest, weighted average exercise price (in dollars per share) | $ / shares 12.69 12.69
Exercisable, weighted average exercise price (in dollars per share) | $ / shares $ 12.27 $ 12.27
Outstanding, weighted average remaining contractual (Year)   3 years 3 months 18 days
Vested and expected to vest, weighted average remaining contractual term (Year)   3 years 3 months
Exercisable, weighted average remaining contractual term (Year)   2 years 5 months 4 days
Outstanding, aggregate intrinsic value | $ $ 2,983 $ 2,983
Vested and expected to vest, aggregate intrinsic value | $ 2,956 2,956
Exercisable, aggregate intrinsic value | $ $ 2,590 $ 2,590
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.21.2
Note 8 - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) - Restricted Stock Units (RSUs) [Member]
shares in Thousands
9 Months Ended
Sep. 30, 2021
$ / shares
shares
Nonvested, Balance (in shares) | shares 1,747
Granted (in shares) | shares 894
Vested (in shares) | shares (579)
Forfeited (in shares) | shares (81)
Nonvested, Balance (in shares) | shares 1,981
Nonvested, weighted average grant date fair value (in dollars per share) | $ / shares $ 16.33
Granted, weighted average grant date fair value (in dollars per share) | $ / shares 18.42
Vested, weighted average grant date fair value (in dollars per share) | $ / shares 16.08
Forfeited, weighted average grant date fair value (in dollars per share) | $ / shares 16.85
Nonvested, weighted average grant date fair value (in dollars per share) | $ / shares $ 17.33
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.21.2
Note 9 - INCOME TAXES (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Note To Financial Statement Details Textual          
Increase (Decrease) in Income Taxes     $ 5,700    
Income Tax Expense (Benefit), Total $ 506 $ (930) $ 1,549 $ (4,109)  
Effective Income Tax Rate Reconciliation, Percent, Total     12.00% (37.00%)  
Unrecognized Tax Benefits, Ending Balance 14,700   $ 14,700   $ 14,300
Unrecognized Tax Benefits that Would Impact Effective Tax Rate 1,900   1,900   2,200
Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total 2,500   2,500    
Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued in Long Term Liabilities 700   700    
Unrecognized Tax Benefits In Deferred Tax Assets 12,800   12,800    
Deferred Tax Assets, Valuation Allowance, Total 41,900   41,900   41,900
Net deferred tax assets $ 174   $ 174   $ 249
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.21.2
Note 10 - NET LOSS PER SHARE - Calculation of Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Note 10 - Net Loss Per Share - Calculation of Earnings Per Share (Details)        
Net loss $ (2,407) $ (2,734) $ (14,488) $ (6,914)
Basic weighted-average shares outstanding (in shares) 37,221 35,479 37,067 33,696
Diluted weighted-average shares outstanding (in shares) 37,221 35,479 37,067 33,696
Basic (in dollars per share) $ (0.06) $ (0.08) $ (0.39) $ (0.21)
Diluted (in dollars per share) $ (0.06) $ (0.08) $ (0.39) $ (0.21)
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.21.2
Note 10 - NET LOSS PER SHARE - Anti-dilutive Securities (Details) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Anti-dilutive securities (in shares) 1,073 1,584 1,193 1,328
Share-based Payment Arrangement, Option [Member]        
Anti-dilutive securities (in shares) 128 310 182 362
Restricted Stock Units (RSUs) [Member]        
Anti-dilutive securities (in shares) 915 1,084 997 820
Employee Stock Purchase Plan [Member]        
Anti-dilutive securities (in shares) 30 190 14 146
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.21.2
Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details)
9 Months Ended
Sep. 30, 2021
Note To Financial Statement Details Textual  
Number of Operating Segments 1
Number of Reportable Segments 1
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.21.2
Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) - Customer Concentration Risk [Member]
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Dec. 31, 2020
Revenue Benchmark [Member] | Customer A [Member]          
Concentration risk   18.00%   23.00%  
Revenue Benchmark [Member] | Customer B [Member]          
Concentration risk   14.00%      
Revenue Benchmark [Member] | Customer D [Member]          
Concentration risk 25.00%   12.00%    
Revenue Benchmark [Member] | Customer E [Member]          
Concentration risk     10.00%    
Accounts Receivable [Member] | Customer A [Member]          
Concentration risk         16.00%
Accounts Receivable [Member] | Customer B [Member]          
Concentration risk     13.00%    
Accounts Receivable [Member] | Customer C [Member]          
Concentration risk     10.00%   11.00%
Accounts Receivable [Member] | Customer D [Member]          
Concentration risk     25.00%    
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.21.2
Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2021
Sep. 30, 2020
Sep. 30, 2021
Sep. 30, 2020
Revenues $ 29,555 $ 23,112 $ 81,174 $ 65,678
Geographic Concentration Risk [Member] | Revenue Benchmark [Member]        
Revenues $ 29,555 $ 23,112 $ 81,174 $ 65,678
Concentration risk 100.00% 100.00% 100.00% 100.00%
Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | UNITED STATES        
Revenues $ 13,983 $ 7,710 $ 34,634 $ 26,242
Concentration risk 47.00% 33.00% 43.00% 40.00%
Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | CHINA        
Revenues $ 4,038 $ 6,747 $ 10,065 $ 10,200
Concentration risk 14.00% 29.00% 12.00% 16.00%
Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | JAPAN        
Revenues     $ 8,543 $ 3,414
Concentration risk     10.00% 5.00%
Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | TAIWAN, PROVINCE OF CHINA        
Revenues     $ 5,411 $ 8,038
Concentration risk     7.00% 12.00%
Geographic Concentration Risk [Member] | Revenue Benchmark [Member] | Rest of the World [Member]        
Revenues $ 11,534 $ 8,655 $ 22,521 $ 17,784
Concentration risk 39.00% 38.00% 28.00% 27.00%
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.21.2
Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Long-lived assets, net $ 43,435 $ 45,914
UNITED STATES    
Long-lived assets, net 41,811 43,663
Rest of the World [Member]    
Long-lived assets, net $ 1,624 $ 2,251
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.21.2
Note 12 - FAIR VALUE MEASUREMENTS - Other (Details)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2021
USD ($)
DerivativeInstrument
Sep. 30, 2020
USD ($)
Sep. 30, 2021
USD ($)
DerivativeInstrument
Sep. 30, 2020
USD ($)
Foreign Exchange Contract [Member] | Other Nonoperating Income (Expense) [Member]        
Derivative, Gain (Loss) on Derivative, Net, Total | $ $ 0.0 $ 0.0 $ 0.0 $ 0.2
Forward Contracts [Member]        
Derivative, Number of Instruments Held | DerivativeInstrument 0   0  
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.21.2
Note 12 - FAIR VALUE MEASUREMENTS - Fair Value, Assets Measured on a Recurring Basis (Details) - USD ($)
$ in Thousands
Sep. 30, 2021
Dec. 31, 2020
Total $ 125,031 $ 132,993
Fair Value, Inputs, Level 1 [Member]    
Total 125,031 132,993
Money Market Funds [Member]    
Money market mutual funds 55,039 18,012
Money Market Funds [Member] | Fair Value, Inputs, Level 1 [Member]    
Money market mutual funds 55,039 18,012
US Treasury Securities [Member]    
U.S. Treasury bills 69,992 114,981
US Treasury Securities [Member] | Fair Value, Inputs, Level 1 [Member]    
U.S. Treasury bills $ 69,992 $ 114,981
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.21.2
Note 13 - COMMITMENTS AND CONTINGENCIES (Details)
$ in Thousands
9 Months Ended
Sep. 30, 2021
USD ($)
Note To Financial Statement Details Textual  
Term of Product Warranty 90 days
Purchase Obligation, Total $ 11,300
Threshold payment period 24 months
Accrued amount $ 0
EXCEL 72 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( (F":5,'04UB@0 +$ 0 9&]C4')O<',O87!P+GAM M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGDK7A.YNJQ<&4GPZ4A!0W_J=0U[R;UEA_6\#MI7E!+ P04 M " ")@FE3Y=E&#NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>*$[9(";UI66G#08K;.QF;+4UC1UC:R1]^R5>FS*V!]C1TN]/ MGT"M#D+W$5]B'S"2Q70WNLXGH<.:'8F" $CZB$ZE,!@M(G M=4"HJ^H!')(RBA3,P"(L1"9;HX6.J*B/%[S1"SY\QB[#C ;LT*&G!+SDP.0\ M,9S'KH4;8(811I>^"V@68J[^B621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M (F":5/5ZQ$F0 4 (L5 8 >&PO=V]R:W-H965T&UL ME5A=<^HV$'V^_14:VNFT,R&V9$C(+6&&C] RS24DSFWG]DW8 CRQ+:XL0^BO M[\H&.\F8M?L"_MJCHUWI[*[Z>ZE>DHT0FKQ&89SS90@WZ,M5A$(N%(DD:15P= M1B*4^]L6;9T>/ 7KC38/K$%_R]?"%?KK=J'@SBI0_" 2<1+(F"BQNFT-Z>>Q MPXQ!]L5?@=@G;ZZ)F <#9QLHCFS;%H3 MKOF@K^2>*/,UH)F+S#>9-C"17@I1T608^^0NUH$^D%F< M+P_CYC9)-ER)I&]I&,W86-X1>90CLS/(-^2+C/4F 51?^._M+6!94&4GJB.& M KIB>TD<^X(PF]$*/F/BC.<7%.@U"0>1HMA:KB@F/8MMUVJ$,Q']T4?&Z:\'D2ZR#1X"9-YCRJ MC!Z.LYA,B?MP__5Y]C!W+W[^D5[9O\WFXTN$(K5+7;2;D)S%GE00OFQ/7Q!7 MPSHC4I&Q3&.M#O#O5S*O09_<823?B#=M0O*9OY*9#ZLN6 5>KMOGXUP#R;IM M>FU3YPJ+-&4E0]:$X=#W(8DD%Z<+<@_?D8>XVGV0BR#TG8Y7^2T;A MSD=C7BHZ=?X7V;&Y@V _RWU<212'0*X[1*],!Q07]([UB,2Z4W 6Q M5^U,'',\Q*B5.8+BROZ1VD(FFH?DGV![?H?@B#==NVMCW,IL07&1SZ(XA!KW M/!4B\7Y"?[$A(&[>::O.6*['B(YGY:)@^* MJSXD5C^(U\0]1$L95E*M31LN5HZ6*8+A(GYR%[E[]38\7HNS>:P&:#YT)T.L M5F-E1F"-,L(X5!RTJE O"SP$QAJ7R MLT;*[T8\#,DH3>!U4AU+'*>F &>EWK-&>G\7";4VJ^MW0- ;$-AHR^-JW^& M=;4N*^6>X6I]\M5&@*\P0CA,+:%2]AFNV*@JRT@R:]%?RIZAV56UO0"FS M;V@'\UB<4N$=7)A/,CH-$I.ZOPG(9%BW M60/7;E,&711&K11Z!Y?EHM$\=4 M4^B?:*8ERT^^BJ?%2>,P.U^SRL_S8\HOW.A70D*Q E/[ M\AJVFLI/_O(;+;?9X=E2:BVC['(CN"^4^0#>KZ34IQLS0''^.O@/4$L#!!0 M ( (F":5.ZW.@9^08 /X; 8 >&PO=V]R:W-H965T&ULK9EM;YPX$,>_BK6*=*VTR6*;QUX2*4URUTJ]M.JV=Z\=\&91 >]ALTGN MT]\8-D"P<5+=O4F '0]_CX?YC>'T7M0_Y)9SA1[*HI)GBZU2NW>KE4RWO&3R M1.QX!;]L1%TR!:?UW4KN:LZR=E!9K(CGA:N2Y=7B_+2]]J4^/Q6-*O**?ZF1 M;,J2U8_O>2'NSQ9X\73A:WZW5?K"ZOQTQ^[XFJOONR\UG*UZ+UE>\DKFHD(U MWYPM+O"[2QKJ :W%GSF_EZ-CI*=R*\0/??(Q.UMX6A$O>*JT"P;_]OR2%X7V M!#K^/CA=]/?4 \?'3]Y_:R7GV^NKF_6UU<( MCM:?/WV\NO@&)^\O/EW<7%ZC]8?KZV]K].9[Q9HL5SQ[BX[1]_45>G/T%AVA MO$+?MJ*1K,KDZ4J!'NUUE1[N_;Z[-YFY]YKO3A#UEHAX!%N&7[J'7_$4AN-V MN/=\^ JBT(>"]*$@K3\Z%XJFKGFE$).2*_G.X9'V'FGKT9_SR.0606Q0J@_X MWTV^9P7BEH= M*UZ7L*)[+E4Y)[+S$XQN'R9)0B8B32N,_23&=I5!KS)PJKQ(4]& +J@>*8=( MWA9\B2JH=&*#6 'UB%4I1U#94"::6[5I"B@2AR%@;JK&LO MZ/Q9@E>YXVU1*1YM4P^,25$:CN;43=UBY6/?L\\\[&<>.F?^I>8[EF>(/T#U MEERVJH7:\AI*Q#AI;;I#A6/$*B9%Y\S@@ M7C+1:#%+*(UG@AOW(N,7@@M,K-5C&U3]C.YT]K>99=,:FPL$#FC"Q"GTBF\X/$494NSA1:G$#%8T76J+$?&3&9D# M[[ ;>)_;FE2)ZOCEA_[@:JP@3A)CY4VK*$QF'GD\ ^[B==5)H%4S4N3L-B]RE7-G1X('E& W2WJ*[MBC1JAU]B8-*"3[ M=.ZFE4^3N1P:F('=T "!=0.9GHI2TXYUW3[4YIH7##I0=,LKOLEGULUD1(R) MD506*TKGE \@P6Z2/"DWZ3Q:1:MJ$Q=!'!BY9EJ%U)M3/4 %_QQ51EJAUW^: MP0XZ1%@(JWH3&U!OC&RQ6"4DM*LG UR(&RY]8:SYGE?-:S43$RB$$"^:B+:8 MX21.9MIM,G"'N+GS'G ($9>Z#>4/*9=MAPI]K;BK\G]&L[%J-QE#I[I-$TQI M-"-[M$%R4^AY/_="4A.3,#[&=-K4V9"/*"(N%'T251W3UL:*"5K,)? /^*&7Y? +RDTN19@:#JF$BUFU)OK2 [N6,I/UOL8+?+ MZSU?G"/;BY?_P='SV0\,);&S[UDKD?[8BB+CM?REW8ZI1U?C0P;.$3?G8!-] M0(74]UBB(^_$\SP<0$VHT9X5#5^B8 F7D-RR6N^R&[45M:['T&N+IZNYE#WD M&R5A Y'!\EB7PRGH9Y;COSMZ_OYJP"MUXU4G([1?CHA%GCUDOT[BY4=+XL=M MV/QPZ7N3-RZ]^2BFB,*8R&_'T' 9!Z]X2T--8D_W:$Z3YW$:@$[=0+_(LESW M&E!=])N:XQSJ(=OE4&VL(DT\^SA.Z!3C-CLOPG/;23J G+X \AK TM2/W<(B MIJ#*2+5$R3(YQ#M9 D,.:_**J)L0/\8>-;=S-L,$RO\,[NGH3:L;]]![-V73 M;1 RV!ZDN75O3$UZ'R=>9/#'9A>%A,Y%?N \=7-^K/.P1X!]3LVW^LO('E@O MI/WML(EO$&2\';98$3(7W 'RU WY#IO24IJM4BV$)]0/C%RPV(&9-__\W\!4$L#!!0 ( (F" M:5,TZ+.K0@, %X+ 8 >&PO=V]R:W-H965T&ULK99M M;]HP$,>_BA7M12MUS0,/@0F0*#!MTM:AT6ZO37(0JTZ[ 5\DE% )H\QSQ10RO2.GUGVRJ((*;J5J20X,Y*R)AJG,JU MK5()-,Q%,;<]Q^G:,66)-1KD:W,Y&HA,*7 >ZV@50I:>:(%69[6E&HZ&DBQ)=)8HS/"Q5E7!O*I@7NZO];\* M=B)FJXK9RF.VC\00)@$0/,PD%-E2KS*.YZ*P M/53H(DHWCV+.]V;4ZV---O5J[MOTNZW*IH'?KO#;)_'G>#)!2@@)MG/P=$-2 M*LF&\@S(%?9&*#BG4I$49-%!UX?8BQ!^CSPG[=KY-"IO>SGY!9U>NJ]SM7S/;^_B'S#K]CK'\/_W1]/O[S >L.GO(=NWQ8UZ>GZEV@I-+ZN M\F&$#V"0Q@#W5T+HEXEY8E5/ZM%O4$L#!!0 ( (F":5--V;S^?@8 *(: M 8 >&PO=V]R:W-H965T&ULK5EK3^,X%/TK5C4?0 (: M.V\$2-!F-",-#U%F5JO5?G ;TV8GB3NQ"\S\^KUYT+2V8]#.?H$D/??:Y]CQ M/7;.GGGU7:P8D^BER$MQ/EI)N3X=C\5BQ0HJ3OB:E?#+(Z\**N&V6H[%NF(T M;8**?$P<)Q@7-"M'%V?-L[OJXHQO9)Z5[*Y"8E,4M/IYQ7+^?#["H]<']]ER M)>L'XXNS-5VR&9-?UW<5W(VW6=*L8*7(>(DJ]G@^NL2G"8GJ@ ;Q+6//8N<: MU53FG'^O;SZGYR.G[A'+V4+6*2C\>V(3EN=U)NC'CR[I:-MF';A[_9K]8T,> MR,RI8!.>_Y&E0(#;!;CO;<'K KSWMN!W 0WU<_=E80K?KQL>+KHM7;1?)0!===,U+N1(H M*5.6&N*G]OC8$C\&N;::D5?-KH@UX8RM3Y#K'"'B$&SHS^3]X8Z)SN^UGOSG MUO?$<+<3R&WRN0/Y[MD3*S=,G%IR>=M<7I/+>R.7:8ZTD4$36:]^3QYQ,>1(J".(D%, M K. X99J^,8<$8Q6BU6C80IT<[Z&PB5-C$.=L1/XH<)81T4N4;A,=1 P#I2) ME>@HX@4A,3..MHPC*^,95-&L7!ZA)2M91?.&.4VA&&1"5K0NM";RD3Z0@1,K MW'50Y!%E2DQU$(F\2.5N0'F./\ ]WG*/K=PO"U[)[!=M3 7,;RY7K )W\6.3 M52R%PB)INE8*L$7[@0:,[ &#/44D:2OIC7N2Z50MG!*F<#S T"==2- MV4CLQBIO$PX[Q!V@3GKJY(W1?Z7;C_H<5H+'3!X:Z1-] )Q ):^#CF-7??$- M*.Q[&G-#+@_O+#7[Q'MC@5TK\1O8)N4P[D:2KMXF+#?JTFZ$A:XVQ@88]KQ( M+6@F7!#O+";[3'O;@SVK*;AMWFD89MCKK>I-V--VEA_4"AS:/ +NK0?VK8+" MS@KV325L*ZJ*E8N?"*I'*?)V<:7I/[#;J"NI:!:3>K6%.6<4WS>H2K0IIJ-\ M3YMAAE0:*C&EBH:6U=XSX3=,TPIJ1RTTVI2PQ\ZS7U!1:KEA!U,QD 5N)4?T MB68YA1)S#*O/L:!0:U(VET@PT#&3&7M;+X/S4L72(<>JZ7H')K%C]H7J'1>V M6ZX'+L%U\+YH AE1#GAWW#@S;+=ADC_7@ MHA1I.X9C$KA$96N"X5CC:X!AWW&U@FO !:X[8+-Q[[RPW7I=49$M:H.!4I[G MM!)H#>/?[/#-0]VFBW;[X9SHE<<,4_VV&:9772-LR'*1WG(1N^6:9OFF?O_? M3[]+^!;] 9A*WPS3Z)MA@_1[NT7L=JL=^^?FE(VEQ_0)]AVP5';'.WPC!?CN M%#8EC4#M8[,JNBMR0T+4Y<\$\[TP5E4Q97."4%7% '.#>."-(+T3(W8G]CHI M_@]==,]DU,4 ,^EBRF;0Q0"SZ-(;-6(W:ILF+/J;]LA6^^* MB-T5O>=DB?3FA]C-C^ULJ0O=.S8*]5V2 88]UPO4T=!A08 #7QT-'>:1,!@: MC=[6$+NMJ7>+RZIQ+W]F+$_1/2W6[QJ9WA"0\/='IB^NQ%YB[4PG M!E2TJV0W+CH*ZJEZ))*8FB0Q5@\RQCMG[@6KELW'#@'^:%/*]O1T^W3[0>6R M^8R@/+_"IQ-L>#[%ITG[N:1/WWZ]N:;5,BL%RMDC-.6&PO=V]R:W-H965T&ULS9QM;]LX$L>_ MBA#T10O4M?A,+=( ;>QD>[=M>DVZB\7A7B@V$PNU+:\D-^VW/\I138D<4HZ3 M-'W3V.F?D^&#.#_.T#Z\R8LOY4RI*OJVF"_+UP>SJEK]-AR6DYE:I.6K?*66 M^G^N\F*15OIM<3TL5X5*IYM&B_D0QS$?+M)L>7!TN/G=Q^+H,%]7\VRI/A91 MN5XLTN+[6S7/;UX?H(,?O_B47<^J^A?#H\-5>JW.5?5Y];'0[X9;*]-LH99E MEB^C0EV]/GB#?CN5O&ZP4?R9J9NR]3JJNW*9YU_J-^^FKP_BVB,U5Y.J-I'J M'U_5L9K/:TO:CW\:HP?;OUDW;+_^8?UDTWG=F'\B#:*JN MTO6\^I3?_*Z:#K':WB2?EYM_HYM&&Q]$DW59Y8NFL?9@D2UO?Z;?FH%H-2#4 MTP W#;#=@'L:D*8!L1I@WU^@30-J-Q">!JQIP&R7? UXTX!;#1#Q-!!- [&9 MK-O1W4S-**W2H\,BOXF*6JVMU2\V\[MIK6N\/QQ6 MVN_ZKP\GC8]O;WW$/A_SQ4*OVO,JGWR)SM9566D[V?(Z^N][M;A4Q?\ D\=A MDV^FVG7]**3SZ&.:30?:P>-TE57Z?<#H*&ST0N\%Y;KXWG@:,#0.&_JD*KV) MJ&DT3HNE[F@9LG72T].SXW?1FZHJLLMUE5[.553ENL^%6E8AJZ<]7&.'>NR\3>?I+YT645M%(35Y%!+V,<(P2:,7< MFF4;L_5V^_6(8!:3P^'7]GRYJ@0G="OJN$RV+I/=7-[%S5M3O.4 Z[IX["IT M1U BK)ZXLD&">&)9&P,RPJ2(N[(30(:HM%2GK@HE'#$!CQ_=CA\-CM^[LES7 M QCE5]'D]LDN-\^+7@&3?+EL8M1-5LTBM5C-\^]*-8K5NIC,=-R)5GH*VDL& M&GKJS+U,8,_9UG/V4SR'MBOF>HOL^0AK.EWBVR[QA^O2-U5,LG*CS5?U[\N^ M.>".QQC!#HNMP^(Q'8:&7CA.(HZLH0]K.CV1VY[(8$_^5&55!S'MG!X^O3]/ M="QM.K->9E7OX$K7)XEAGY*M3TG0IX_-,BUKKZH?X@IO)I_6#HHTJ9;OJFOM6O%G67VJ M^:KT?&BG5?1\GI?@ ADC-Y8/&+9&]P12(<[M'@$J[N,"9, [4@&%LR\3XL? ME(!C$'\)0#/"#NXC0)80Z0G'R,1C% [(;:#I=Y7V$@UR(R_!"9?([HYK:I 0 M)*SU-P;L#0@GB3/W@ YQZDR^*T.)I-P#!\C0 0KCP=XLB]S #L$L(//3+#($ M@,((<">>;6P%I]\-^B#1 J9 I 7L@4P+Z0"H!60AJD4&3%"83.ZVGYTB%RD& MG!#N<<-0!0ICA6\5GJN5GMHX\&2[/$$XQ]R>-E>6T,3#0LB !PJ31WL5]KN: M]*]"%RAH3"B+[>ZXI@:Z/PFV5Z%K;T"QD-1>A8 NB;&]"%T5YE0(SR+$!GEP M&'GV#D'8Q1(H! $R?PC"!EYP&%[N%((:6Z'9QP"R0"$(, 6&(, >&((@'1"" M %DH!.%6-B7,5(]\G,,N-S'/AH4-->$P-3W"B0Z[H$2YC;4]HFYO#$SA,$S= M^U2' 3PAGNT5&S;!839YNH,==JF%>4ZIV# +#C/+SSW988!4G*WQ% /\T59U MNVJP H>Q8I]S'7;9@L3.N:Y/U778 @. \@=SW78Y0F]M3)L[ZRN#,?"[A%D MBU+?'!@XP3O"B155_[5>AD$%NW%>QR&)[3 $9#\H\40#8F" [ @#N[A*W/2% MDZH&&(&0-CHWN6H@$Y(0'7[M9#60"J%Q;#/:":1#[?%ITM6N3)\Z1.R9?F+H MA(3IQ!>A7D9+5=6_S%J"9_$K%"VR^;Q^1GOV>@)@"HD]-$4,!9#]**#77V@O M(6[,YRP6]J/7*^OVI55L>4 ZN$>U@$"Y%8_S!@;(SREU@/,"U#>X4\$)B[K= M,C!!'K .W2R9V MT_TN1/3FQ"AP(P)(WP$R?_J.FC!-=[\4T>]J_ZT("AS.H?0=8 I,WP'VP/0= MI'/3=X JE+ZCK:L1.Y9B_"4$SY "-1%R90ECGEA$#1#0'2L?.[G*G"GC M]NR[!$!CX:3E1H"I0<(QLDL(@+V!X)@0>_8!'<;V01]0X7II^K8S@RCT 1'E M/C=C "*)?8O E]P)L9=X1=ZK)*@NT[&CVB;K<,T- PT#PR[%*76J3/9T,M M-$PMC\"ZU&4.9A_H3WM$W4M7!DM8&$ON3;H,2 Q0WUTP Q\L#!]/1[K,90_A M 7=FP(.%P>/GDF[CC'59QLG1,^@ZAS=+SPRNL#"N?%+;+<=^1/K6$@ (F-EU M)4#5%G6]-G3 PG3@]QH<8N!Z!678&6+@UD1'UG6V=5)AB4[F?V+8<32.9<6SJ%5!)A3^:2F9C,PC%YEW(P I6Q=4_7!&L>6< P8 M'$@BB9VYAG2".8\@4-O ##/?,V@X@.U7M^AE= ;4+8#C!"#S'R>X"?A\][I% MKZO<+3;8T\_=^ \>)P!3X'$"L <>)R"=>YP _FKH.,$-H/#]RA8/0ZZG'+C$ MX,LM NI\""VFL-J# @1,P M!0=.P" 8."&=&S@!52APSZ M5H^HVQN#+CR,+O<^]'.731#RY"*$01/Q5!\IZ3OT"Q4/$TBYN ;(D\9VBA8$!L7MY MH]_5_O*& ,H;&EKM[-<(,%5#52SMBU2 0?W($.1,/J!CU(ZJ@$I#%?+5EX6A M$_%KU#>$BP6>Z"I:'SM]NNJ& &YBV'-WVB/J=LM @WC2ZH8 $B\>-! &#<1/ MKVX((-^1.,]%6-3]$+ A"OG(U0T)5#=\-"D-&].1D)Y ^ ]!$@\Z>/I(G0,:>]^;-,).@YN)-Y@ *O1>4R;&3*U4^N:Y,'U"[3U/!B^E%-I?U'=QGH.2BNI>-&"M8*"L.;$ M[VT?+@#^X K ;P&^U=TDLBHCK' 8"%XC8:(UFS%LJ1:MQ1%F_I1$"?U*-$Z% ML]4RBI=)'"%M):O7>339:B?9ZF,1+[<)6CUK;S7[\K)ZC>)-@N*ON_GV!^KM M&*XRHB"[1[TU%L!4#HJDF,I[=(<(0PM"J6Z\#%REA9IT;MJ*FC:B_"NBAFC! M-9U$,[&_QGBS=K>@J]_B!P3Y=)W8LA*D < M[:I(S5DQU#6S/47!80)T.\'SM79,0FZ;U3X&U!+ P04 " ")@FE3B86UGTBG1^]NEW2"FF+?XD_K WB20/J3.C MF3DS)$\?1?M+KAA3Z&E=-_+L9*74YM-X+,L56U/Y46Q8 [\L1;NF"F[;^['< MM(Q69M"Z'N,DF8S7E# MW/+[E=(/QN>G&WK/%DS]W-RT<#?>S5+Q-6LD%PUJV?+LY"+]-,\S/3GNS>J0?N7[_, M_MDH#\K<4D/L#8!Y_ -P/P /!V2! :0?0(RB'3*CUA55]/RT%8^H MU=(PF[XPMC&C01O>Z,^X4"W\RF&<.I]__W9U_6UQ?87@:O']CR]7%S_@9O$# M_GV]_O9C@;Y_1O.+Q>_H\Q_?_UR@=S\;NJVX8M5[-$(_%U?HW6_OT6^(-^C' M2FPE;2IY.E: 3,\_+GL4EQT*'$!1H*^B42N)KIN*58?CQZ#13BW\HM8ECDZX M8)N/B"0?$$YPZL$S?_OP) *'[*Q,S'PD9&4J5V@)(2/1LA5K!%'84L6;^\Z- MN>),?HJ\)]N])S/OR0+O^09Q7POI_0+=R(D9J8/[X7R49MEL=CI^V#>,1VQ2 MI-E.Z@!7OL.51_6_J/X"5X;H5Q(I >%?BJ;D-4--#U@_U=>E-M2F%0\<_ #= M/1]MJ^,S739?OV26;)9.!\5RA/"&) MWW;3'=)I%.E"B?+72*>J"I5B#?E;=JC9D[YF/K!3!T>13;,!6*_0Q ]VM@,[ MBX*]V+,B$DOX:']O>0O(>:-H<\_OX)M3*9GRNNC,082SR70 VQ4JQ0 M%T>A+H4$1RWIABM:\W\ /KBGN%/ BN"[#ZS9,I!I5 L^Z56D<)VE* 9ZN#)D M3]<#/=+$9O/D%;=>LE;;6]$GYD_$B?/>V=#$'IE13I(B@&Z/:](HNN]JQ5H_ MJM1Y8XKS(2Q7"$]F 5#8@L+QW+P"QV12,]A>LC$^:A)#S>D=KU]-/*GE@I3$ MO:TLQ59G0DA C#]0B FO28CK1%DR-(DK1%(2,(EED31.(SO628S@Y" M?SPH2<"]&A4)XG[N@T\YRX8TXY'") \ MS23YG$'VWW FD'"1*TNXD9B.=K* M6-[I9SV G&1D"-DK%?(_2T1IG(E,4*!&-*,WV-8EF%&*TW2(U!4#J@\DR=02 M41IGHIWC;NAST&M=5AFEQ628_'QBI$@"5)E:^DE?X9^R;+=#HM3>V[*:*EU2 ML(8M><"Z+K5 B82'T#TLA4.)VS)0^@H%]C;T(L0NBY#<,:=':E+@$$)+-3A.-9>\AD?W)JVSIY)!B0G$K@O/ M^\8P>A2Y2S2CE)!A >41"R9?;/D(XZ-RV"M^T,]VB#4MALG++Q;T!$MF.$YF MW]Y:M'NQ>]AKAH<^[)%*DUFH4L66Y7!V5%/&FPEFU:4C%7] M>]94;5LSNW9)N8+::WGXATR24-+$EH%PG(%NMFVYHO)H/!XR M*I)B-BS;?')0#L]"D6+Y",?YZ W^!]XG7HV&91!U['1P+VX/=R#IZD3,1ZQ M;#H+N9VE*!RG*%-;7I%CM)CCCUTE4\#13JV3(3C3.2-Z'=; M:9JX]]XH\5K9TP-ADCCIWT-C>4Y"916Q%$62HZ)[R1O:E&^/;F*IAL2IYC"Z MV1-K2]Y]2ZE;=\B&N@KQ&HEXVYYA.>>3FI' D@RQ1$/B1#/ O=[4XIFQ'O3. M)39$X>;V2KGQA[S6FAZ3RK!B6?!ZQ28Z30&M%+)61.)5=+Y>L[)ST MJ30+$@@J*+!IOS@!5C=*:E(P%]J7'V@=XF;B;<.&%.>1VDL^AZI8?B-Q?C,? MI%.!=Z@_.) _]#V95"TO==1J :\>+L=E2>8T$1XQG$QG(5TL%Y(X%\[?CAY1 M!7?+(TR_6V_F\#M^NT1&@)?Z!+LCM8FB9F=M/A> MC"78+$ZP\V,B-G.9 @U9D5+J5F<4F]?#\;,TZXE::#@S/;VK.*T M]Y_[H\N+7G_TK%/&+&GY,XMO=BVVFTU7=- :55R6M9#;EKTXIBE*(35V6_#@ ML5%GLSR8Q7G0.)M9M:V@NX049!H+8R1;)7G-Y5DLS)W%3X\43F>!*CVSO)?% M><^BUACINEM?Y$U9;RO#X$:--:/:@B]UG#ANA21S62[-W<#R214A!2T;9K/_ MUQD:R%I:_;>Z@F6M+,Y:P1W#_1TM*I$42_6HR^2*/;!:F$:SJ^*\9G3I:+@; MX1%)BT"QGUN^RN-\=>/MB/O=DW[)E/;+IUP?##E5 ^:BKKF9G]I8,F?S(?A=' M+(GD;H=93 *-1&[Y+X_SWRWKXM,LO![F<4"]-57YO1#5(Z\A-K;LA8O-IK'D MQF5M'PK#X:?=00*O&M@YO)!- OR46V;,X\P869!%M 6@\$MWJL/L$.O;M^T[ MS7//RF:H ,\MG^9Q/OURV)!I+]IOW ZR:S18WA(H\]P],#(;MD/CO?-):];> MFV-;$IE7=V=Z=D]W1\,NS(&HP?/+]-.\.^!EI^G.FWVE+=3>$C[1$J9,/D[! MJ&UWA*N[46)C3D'=":7$VERN&*U8JP7@]Z40ZN5&OV!WD.[\7U!+ P04 M" ")@FE3^=S7BH8- !A* & 'AL+W=OC"F-/0C9C.\9.-A]%MP!ENEM$4AL[OW[O M0ZT6&#SQ9E);^V7&T-+5?9Y[KIKW:V._N*527MR51>4^'"R]7[T]/'394I72 M]JRE/;^1!5F_>%@<-!\<:472X]?''Y\OY(+-57^9G5IX=-AE)+K4E5.FTI8 M-?]P,!J\/3G&];3@9ZW6+OE;H"4S8[[@ATG^X:"/"JE"91XE2/CO5HU54: @ M4./W(/,@'HD;T[\;Z9_(=K!E)IT:F^(7G?OEAX/7!R)7^@L59[;PIPV;0H-05_R_O@A^2#:_[>S8,PX8AZ"4&HBM.1M/)5%Q\$I=79].S M\^O1]>3B7(S.3\7TYO/GT=6O^&PZ^>Y\\FDR'IU?B]%X?'%S?CTY_TY<7OPX M&4_.IN\//:B$@@^S..IWQ+ _'#PB[RCZYXCD'3WB'R>\$9]T):M,RT),O?0*\M*[1^0?1_G' M)/_X?^7_QX\?]+[)P>)$.NV$F8M+JQRX1E+)72^5T)575I>BKF2=:Z]RD1F( M=>7X+V<*G4O\>AX=[**#87=6U) 98JFLTI58RELE9DI5 B!H)2T\F=V+RU/0 MT!0U'NHZ8E)E/?',P^'__,?KX;#_;FS*E:SNZ=/@W7.QJJVK9>4QKKC,U@4$ M658YP,RB+DAYL@8?3E566^UU6'%VERUEM5 "A);:$3@]"^=,S\;-&9V@NJX6 M)$57SMLZ8\GAV)]J:<$YQ;VX4BMCO0!1"#5BT._^1(>-K-=9 0G21VVNHG)B MVOUW3XR5]0"[()O!F5 .=LV-\17F5:Y=5AA70TQ$A4L*."NZ5./JJ@:'[W1] M=#"NRS)CD,>*Y6GO>BI3<519XJAQP[ M*B$I,IG$L\T*8X4IM8<-O6^000#RV $ZC2IFI2MT%"A1R@KZ#B[K"%!;R/PW M %S>5JE,.0=M2CS#,[0C8TT%QL%.=B;(AM2P^"#9^AS#N^(R$%+,I;:M/K@9 M'D'+%^HNQ6X"#V(OH=5]H%20==Y76"ZN RLOU?2LHJ8#E1AJ.5? M"Y=;FKK(42FD&!@TV/-;77$/I^1#/1+17Q&(!5$QB".&0&Q"(B2@,'CUSHD1 MU\+#4OQ7C!1:+!1V*G$*3BYGX*BC ?6:/GOBO\ VMH<+*H).4(ZTU_#U>FF@ MKKIF78$T5\^ M/:IZV"68(D+./+"\ U7LN(ASB/PMVFM-^<0XS6HO\Y.7>2F-^V) M[T:CR]BR@N4N 2W$F5)^@%EC-=4*_KT/K6][@2;$4K"-=V;L+TH&V@3)/)>XMRGSY6W:JJ#L8@,D%. M.I'7MFFEO(G<2>#4$U.]J/0<8@F:M@6X3))M& A]44CO#]$V"XLX&WFO%'KB6G/'[GH#EB=@G,%(^= M,-,VJTN0@4=:57![AG*,AE/AK4Z5 M((L-S86SA\MTCZE"8(&SB!OI?Z,;(2R\$L%K>[I6G@*HLJ!$_NTJD''"##2(_:R@)\KG)I@0CM_C(W!/63JFV/P_[@ M#2=7.SKNW'QBX+]8X)]&TY.(^IC7(';'-G%#Z12WC:8W<=>YZ='IW<&0AB%T MZ#66M7AV#?0W$Z^.^P >4RC(0L_O&UP=;0))NK'#68ZU:X3;VK<%0)LX0JA0 M:YX=&H8"FF1A=E%WV"4IN2F@.STT-CG!NT^'K=$T#EMH4*HA:;5:62,A"U@G MX#N!)A.H GZS.(Y0J2"1*$%5)9FZY3)9.".R KC>O)E @__Q(W-UB0C5A$(;]KO] 1;:K0HC8/<,(!\887)U$"KO:#AXOG/I9\I MLOT' _DE?H:GQ'GCSJ/0\$^19--,Q_GPOH7;T&;[Y6^KNV?9GZA7H(!VH3#F MUWAIQ"&\ BZGYIV'H=DX==#??6AW[V%[C4[;&SO@1YQTX^;7Q\/P_:8&@[\6 MI4U-N06X-EGA+&!OAH ]O!?@")PF@DGWTTV3]&A=\A8%BWK7X:,X[Q7W#T-(1#:@1^R? M!(<-7Z1F&"H;/^-0F?;$AZ"[JF<%.'ZN"Q:-]U261D>DQ0A+#E]7)/C;7@7$ MURU7[00 \R.HB9,IW@W2>YNS,7KK23U^F+ZVV;X"#\[CD3,5NX%\L_@,Y!T] M8-0:9_5PDU;S;0#L@) ZA^P*[X1PP@#3B(-^4C/[%1+*!'38*('Y !YT;;99 MM8 PH$7MF$,W?+G)*,E#F^)+H-# 4$-KBDT"M[.'/JB))'7)(T1X4'.W.6Q0 M!L6[:(:5T,[CW<"#3#V3^+XLYAMP+PA/?%O4%'-+"R0V)_:L53X94>)\".F" MO8D]!'VZ+FGRNU5=5C5YMX-. "ET 8*-#3.)U QIWZ97^"(,B'B1%#3NB5^6 MD//;ETZAX8-I"N]T BO -AC8X3Q%JG1SO#/GZ.PHQT!_0??]U%/[;T0U*6M' M]0(\]J<&IY<(^#,?NQ!](.XQ-C $6->\U+R@4?CV.(PJ67&<\$9E*!OB?;%&K[B(:05#LT&A;_=OAMAW;Q&XI7V4CQTXQ#Y MR#E-Q6JW >_-];A5A3%3[=Y"C96SV:7HR@IR M*?!-OF0EY33C:NVXS$*WT/-N,%/EH6TTX^9ZB2^@DSN?7!>U3VL<"EFX)78H M"L-N=[$#HDZS[7$SO&W??G_Q];;$;01Z@FM!>E]C"H>$9U\#S%U (L&'P%L0 MG:DO[T64%MTE9&W["N9O@!4PY'/[X@O?)N"EN%KC,$:Y9>G*%M]X,\ILO'0S M%?R=-2]^> %R$&M6QK6, 5&*VV#TQ0QI+AI8W0=,=^H1V:C84I+PU#E[9OTG M>*:WZZ=&A\G/ODH%'!U_W$:WY)7G7X#%;^/OYT;\L[%V.?_X[C-0?,AD4:@Y M;.WW7KTX$)9_T,8? _I1V0PMWI3TI]+H*O*X@)XCK\Y:3[@ ?%7A1__ U!+ M P04 " ")@FE3I>Q9!4<4 !F1@ & 'AL+W=OR4FF'W$D>(>8 M)!B U.GZZ[LO B2=Y+CQLFT_6#K7DA@L=A]]ME=\)YMC/WHUDJUXK8J:_?\ M8-VVS3='1RY;JTJZN6E4#=\4QE:RA;=V=>0:JV1.-U7ET;M^?O#X M0.2JD%W97IG-WY1?SR,<+S.EH__%AJ\]NS@06>=:4_F;08)*U_Q7WGH])#<\ M7NRYX<3?<$)R\T0DY6O9RA?/K-D(BU?#:/B"EDIW@W"ZQDVY;BU\J^&^]L7W MIE7B1!R*JS<_O?G^QS?B[=4/WXG+'[[_%/G*A_>?P2R1H%/@L"O3NX<\%HU M.=1@6_R3^:>-+#ZLE;@T52/K+9BM!5]PX%4WJNZ4**RI1+LQPIG.9LI] M(U[6LMRV.NNOD74NWM6M6EG03B[^J569BRM9->&*^6 *JS*SJO6_DEDT.F%F M; YZ5F#G[5J\?7G]2KR\OA0?3*,S<;XXGXFK5*A+L!X+KNOX^DOR"&7=:#FM MLN O+\=FU-MUK#7QC4E(!#NEZ) C0@7*L:6.U?__+D_.+)4_$NAUW7 MA,TBA+&(IK-\M2K^A;AUI))XFCO/:+ M&@P"E]1.,J U5L-0X?*7L*[LGFO!RC]'DJM$ES!V4/%FK6I2B01=[!M36E R MO':%!J-)-PU-H0,?@RVQJ,4P*PXK="O6$NYN&FMNP"71^#)35;I%OV336!I0 M?R-MJQ4(@));A& 7%!^U [V8IER7XQLB0*X@:NBGW;T:J*I .35[7 ML('1_D!2V8I,PCQU5G:Y$C?2:M.1Q$MO-Z2,$O:^=J@D$"?O\%X4WRE[ ]_ MQP[,%R_)MZRZ>MFM4? M+81-&N%YISF/W!/-6TE8P.[!!7( ,-Y2(@_ 4 [[TSF$ AP%-S:7I:GA)7 $ M_)AFF2=0&)!I"HXP%&-J[K%T #4P$#(>$+B B^H5($[8D\%.D&Y304S1;E#[ M#WAGR*!P*%UNQ9M;HD;@I<<79T]'?P88NFM$[7J$SD%V('DYB@I* @<$\2VM MP8M),RO;J+8#-P A6R!FA\B&\KEX'[]X %,E!_?<9 MB25"? MAW#](>A+WDA=(E9YU]@MW&B5O1T<>A7G@[T.+IS?YYPH]% Y2I,5@HE(4"9@ M'\4GLA3KA<,WTGE'<\P_PDX#"#9@CO58YZG)[3>GQ)0(N"B>[-S1?IYD$K G MT.0VU2'&+M(#[? 0N79B)2)@@N1#(/>SSB-XWQ64AX >G*#7[^G5\=/'\*6MU8ON_NM<&3I_"#R^0( MB?9&>D-9T"%A<4!A2M/E[ V]$_B0*TS<(;:*GO$ P MI-,#B -F42K+9@X1QU]#_ MCB^>BBUEBB".AEFK*2+WE(9HI0^RY#L\%9*,GP'B2(M6#0GJ;V22P;!!0_ A M>%T)TENTN&0)<*NVJ%-O>>!_3OV7<-G?: ECO>).@VXSJ_93^YE8@_8-R(W( M-4M)<+^70SS9O:U>9(F?H"')E>(LJ@*]TCHKH*(((]&X( 8[Q%( "6,/ 1[2F2V@I- M,U-CQR,ZM^[31FRQK4AL4#<)1?NIQ##[#L M$F3'ND:!<(NTG^-<B5]1.6E_X[0XC,E(OEH*KU!@A*^E;IV M:S1!:[:RQ.K 0]%N&S;DZ3Q1]HU$K;NU;CP/ $E;&"R$X+6"K>$%LCNG52(2 M*$Y('A"VOD?BKLXYC#HR2S04FOWX*4LU&9! D-$K9!(0H)GO9R,*,4L6R=46 MDE7@9O3\M9$Z]W%> ;\%5\J[DCG$'^+,?XP;_TF!A LI?V 0F(MK70&7LB$[ MCKO&62,(J"GYJ3U(4%"[CPN@QD@\#"_>^B?5$&!;72PV CM+M@I;-(G)<,71 MJ1'+;O_'H19#R1B+MJ1720D J.7=/Z\2PH$T/BZ"W#8P7%\1U*!V]$"OH%WX M"QFTHGHE5FK0EP#"P*"+UM/W'I\#-?<@HNH<2P_!IN44'B-DR7.KU#W+$8),Y= W*8*YO4P;,&\ MX*T(B)BV@#U019A-UOLRA0ST[2112["OSO>7/L>-$ 2E7A[*P6BO?+(8!!PH M:Q+LXN[NV4G*>W@NW89BOI-5W$A=^]C!62N-EF4=YE>O-;P%$%U%CPL;..BS M]%>-FT]7AG8E+83B&[QLI0#:9;/&X 43KJ;J M3?)FSE:2E\IQFE$X!6P5YR&39;Q&#VT-!Q8"#X05>&N7$'L;,4:4OX> MT&9"5I@KSORZN!+3U=X\N1V0MLXRZ=:BP#H5IYI% 3-P$1$VK3851.T"%&CL M<('1%SZMP^*K9GU]S*0E-(BQ5)_E&?H"=4NX8E4#891HF1SH<=CWP;)GW$O_ MX3<$DHO3IU_\[X>U!8A*F\KB6C40H9:P8NP+?X^UB3N^#P-A_QC_6]SQR0]1 MC>&3BY/X\M$C\;4X[R]^= [OWZ=J%B>/X[=G>/59?_79&;S_8%JPZ^/% EY/ M_P^7(O>V7.4@+R"-3PH[R(]N,60J +5'IU^3U3VZ^!IW"=(DL.0VO3OO;"BF MM:12O+Q&W56L.[5#=Z@AS/>09Z)[8/:'<5=:#D7G%SSM^>+WGG8QG!;8#=Q+ M0?88) IM81KMVX@9H#D^MH(6O#-\)Z_P5D\Z/+7U-"'WY!S;U.>+[)89!RC04J8@.- \J)\%P<',[T,AS$G M\/U.6"9>?X,-*9"5>G\0F:BOZ>L==I"4^'3D<)2(,+M)%G507\I5\ZJ7C]Y_'=V1UDERD!V96;D%WF:?]0VQ!V<)^TVDP: M6Y2&>,?PJB;623(ISE!BRH([672D MH,YDF^!LXWDZ/=-AS^ GV[01=2!\UJH^DA$B^T@B,O?/V<%(ZIZ!N6W*. M8KRYB8+)6K6CR.IW= @*6*:F\$D90K@4/0H&[$HB7I!/6DPAR"9S%=[ -V&L MO$=$JBR3B)RY8+$@CLLP5)2L+%U'7_)$O.I\]@>D)EL?=HU/ SW[VT7\ACHE M;:[D#1Z><-&(@P#8<$1\^%B;3;V;ENPE?@8RB_YL FB\THY/6D7N%XXCS/IV M>.R;>+O!3#6!$AZ.VSVFX(Y'PLK!E52VKHDMA@9=_QVY Q\1 2G2[FAHBF(R M'Y TS\.(A5K18MUNBEKDQ[=O?J4"Y47Q#:/P.^OZD6$CATHY3JNEV M5R;! 0)EX4BD$Q9!>XC>'@R[DO:C0FBK<^T)>6S))J)S<6NX%2-=@&=V2 %X2U5]HZVIR0!*)2TGUGR LJ]A3=">T)!T!);I ML*I8SL5+1P5*"HM82\&M2)/R0&Z#^40=T7;&30'DSG^!F9CL;C3X\S)AYWY= M?38;AJ-0TRF,BDFU=H=9L?5AFS&H)3<-\Y.508^RM]F/HPJ:[<63N@N)SK@LZZQ.&& M TR,Q!^:C.T,[WM>]W9X0E1Z5$'DFZ5JD0Y;"\/SGJ7V!RB'X)B5<#%&9^^Z M&+=]M3,]8CG2U1#XO4(#W_ XFVP+Y"#AF%$B\DA $AJ,.;V""K)[9.*6%AI% M# JRG D^2AI3Y?$$0;.?,G(R+M=. X/GL .7>?H'(X>*<*SZ5/(7@!].6'?6 M7 =BN;XJ! N"C2HQ=8M^$XO0:2(8 FU"#?&@E2>6:0Y,Y[QN,Z5RWF4>6/AI M1L?Z6/RQ>,-B;K0:RB\A$%H4/!QBY0@;RM@UF"*S9?+67'D3"3(^T'-0V<1. MJ6GH3Y'U7V+1V7LB%3S&8OJ@1F@%^J1>&R9!D4KRUD6)PUU^BS"M1VR$5\Z4 M.B>U>XP2U_CT!S8IX88*$=/B865)P6Q:OZ'9OCJ=7X@*U$PG@.C*UV#=?.$Q M5UQ&=580V/,%9"D46LF;(>V7VE*\X%.? [L8ZR% ?JC%>]M"['T]V@ 7NKCA MW'6K:8\18"(?N#%@::15F=]X?-M9:4EMH*] [+!)NCH##T$U:,.JK#,&!BN[_)I@#UVGTF-+$7YEWIM$%&V)+IDE*/V")OD<$)N\^S2,F(/'M'VH049'%E4?[8S7+T,%,+6 MK>#,AWD%[19O.*WG8KX8KN:BR-,*V/SKRF3N>/AW,]2929S/4I MA=\]4\UCG7JGK?@2:&@;!8C?^XS*X,3PR.3WY-4IW(3(/GI,8H/9)63\L4^" MU N?#R%$2;_8A,=.8BW]J^/'B_F3H+6Y^)92'EI5TP"K(T(P."0]9L>L@V'@ MQ3C/JH!7L1P&2UB.,2J6?,)!RUK=MO2TUA;X>7I"F56%5'3"B=F8Z ;$]7[V MF B&M NRSZ2(D.C1I$6DH&>?K8A-LL:X/LP+R\C063JX M<"U]=AI)D4=]7S8)IQI"D97*)[X$21F)+US#I[MZKI[83FFWC!6%?2W7H2+A M55*)]0/Y@Q!>'%BI++O^P9S8T1_0O)E('OS"RB4S@V!@E\.\ESQ#L0K/><9TH.DSM#;W=X> MSKB;-*I4^ P=K,)U+AEO4AW#G-VW),R2NF_D_F6!Q"Q)L@:YI6PTD'1Z.)7+ M):!(ZER5?8/CSM%&^7U:F.;"I2^&$"[ZBDEZ,+U0BDZZ\:..#/\N% $9Y_G( ML2,25B&-^!.-<05I7[5>QYVBBP3^=,IFF,)((D9SH2N,=FF>=0 M"#; UKEUG,^)+R0<3C_@/ M-#"EZ'_2@H^G"WZR;\$#,^1(@I# @@?]G8R'._Y"W'8Q3@N^$.K!LM#R:Y-F MNJ5QCMMQI2_-F.@H;F 3=R2\@_0ZT#".9'O(<1A,49AU7&M+R5;!/V* Y^3B MN=Y8?(G/Y$ NZC_J'WKKV][8I\OI4%;ZT-*H&,/].?\D-8N%C<313;Z1G++% M$=7%3A.R4NK>0[(UU(JDIYJP2(3I%/*PMN?#7/6A]&IP&H) .^?Z;^SIQ/[= M_?I2MSJV8Y/39=0 B>$JE$,":[Y_V,\^]7"L)JL8+X/O"F#:\P0GB3\N\^#=02P,$% @ B8)I4Z1/:Y S!@ M)0\ !D !X;"]W;W)K&ULQ5=M;]LV$/XK!R\8 M-L"Q'3LO3?,".(G;9FC2(/9:["--T1)7B=1(*D[ZZ_<<9=E*VF1K,6!?;(GB MO3WWW!UYO+3NL\^4"G1?Y,:?=+(0RM?]OI>9*H3OV5(9?%E85XB 5Y?V?>F4 M2*)0D?>'@\%^OQ#:=$Z/X]J-.SVV5.?%44PCVRL3;)@^[G1_B;&CECFPJMS MFW_22/=8G;>[C+RU7>P<=DI4/ME@)PX-"F_I? MW*]P^#<"PY7 ,/I=&XI>7H@@3H^=79+CW=#&#S'4* WGM.&D3(/#5PVY<'IM M@Z(1;=-T=CN>3=Y>GM/-^'9V/;F=OKN\H?';V\GD:G(]HT^7LW0]1"ZBP!\$^>OI^'QV^>%Z>MP/\(TM].7*C[/:C^$S?AS2E34A M\S0QB4H>R_<1TSJP81/8V?!%A5-5]F@TZ-)P,-QY0=]H#=0HZAN] )2G8.F- M-L)(+7*:!A$4"!K\"_IWU_IWH_[=_ST1+_LQZOVW'M '0[]5^0,-#V,ND)&0 M*3JW12G, P$]Y51"V@!:0;DUZ396"O+! =U42RJ%"T8YG^D2Q1$R&B=W F(^ M0(LK+?9Q?8?,V2K-2 =/R\SF^<.V71JH]M7VBEK+Y-']H M.6X7).!/BNTI$.+W47#G?)9\)!*=9:(+.C.P='GJ0M"B"%IB(_1RL; M+:FSWE/IK%0JB0JV]O=Z0[2'9;]1W*4D?A'1KRL!5&BX MU[ IQF%(W0-_C_S%*)6+%2J<$R:M487=9:8AVJ8?&]Y NT2PQ$P0+8,F[F40^CCDJ 0$/VJ^AY/ C2#Y$+*Z$1YG016TW!K@AT.,JZ3*1?(473L0_81 ) M&YG_& @ '.I9'+L@0 ?.<_3"$)>0F+F%U9IYVF&[]H$K("B9&9O;M+9D,*A; M2USU20+.>BJJ4"%G]=!#O:]H"PEF9%/>UB@V7EC0)VE%7W*E>"[V/U''T?\5 MVZ0UB:Z]!(.\B@46(@9TW]4R9 ->, M#317"C6E4\/9%:WZAP>/&N/60>]PO?##'G5A MEYM$/83JQK.UTQL\U:R$;.KL^RP,>C1CSM,2=6 LYQ'=!,7!Q* MWXEYKI[&7K??K_V.YB\@5J_N-(V9EY-FDC;0BH+-U#G>.NSM/\+1Z/R[K;0Q M>QJ?C+PR4M5#$]T&5;1J6<0.(=[*\! #ECR&UL-ZY09#K#WW3MG0W:O84)B^ M"3]YF^MZ/"W6!T._/AAN6#9KU9;$7.+9CP00CCG&"UGWIR?D9EA8]>KZ#CBNKSZ;[?4%$@># M5!N&:0'10>]@KT.NOI35+\&6\2*$0074XF.&>ZQRO '?%Q;1KU[8P/IF?/HW M4$L#!!0 ( (F":5-&,W0-OP@ #H7 9 >&PO=V]R:W-H965T2QW0VP38,FO8O[D99H MFUM)5$G*3OKK[YFA)$N.D]T"W2^))9'#F3-GSHQTNC;VJULJY<5CEN;NK+?T MOG@_'+IXJ3+I!J90.9[,CG3T_ M-:5/=:[NK'!EEDG[=*E2LS[KC7KUC<]ZL?1T8WA^6LB%NE?^2W%G<35LK"0Z M4[G3)A=6S<]Z%Z/WEU-:SPO^J]7:M7X+BF1FS%>ZN$G.>A$YI%(5>[(@\6^E MKE2:DB&X\:VRV6N.I(WMW[7U#QP[8IE)IZY,^J=._/*L=]03B9K+,O6?S?IW M5<5S0/9BDSK^*]9A[23JB;ATWF359GB0Z3S\EX\5#JT-1R]M&%<;QNQW.(B] MO)9>GI]:LQ:65L,:_>!0>3>_WM^+ MJT\?+V]N+QYN/MV>#CV.H(7#N#)W&/2*O4D3[X3M35Z)UPEOQ >=RSS6,A7W7GH%GGGW MBOUI8W_*]J<_"\]7S5%)OG>%C-59#S7GE%VIWOETL-.Z^)2+:Q6K;*:L&#%B MD=CW2R5^^<_1>!R=7,3?2NTT5P/(HOCVZ.1-7]"B*Y,5,G]"G6"558F0:D392 BL"F M=N&4RA>=!U]E9LJ<3"(]>^.CP3L0/DVQHB]RR!,\B*5;-@[VAI"ANPL17@ .[S>=VPERI-4-^(=&\R.*A/KO<6I8V7*'Y1 M6!VK#JJ_FS3A?1?L?AT^!>&DUVX.2)._4,E,,?8Y3J7.'(.AX7F6:X]%%GCD M"P'EI%-GD%@HL..PE?705X@@DR '8>&;ZR-X:V7NM:KLFI4"J[T+T-3;#+RU M0N5EID+*-/CN"'8* S<7>"P75G$5#,1U:CC7UGGQK9368PU,E+"1E3&F'U2TTF0J3 M053G Z0B]O .Y@ZEWT+CD9L6 8 2J!A3K($!>=ME2M'H\,3A&NCGM!._G$EU MPO!PB/U6*BXXNX,-)&:?S)W )Z.=8&D 54% M\B+;2QA4UI%GLBBL>=3H,"I]XAU^K=*5>IN1E"*3.?J6=6B9-1NW"WFGCX)Q MJG)#!8(ZQCR\D2$T(M<5L!!*BJ%V(%XX$JG9)$$E))S,$=1N>V\#\3G M+2)T)*;%*X:D4_B2*P_MQP=!K7L0KVQD=E+I;)^.)@8@5>E3*#]-)1:G)>%? M85E)QAT*F0A"I &R;D="$!5@K<3D>4I^G,?/4^0\0D6%YS+5W^N"1U9,S/+R M@O15I(9NZ95.2@A\<+61Y0'H2:R#14*"%B,)3&^<"1U'AD'K( #2DEV5:HPV M1' "@NZY%+2MGI#JW82 MKIWKURT_USK7$?0*D"T4.)).53G,O206:^T#C6&*2(/S/YP0.K"V,2=9( MS4!\*2KAB@T1R;6RLLM3\A# .90>4ZC==:S:B '!(VV.4]V_)O85*G7FH2]& ]22:G#3_+UX0K?X_J^W=TQEQ%X^P>>W$/DN0*1V\'V6;>5//CWD'_.(K>- ;VQ%%_&DVV#%&;ZYC:8'"MT!CP*HWJ M4_$R-ZE9/#4/1^/^P70DCC"9OL4L$"NPXO,O,BM.KILUD_Z[R8&X'5Z(*WXK M1':AFV$07.IB$]NH?_SN4(PB<0O1 -N4#WEL!KS-TJ/ID9B(!XO)/)=9U8<\ M7>(%_6MK771$!G^K2F=SU*0?C<;L5)CUMT5P ]=TU!^/IN*/EB(V&0O-S5'[ MYZ&=FT UJC0M8MKR;]PZA>N556K;IKK3_L'XQ&S8V[TKI2;H1S>RKO MRC!G0:8NC$S= 7)O-)@V8DC]LWH+4%F1FB>E4+6M[@JK8##Z"]!BO'D5JQ\+ M:?/.5XUEE0=H-AZ\1XV5:.IX3TG*%+OA#;V^)-SK(6:F7(1>YZ#SR&JWMTRK M:3X,92&H6>A3BUQ_#R,=4SAW ;Z*#0+O.<&=6K-ILK K@%VW.IIW>19Y51$W M[0D] ""Q#G,*N?"K<,C%+L31X+C]1J(:NG:\G57S5S,%=J?PSEKB/-B"&N)T>UT12ST:M=M+^CM"9QD>; M]_UZ&F!L'8T_SA,3T#0=-WPD8PZ1Q%*D:JXJY9()IDBLH-)?U;OX&P&X4#O' M9$%&2J[['T.V:>6[._D DDORV> 1/.#3FQ.?=?N_;?(/+UC,B(V6OF"U;/ZS MN>&!I[WZ U@8MEP]%+R4+3Z5D\"UU7: !@>(7F%<^&!1YA+]DR!#I@1_.FZ= MEV@7IX;F+D"VZYO;L/4]DX60OMH2 <"6\&FSN=M\&+X(WT,WR\-7Y8_2+G3N MT ?FV!H-#@]ZPH8OM>'"FX*_CLZ,1U?EGTN%#FAI 9[/C?'U!1W0?"X__S]0 M2P,$% @ B8)I4_!&1IQD" 8QH !D !X;"]W;W)K&ULS1EI;^.V\J\0;E DA6+KM.3- >3:[A:[:;!)W\/[2$NTS:XD MNB05;_KK.T-=]-E]0=X!!)$YG!G.#.>4SE="?E4+QC3Y5N2ENA@LM%Z^&XU4 MNF %54.Q9"7LS(0LJ(:EG(_44C*:&:(B'_FN.QX5E)>#RW,#>Y"7YZ+2.2_9 M@R2J*@HJ7ZY9+E87 V_0 K[P^4(C8'1YOJ1S]LCT;\L'":M1QR7C!2L5%R61 M;'8QN/+>78>(;Q#^P=E*6;\):C(5XBLN/F87 Q<%8CE+-7*@\'AF-RS/D1&( M\4?#<] =B83V[Y;[>Z,[Z#*EBMV(_)\\TXN+03(@&9O1*M=?Q.H#:_2)D%\J MRJ.6L,N!3E_>"\U(1$[)]=6GJ_N;._+XX>[NB=S\ M^OGAU_N[^Z?'\Y&&8Q!YE#8LKVN6_AZ6$_)9E'JAR%V9L6R=?@3B=3+ZK8S7 M_D&&CVPY)('K$-_UO0/\@D[GP/ +#NBLB!;D/2]IF7*:DT=--0-?T^H _[#C M'QK^X5O:]##+:+B7&;E*4U&!Y! C*>//=)JSG3!>IGF5,4*+>DLOJ"94,E*5 M4Y[G+".PU@M&6)D1,3,_ETQRD?6H[-L2P@E0P7I31EHZ( !'S.NM%=<+#O%& M//^T0$]HN S);]U!V^(YK7P90>)="%IHBM1'R7 ,L9#G)JSA[*-XZ/< A<*# MS\"%3IGL',44#Q2 8E:Z=9Q9F "L4)ECT$CO1"5 B)U\H[\^$/BN\'9 MFSW7E6RA:RJV0+2 T9?/OM3N2$ M06"O(H^\KV3)=27!7V?\&_Y0&U;LI'$B-UI;Q>03@PJS$#GX0;&4XKG.21W2 MV/%CUUY%$?E$IT)2+61]+;7S;)\6../(M58HZQ.#"]LA6.@D8TNRL>-Z:+)2 M:5F98GK*RU,0;P[*]<+YP#3P+6.#L,G6=<6QDU@ZQ)$3!:BW4N\PY*JBRJF) M' 9-!N1FW?HWI"VI^9\UH"4_#EW'#2ZDN!'53E<'(BILZTN8$B M^;32)N(%N7W_$9B'B7_6 M,9'LF9454T/RM# $NRTZI3G4)0;HM2V F8V+,;:#>2-AER!\;QBM9P@O&4[> M*D7<'KP?S(VE8F0%IQQMRS&,.X"5(?5",D:*NGE@V#SL$,]PV!:HEOHH'";K M1T564K2.*J&^OO*D(?E9B&P%/ W"QU+3P@W77')E2 M*5_P_+K^HO'G+:-_4S+'V!7^ZBRK7IUCKQM' P^>LCDO2Y0"!*OKDD-^H64% MK3KQ&HM8*3%RXC@DGR%?08HS(=,4,YI"$$%HF"O(?H=@,;O'7A^DX7AB']WT M&^VA.VYB[=P LB9RZZ^A/P7MTI72IA%!JQ;;1P"^;5W/K0]C3:>!H77:2LOR_[[M?=__3S@*EL);(OX:E=!^5D*JZ3M>V*$ MOYZB?3[4CM@N;]H$T0EHE<.]2*^CZLKEOQB5ZJ3Q[G63]+"]6QCJ$IO6#-R; MSW@S9[1^JO[_/>ZF+>:FUH)N:L&7BG@PO7F]RQR1B1-">]:OCR,G2=P3"Q(X MD1\?I@@FB4T1.JX[ 4>%J@)]-91YEBY*D8OY"PGA_$G?K4&3X_;2''MC:.;\ MGI47.$&8[$9(4KHT6K)XK<%50^541?UUY:'XG/?/C.(EZ M5HD7[,5SQQ;>Q"ZS@[YWQJ?G MG^W9_1[<]3YV\PE.%#M^DEB 8S]RO,2W'99(PJ=* Y ,[#J M:=/<80KA&V7(M#HX3]'RI9F)<>*!QB%?[PFA.M&_21A]#XL3]1LT.)C>\#T4 M"KY6$9H,9DK&,30&E)=U->Y;4-L8<10BKF]=#H80@'J?\9W)Q$50:($B<'P MV7->"&D"0.,Z[+!7H#,<13L_=,:3]MYG%4Z0NWMKJRE*G##N2]]6HV#&DX8' MM@G/+%4@>&UG MWSV[$?7;BG8F,V#OS-Q*@W*UX;[U;+TE;T=9OS%J6T<8F#,\/S.CL\AY9FIR M_ZH166+@2+; M]S/C'S"5L+,3.[F(.,.@__0S.1OCV=O/S/M]DFP/6GW?:*;7N_]:.B'-;5LJ6K.][A.HJ0'Q MF=IVLN&N%],CZ\4_-#%S\WE#$>.&]3> #MI]0;FJ/QSTZ/7GE\]4P@"H2,YF M0.H.XVA 9/U)HUYHL32?$:9"0\=D?BX8] P2$6!_)F J:A9X0/==Z?(O4$L# M!!0 ( (F":5-*T"ZZE04 (T. 9 >&PO=V]R:W-H965T1982X'J;7ER_'8Q*G( MN1FI4A3XLE(ZYQ93O1Z;4@N>.*$\&P>>-QWG7!:#JPNW=J^O+E1E,UF(>\U, ME>=8S;NM"0R%X61JF!:K"X' MU_[+FXCVNPU?I-B8WIA1)$NEOM'D37(Y\,@AD8G8D@:.GQ_B5F09*8(;WQN= M@\XD"?;'K?;7+G;$LN1&W*KLJTQL>CF8#U@B5KS*[$>U^4,T\4Q(7ZPRX_ZS M3;TW] 8LKHQ5>2,,#W)9U+_\H?F*6WYUH=6&:=H- M;31PH3II."<+*LK":GR5D+-7[Y45;,K.V-N[Z\7=XF)LH90^C>-&P4VM(#B@ MX)R]4X5-#;LK$I'LRH_A3.=1T'IT$QQ5N!#EB(7>D 5>X!_1%W81ADY?>"1" MPZQBKV7!BUCRC"TLMP*=9LTPGJ#HTEC-J7L9+Q)F>(8/:K62,6W 2BRT!?Z8^%[)DN)B%8JA6:&*LQ@Q MH^?Y,A,,4"8]Q;K1/F2;5,8IBU%!DO_!M525 =@*L4&>5$G(<3:&#-^-R@6+ M:TE-QK1@)7]T%M4*:O*<@ 9RP-A8[++\H?&QLC*35@HSHC#-OC-,/)2DD-O. MCX2[TJ5:5>N4^F$^VLE1RA/$V,K;%*(; 15QQHV1*RD2QF&=K>K*MZ9H$>ZB MT= %2^2I[;:A\_25B)MEWRU[(_;;+_/ "W]G;YTX' 4K";:!'L1<:FE@"1HM M?%NI#$1'MDZ0,9LB#B@UIR\[)?_7[Z=4"[&#UB^1X/^FWV4,I>@WNC# M;E6[7+4R+U@4S?NSR:0W\X>1/]N9A]. +5*E[9D5.F_KARI1C[BFWK5SXI]V M\O[Y=#L.MGJG7M"-(\]GGY1%LQ_R=QI%O=ED'O1FP=#SSW?\G4U#Y\/;NB)30R*I,$ MB@0G44; 9H[Y3=VXM@<-4K,NY%_P835KA6@W8_I/TS& MCLNW)?UI0OT3>2,B(_L[=;K.*0T$5U>IDVU1K./*&J*G/8!'LQGMW7( $.^Y MI;"W%,[/:2GJ+7FSD)8F_:7YG):F+78!AQ7:8,_] ";"AJ16%=(JZ"(H\ZJE MP^8(-CT_Y\,HG(&$#(#P!@ #'.U)L(WDQ!^"'4_9?8U3L&E6":K#<0-/&W2_ MFB=A/UVS81#YC@^O#U:9:,.ZX [I[:@#S5*66CV 4:P H[SP1SY:4W)+W&\D;/_ !1\1L"S M+N!#P!D]=ZD=]YX(N0#-TD.(KB\ 0/U:Z%:[M]9U_<38;J\?:N_ TK*@*&*=Z+0M,&?%\I7)F;"1GH7J!7?P-02P,$ M% @ B8)I4X1<=.'K P H@@ !D !X;"]W;W)K&ULK59M;]LV$/XK!RT8-L#5F^W8;FP#<9*BV9HEB],-^TA+9XF(1*HD M%2?_OD=25MPU-?9A7VR1NGONN8?'.\UW4CWJ$M' ZE,9N1,MYPPI+X#QYOQI9 M>V?P%\>=/G@&F\E&RD>[N,X706P)8869L0B,_I[P JO* A&-+QUFT(>TCH?/ M>_0/+G?*9<,T7LCJ;YZ;?IFDR.>O@ MX%KKEG) D%NXD'5--;XV,GN$6P&_M=7+7C?Z-25:DX:)%^#DACD,!\/X=#!+ M1Z!+ID@40LD\BK8H V &MRDJJ>F@4]Z%.DEDXB:=C:%!YWP%0 X,U9JWBAA.%NWVP'G/KMTYK,+7X7(I#::6D7EK C=E-P2X4^65E.QS(/V5',X MB<-D3RSL]+O'/NL[)0O%:BOI#:.8TS<4[8Y%TYMDZL4C#@?">8A?K(NU3>,S M9]EANZWD[%>"),5WC 13O*#RK"A)ELO&TI1=?)=S0BSPN>$*\Q >2B7;HOP7 M/=90V&=.70L)93(]'<1QO#_IDN6P010'+'-WVM0DGU!1+SX\[30<#;\[:Q+7 MT-UY-9N%T_Y\6[K\RBETF&?HZU(@C(Z)N)),Y1;RDO++C%2Z%X&!H"[_'P5. MX^\%EH=N;6,W3M)Q&/?,*>Q;G [O!6PD522MK*&=C=2-U2-:]7+@8E]MI+K M0AKN2U$QH9F;0WI 5EG5YEP4A.$/[[ZM$))X,WZ7V#*U1O*ITU#@,]V4G807 M9$J'<$FWQ;G2*^H74/N.B[;CTF4BI>H-N>Z;IE,D'IZ]U=RB@[E1HRK<=+3I MML+X$=+O]@/XW,^=5W,_O6^8HIK54.&67.-P,@Y ^8GH%T8V;@J1?#33W&-) M'Q&HK &]WTIJG=W"!N@_2Y9? 5!+ P04 " ")@FE3/7Y"":,- ")+P M&0 'AL+W=OXZ:1TB$)$PH0@%)R]Y?O]T-@+=DS20UN_M@BP"!1J/1 MQ]<-OMPK_3G;")&SAVV29J_.-GF^^_[B(EMNQ)9GGMJ)%-ZLE-[R')IZ?9'M MM. Q3=HF%Z'O3RZV7*9GKU]2WXU^_5(5>2)3<:-95FRW7#]>B43M7YT%9Z[C M5JXW.79!^_.O.1(9&(98X4./SP^QDCO:5*,OK/]F9L%)ZQ99'E M:FLG P=;F9I?_F#E4)LP\P],".V$D/@V"Q&7;WG.7[_4:L\TC@9J^$!;I=G MG$SQ4.YR#6\ES,M??U2Y8#,V9-E&YXXCH14=VG+%E2\H3=Y3P7H&EY=H3^J*0_(OJC;R?1XP1G MW@%2[%/*0#K ^D+H4D0#EF\$>Z.V.YX^L@V/J;U2"=B?3-<,5&KY>8B:'+,E MC (#XV0@NX2GV??L>KM+U*,0(!48R&X*O=S 8'8#K]G[E/U8)(^PD-]-NC3B^#%Z[CS/#K7@'% M;,-!./AT\_8=4M["\=+!,)XSSG9:+FG@;.PX8* =L"G;6''@")ST9X@*]SPI M!,[#%PNQEFF*:F1'JM5*:&SOX$?%3!G!H$2=(!UC9H3'?N[=#4/]D'BV*Z2Q MA_-^'*Y4H8=;]"?MA3+PD]"+ U@F'^R@UEJH@$SP96?V02;$PTYJX 'DU3SS MZP>9Y6;?'3Z2A,Y6IB"G GX3W/>CI84L\.52Z1B@$:=MEL89@SXR \.[\^'@Y^26/%UIF\8H@;M2XS7"CXRM-6Q&=(Z6I_$! M-L#1%,0RV:IE.W,=5PF'8'&WA$,4V?"#T#GPJG:H74/T(CANJV*1E(I=BS1[ M@D3HK>^%!H0'7@VP'TT&O0?= N2$XZR'.S*QVC,$*#Q@/WKQM__V'&%W2,>, M#E'[",Z] 95.>-/@I+<3G579<_VP ^P+\Q.Y$NP[[/O.OW1" E\UVG?RNSS<*4%NDDP5=!T!KY+=.;[7A#T MD V\453KMLURW['$B))V!4@>*NP_ZG9_O?W;8<4\9HQ="W,$G[&)-^V>Y3,V M\F;1H:;[?5N1A5@ ,MP:I3$0J8L,R0N@A@S0I:J<(H+QRP_D8, #S@>^;]S% M/*)'BR4 ', 9@?UV?4O++]:X2E&3OP%3@5^Q%=HANX\*P#A(-*SN3>.\-C,BL0#] 5AU==D B(#!9P^9%ZD6BS5.I7_;H/O MI4+5%XEQ\^I0S$! _"ST?$@%DX2R6N/8@;$]13;ROX2M,D3PIEV .#%WN3>0IDHJ^B302#(PJW+)SP"\,+"1*PV/*< & M]Z;J)Q%3=L2I;= /7Z^U6&,PJ,1I>8 _H>]MJL!-#N2L768F=8-?4)JQ[S>\ MQ2XI,IM]1:V78/+B7JHB _WI\2"^TR$#'6,0=DBES R3FUA06-JLU7*I:/.PK .:I)*HL$;[3]&+HFLZ)GD"7Q6+ MI18D/@H!!#?(*T61HV.E X+."K )%"$E9(9#HYYNTS92K$JS<4QO$<^O10KN M#UW2@G)H&IR!'3# TYG9Y=&$.[;LD7$Z?^F6J*C;\X(\R7A6MM)JVR5 EK8 M9[T5[!XN=F&2R5@4^HWK$5^N5',:SG"1M@ > MDI^K)%/5.&JUD/]> M2>/0[\\D@T8-HKGUIZL9Q\=WBQ5?4;XXE,V/O%&WK/&G)AVH=."\JNHPBKQY MV%.W/_Q*I'Q'^R!'*LQ/'4N&,ED"I+!ALX8F*=(DA[ M,2R+@$R[99'NP#%FD^V!Y*>&5^31WM3SW;M#EU^R8<1Y9<$&J9@9RH U\I%E MYE/;/SH-F36R88A0X'(T1Z$-\68/2<$8BMY(#/%.K<8_J*$GNMPPN,G[_W$) MI[J"RN"KIS=48 #E@<@OT@+P04TCIGZM-9W76\%@-JFWP\%X%K);@"A<(VZ' M,M;U0L'X7Q>:P6C666K S^H2F[18 *M.P'8)5V79V2P3PRID<0S MIL)"12V:C^JT:_H,U/R@U@IGP6'-Q%)+FH$HSH/GM2U&@V@2-=I!5!?!?#": MCEKM"=' F'CP$MBN]C4!L81[8@R0V&Z ;PAK@HQT8?%J8A,BERO;2 M(]](';,O!=>Y@=?FNO$I;;"XF1MGHV.#/)9\)W.>D.?)U"K?HRNN*[XIX!E0 MM],*? Z* U.M+X6D(0-(HG(#:E*9_'7H-; CC8T\@_A5(O^O4*U6G34&10** MH%\R-=\G(7VZB;(C46M<(*JP; TMU[DY;5^2M,D N?]!Z.9^RSC]S0AO[A(,[GL$/QDE0)A MI>N[H4I.&?#PJKD$@A3?ZX.QZI"!Y@(>1=AS1[#G_'>#4&LO/U7>8%!>I-MK M7C8:3^I1#.!AA65^L'[O5(!V7;J6\V#B=U'RU)M5\>$-?HR +O8\ZKD.C+QQ M6*-KLNGS47?DQ*N%X<9.>RYZPMF\OMG0FX8L\J)FW)[/(O9KO014W3,@4CI M>-(D/)D#X=J%)1$&45]7!:5^0B._22BH1PC,H(G!PQ=7+@[6H$.1VMIAZS;$%+X0 MX'_%I17>N=D[JTI^/664S!4P[::"ORZVCRH=6F*8(L))5YO#NQGS12L"FC\= MP^BN\&\(8B<'(1<;R.EUTSDC6==\B\;V#F5OW++K/R>#*SWO3>F6*TEV77 P MF(ZF=:N?X$6 <[ZS>1U#!S-O%#KW=#Z>SI\W)_HS]JZ\L#F?!:W7LW&#DQX' M%(#_"^J3ILA,*:13["B5WYI?F M\^IJN/E(_0/7:_"8+!$KF.I[T_&9XO_ %!+ P04 " ")@FE3M(A8DPH' #'$0 &0 'AL+W=O MXZ29:5+O'4;]B61:-[QN;?GCCK;6/?9KXF" MN"VT\>>]=0CEB^'09VLJI!_8D@Q^65I7R(!7MQKZTI',HU"AA^EH]&Q82&5Z M%V=Q;>8NSFP5M#(T<\)712'=]I*TW9SWDMYNX4:MUH$7AA=GI5S1G,*'\_ZXX:.BC>\\"[9D8>UG?KG.SWLC!D2:LL : M)/Y]I2EIS8H XTNCL]<>R8+=YYWVU]%VV+*0GJ96_ZKRL#[O/>^)G):RTN'& M;GZFQIZGK"^SVL>_8E/O'8]Z(JM\L$4C# 2%,O5_>=OXH2/P_"&!M!%((^[Z MH(CRE0SRXLS9C7"\&]KX(9H:I0%.&0[*/#C\JB 7+M[:0.)4/!'7;Z?OWER) M]Y/?KN9GPP#5O&&8-6HN:S7I VI.Q1MKPMJ+*Y-3?E=^"$@MKG2'ZS(]J'!. MY4",1WV1CM+D@+YQ:^";E&(GH0R&:K/4RZ.G@Y.D!-:Q7Q83M>4N(WG36R*_*55Y,5-X7-Z05+?LQ!%>9-;90&;R554Z%K9AD M03QBUZ>CE]/)#4H *_$]>?E8E&Q/#HSBC7396J0GAQ(IV( REX6M3,S3RCC* M[,JHWQOO-";Z/E(^TU6NS KFPCZ"J8P/22=U4.1C[*#BOJAR*AXEQ_M:[//. MS5H!($KL=+^LEF*/ (*VTKF0,;T:7_U5YOUOAKZBK+$SZ3=9N;-S?)^=Z2#] M;^V>O-4JAR&YN)0Z%NJ<>W0=/T<\+O'I1TDZ>-YR)UNS M(#)[D[B@VT*ZZ[17[R>(5NU^Y3%5+3Y%_QYBB_KX^VB$@RM+E.\MJ"> "\'J MG=P]D/[LM_NR)0+;Q/CHZ @@:TEJ23DYSED(>^[#T9P:WD,DMF@<^?U0.'%' M^P2-^[H+![H "-OD5<;'5QXD[[U8:0LH\!#4]&O2A#BFP#Y(4B,O3%60LQ63 M?2]4:H7]1LGN@>#LTGHN]=B H+F";KA4JT*%F!B 7L'])L#*.EGA M_ MB$PZMUW([+/(M%1%@W-_(M2.L00/K];\@K*66]1-MP1V7J!;B:&Y279 0MQV M]11+"YT7/P*_MH@L[V"LL;?P2TZ :DL>$@4Z/L#6Z."&C70YF'17%8(*C6 'X:W3_\.T+OYA](V-G2%[TQJK51,(!:P,"XV:.:D0GY"Q'8Y M R5>Y0HY1;[AD6_SZ-VNM29)EV\GR&B580*\(9\A5#.48NS5]2"0M#W[OHUM M^^9"] 2?01+M-S4^8&A(:&$TX&'+09N^^WC] MZDER"B8&]6*.J%UW+]B:\6.#PYRV:MP4UM#C^]VY)=(5:P>RF=SB%HQ,G#G, M]S4*/*Z<+,2CV6SV&'D#W9A.9;RF]IFX%-M7-O=6P ].+:KHWMA^02'=W4B*-.ZQ95B37TQ"QP": I9]R7 MX!R]/9 7"\IXJMUW]05.,*;NME%L-T;6HW*=< U?)P,QK_#:B4BN\E@#:PE= M4G!__@6"IT?CE?1?!8>=R#6M7\1," MJ\>P5=^SV]7V*\6DOISOM]>?.&#HBJE4TQ*B&"^>]H2K/QO4+\&6\:J^L $7 M__BX)HGX\0;\OK1(P^:%#VB_W5S\ 5!+ P04 " ")@FE3G<+&N=0$ #] M#0 &0 'AL+W=OT62"R1FCD\ M,YHYI,8;G3^:A',+SZE4YK*56)M==+LF2GC*3$=G7.&3E3X9Z\)*H?@\!U.D*6)WW I"0AI_%5AMK9+DF/SOD:_<[%C+$MF^(V6?XC8 M)I>M80MBOF*%M/=Z\YE7\9P37J2E<;^P*6U#KP518:Q.*V=DD I57MESE8>& MP_ ]AZ!R"!SO@,Y62,:W;A0G3>2$XI>RL+F^%2@GYW,M.7@ M>W &L^D#_/IML8#Y]!X6GZ_NI^.NQ17(KAM5:-"=> U7 G%%.18!(6EEF. M96;-$?S>%K_G\'O_4CJ/H_E>YP .7#,C(E#8L5(; QG')DM8SD$8B'2:%9;' ML'R!6#R)6*CUSA0G-ZY.T8 ]\1S;#E21+A%!K\@WQ49Q6 :P@XUER@%@\X-- M."TE= PG_#F2A7O2M,)BC1Y!9]1N!G"RAC+%\D_L0LI[SK,BCQ+LH],.W KI MN'X02F$(G=:OR9]]!_E,%J8"%G_ZWZT.2<[XG0H 2@OU-54(Z4AO.L-7V[6YY5)GY.S.2'?KQ&G>S.KT? MASNK,UE/_ PG0;OG#4[W9P9A;V_&[[5[P^'>5+\]\M'H=OI ;B4S45$A54V0Z&$-7M< M_>#3/Q[7VO%?1_>C*G?VING:!UJS41!>Q^N?OIH8OIH(1Z\F G\W<5?IHG4] M0ZLH:HJT; I^H'E<#Y A]0'2XQ%#/7$@-Z@G3.'VPIRHL2H6;0150AW*8:$G M?\-2Y&".:1 K+87"O<6D:@;CI6)^X5-&JAU M0>WV&%?&-F&HU1R)*6U+5G&IK43J2!P1DU$A2\5F2^WH58G4$&LP^ITMX-5. M1HF.1<1HF3U]_@$Z_!TZ>]CND-!^:[1PK2A^,$2!]L ?!A#V YAI=?:$"L/? M%9J1?PY^VQOV8#0: *X&TS23^@7Y+YS9O#J0P%PRA:3 '^%_#__Z\* M5@"Z M#T+\/4<0O^V/Z#Y$(A7Y0^?&;N-(CMO%VGUXT)D&]\GR=+Z=W7[;7)5'^IUY M^6'TE>5K@:%+OD)7KS,X;T%>?FR4 ZLS=\!?:HN?"^XVP>\SGI,!/E]IK.5J M0 MLO_@F?P-02P,$% @ B8)I4[16X+AP!0 XA !D !X;"]W;W)K M&ULW5AM;]LV$/XK!Z\=MD&-]6H[;1+ <=(VP_*" M)-T^TQ)M$95$E:3LY-_OCI(E.8W==D V8!\B4^3=P^-SQT=DCM92?=8IYP8> M\JS0QX/4F/+M<*CCE.=,'\B2%SBRD"IG!E_5?RAN% M;\,6)1$Y+[20!2B^.!Y,O;>G(=E;@S\%7^M>&V@E\=@0 M L.?%9_Q+",@#.-+@SEHIR3'?GN#_MZN'='%,M/V">O:-AP-(*ZTD7GCC!'DHJA_V4/#0\]AXNYP\!L'W\9= M3V2C/&.&G1PIN09%UHA&#;M4ZXW!B8*27 MY[++M/\10VWC]3;RG_E[ .UX>0. ZX+N^MP.@"VJ+C6D<2T5\9H_U,AMJ;'PBX4J#,"B@"^)ZSHE7K)!>)#2+XJ54]JU' M+J2,1E:\J' Y"R5S=$[$2B05!E'+FH7',GO @.V2/?O?CO?:HXWU(N0-U!49AS9<7G"G?-OO%9LT*K4O1P>ZUI.\]O\!J\ M"3ZHX0?X.-T>"YLQ^CMKA_RHZ?+\IG&^Y6:'W-85,U27GX:,J,9=65BRGR8, M-QH.,ZR*BHP5C[E8V8W\8QG\OW'BYOMXJ]XP=E;LGE4K$2U9,TE]E#A!4"VG+]_6N59N/9Z),] MU( 6])4BQ>X8A%]87A,L"$I6&K>C_O7?VR4_O&N>.MAL]%[<[Y[JAJ/,%09/ MC?_$M,T5,Y1)0$-,Q@Y41!"T-E.G%$4 0*VA/>5LA>= M?^A$:.FYK@W/#QP/E:)^_:^*XUN*^?^IC2!T1IBX,*C)'SE^Z$/H?E4#=RD2I4W/[PS%^:NP)TZ$Z#VE>FH0.&&OZ**N8)A8/X,7H7E']OB9 M^=Q>U?4"WEV]ON]$)+4]-]PEDQ#\#GY7^4X\QQN';?F.(F(-]1FV?BN8+B^5W?(VV2MR6]JY2"CUGTLL,=@3.:!3L4PUG MY'>9]QT_\AJ>L^<9V\(.@ZC?$3F'71D]=Q<:]NZ=^,U:VMLU727PLU1?0=O> M]@(_K>^MG7E]^[]D:BD*^JHNT-4]&$<#4/6-NGXQLK2WV+DT^(&TS90S/*22 M 8XO)-ZTFA>:H/VWQLG?4$L#!!0 ( (F":5,NY)#*\@@ + = 9 M>&PO=V]R:W-H965T9EBB+%XE422JN[]??,T-)EA/'];97],M]2&S1G.&\/<.9 MT=G*NEN?*Q7$E[(P_N4@#Z%Z/A[[)%>E]"-;*8-?,NM*&?#HEF-?.253)BJ+ M\6PR^75<2FT&YV>\]MZ=G]DZ%-JH]T[XNBRE6[]2A5V]'$P'[<('OG5IBW_I M-.0O!\\&(E69K(OPP:[^H1I]GA*_Q!:>_XM5W#L_&8BD]L&6#3$D*+6)G_)+ M8X<>P;/)(P2SAF#&#6,K?99#G9\ZNA*/=X$9?6%6FAG#:D%.N@\.O&G3A M_ \;E)C.Q+&XNGCS07RZ>'OS6KQ[?7%]\^'UN]=_?+P^&P<<0YO'2X3EJ7AG3&U2E6[3CR%>)^.LE?'5;"_#:U6-Q'PR%+/);+J'W[S3><[\ MYGMT]B)8<:6--(F6A;@.,BC$6O![^)]T_$^8_\G_TJ;[64YGH\>8B2NIG;B3 M1:V$AEJY$NJ+#J)R.E%#81TOR=+6)N"K#,!)7:1BH0"J1 $3*=D"0"F$!$R\ M1RH 524U_Q"<-#Y33DA1:+G0A0YKH0WMM2Y5KEC'+3+";*'"2BF#&'6W8%1) M%W2B*PG3@K>P&8M3*NEKQQ87*4P_$A]I%5#25:%(B+JLB)\7M8\"1@VSSF7: M^.!J]IF0CI2!D"[NQ4':5'7P0XB90O)<*R==DJ\%\ECS6^0,3:(PVBQ%MF5* MY8-<%!K@2H?1<@">+O5_5#0SZ$D?N_#*W6&G:AG3F<#JPZVU>;AYL8;HGVO- M O I;"#KPP[."Q6E7N4PL;R3NJ!?1^+/!SMA#LI\6Z;B=#IWC&E9-_$D.\:"2W.C/M=H$9Q//6P%D"#RY4THLG)6I M*-2=*B CZ3:9OQ!OZ5E,D2;>;.3]7"-YI!&\GF'&UU:CK(_A2^;5"3# 3O)] M+VF%$R+GV3[.Q,!F*_0)YBT,60FY1 M H\]_KU0;^TZW[9KRYB9[0P2Z!WEL$;1<:4%F==+HS,8#DAI%6]#)R6.+K+O MXV83.Y0M,UN@I.*89E&!(8?H-R%&[J4M@? -DAJ?-)$*2(1^M%*!1/=![5P# M-]WF:UR_N!L7\$E[!\>L^CMNC[@\Y>5)7*:S(WG&=X_U6^G>BU]@#RS7'KO] MT?-.IY_UR??G)[;"N[Z<-YXL<2B7?\90_5%"ON\2PH\ZX2(BO7V\[L7G][)^ MUTM>[=J?C/+OY?RFRSX=WPUV#U%E.[@[6T2L=*=$?+:/-_VKK-E*L!"_-"G] MJ/TV.VIIFX7YD;B4/A=TX0-X'&=?M1[2QKI-1&4=:FB;U/IT.)F? M[EO@/#![L6/E.L?5>QR4H^O[#D5/ ].NO#B&WXX]I$6N6^!>IRS!&?WHJ[+? MC*YQ*3N&%0H(710;J7\]'9Z>SAY[O"]O^_S1AIZWGZ#.)DVG>U<>U_UGYY[_ M9Y,?D4V^Y;2#,LD6\N]SV+H/#\LDS>,FATQVYI ?G#RFSX:3Z6S?PL])'M_[ MN2_YM)_3ZIK/D-;F>U>^GIXN_FHAUK3\CAJ9%/4M-9/9 MSK(PN1]1Q-'O]JJL*F?1 7.=#&:HFWHE9(H_;GEHO<W'3%?VQ6F327U-?WJVB59=1,4NV=;W5B M47.4H9O@$SKNJE"\VY3:3*Z<5S[A_I@:@&X MBP2$%!055)TKD_ 08R4=.=8$A_:)&U04]76BF@%09;D?W46LOD0C"^IW1%;4 M28@]BR?;)DATFI2-FDT7\B"71YG0I$3]63_5O%.>220_5(:ZBQNK>'$N' M.C:-[?BGC8*%*C3 P40)=-%A!5SEZQZ2Z,3A;B):C%3":7]+JF]);:P! 'BR M#X/3&=2.]S#5#E0.T*IMYE-%]&Q5NJ#)*ZKU.O>J@ ZGDP9I&_$;0T'L^LG?A;=]H??)U::*^_%]:6FL1O,F?/.VT"F?O9EQ+QU48SF0T!24)+MD^G \L.I9],1C-1XGHG"'V#+@=H )DN^/XK M@ NDK6W )=(Y'?'FFX&0I%3E'QE7-T/,1SSZ*N8_E%:*HRH\N&K]EH6Z"#D0 MI4F!> 7 .7"[6>%")9*FP#AK?6\R%R?\9)=VOK,9<_5&K=UX>'MJMYG0]>=J M<7:<=1/#GGE&WU;NM,Z@P@"1;B$62@>>^3ZPPVC76YYQ[RU:J=R2WQ7ZF#'C M"[5NM7L=>1'?PFVVQW>9:%&65!<4*@/I9/3;TP$R,+\?C _!5OQ.;F%#L"5_ MS15,[&@#?L\L3-@\T '=2]KS_P)02P,$% @ B8)I4P0\DS^"!0 30T M !D !X;"]W;W)K&ULK5=9<]LV$/XK.^I,)IEQ M+%EVCL;'C(^D\;0^)G+;9XAWR[ MD[5U7WW!'.A;51I_.BI"J#^,QSXKN%)^W]9LL+*PKE(!0[<<^]JQRJ-058ZG MD\G;<:6T&9V=Q+E[=W9BFU!JP_>.?%-5RFTNN+3KT]'!J)OXHI=%D(GQV4FM MECSC\&=][S :]RBYKMAX;0TY7IR.S@\^7!S)_KCA+\UK/_@F\61N[5<97.>G MHXD8Q"5G01 47BN^Y+(4()CQ3XLYZE6*X/"[0_\4?8T5QK_?;R]O/XX.QD'*!.1<=8"7R3@Z3/ O]*- M-:'P]-'DG&_+CV%D;^FTL_1BNA-PQO4^'4[V:#J9'NS .^P]/XQXASL\]Q0L M?=)&F4RKDF9!!0;C@M^!?]3C'T7\H_\_LKN!#P[W=T/"#P='ECJC>^6"8><+ M78-8H:#S?*4,' ]TT7@ >T^7MIHC!+%([FJ&J#9+^H/!==^]KI'$RNB%SN(^ M3_>-RPHLT=V\U,MV\LDNL@NZ6V $ TB9G*ZT0S%:)SM)Y;F677L4"J:+3:G6 M7B1D!)-J9394.[O2.6-.A:T%[=$1_FF ETL*=:L8"T% !CKS7B>OV-"ZP$,_ ML7-MFS(G"P5NK>'3G"'F,\>RBE:U%Y%VZ%<2U8R)OZ%9^D2K'98H#Q.RQHFT M-I198]HF%7,$KS/F'%G UB4:JX_.5X0># =T5LAP@S:P$5-[;SC?IX>!D<@/ M@S M?.E"7VHUUR6XRJW#$G?E(E$VT*!\HCIT:!QWZ"$-,/'%;@5,J%Z&\=[0RHF:WI"]GR# M-4K2A%,K@J0J:_FV33<5>3P@7!;K9)MR;6U8LG/)W:-W+WYY/SUX=QR7._^[ M.>AH7#13PX25TF5T(Y[S$LXX G$K_SVCDQ[.?TY3%]/-4"I,QW*3202/ZNCZY=.-@B)=Q2!F"H4PFT%;,@ES *Y4%F[F&F7-144 MPMJ^J(7?N,5U)%DT0C'*2J4KGWJV74E-EKUW*:B=9W9P,&3*B'=S?LSOAG ( MZ4I\W,UM,)TSD'9^4#N,G;)GORSF^M+NL6%\H&SPMC2+C?TA3TK''GT0E7U M,1K3"O?96N)++V7DJNII-C08N?!\>O*&\BT;JYF,H%Z"^A MQ7P-EQ>,'+3[[J\^46.DCRII)RTGI4TZ2=YV<7CFK[%B41:2FNA^8VJE\PB* M2@4#D,#6P-0;)5C1X:'ZI%/D>UT=$1,/4M5GU@N#O+=9RD>,^EPP!5:V_S@] MR?#A&OAOS>NEE<4?7;[&@RMNQ6X9+_)2OV!BH/^#.OL/ M4$L#!!0 ( (F":5-S=8I4!Q< 1) 9 >&PO=V]R:W-H965TK5X\<^6YBE]B=V92IX,K-NJ6OXZ.:/_[S4177T M[@U]=^7>O;%-71:5N7+*-\NE=G?O36G7;X^&1^&++\5\4>,7C]^]6>FYF9CZ MZ^K*P:?'<9:\6)K*%[92SLS>'HV'K]X/G^ >N/GPJQ]\K?"K4RM_88?+O*W M1P.DR)0FJW$*#?_=F#-3EC@3T/&K3'H4U\2!Z=]A]H^T>=C,5'MS9LM_%'F] M>'OTXDCE9J:;LOYBUW\SLJ&G.%]F2T__JK6\.SA26>-KNY3!0,&RJ/A_?2N, MN,^ D0P8$=V\$%'Y0=?ZW1MGU\KAVS ;_D%;I=% 7%'AJ4QJ!T\+&%>_N[2U M44/55^_'DXN)^OQ177TYGYQ?7H^O+SY?JO'E!S7Y^NG3^,L_\=GDXH?+BX\7 M9^/+:S4^._O\]?+ZXO('=?7YIXNSB_.).KZR99$5QC]Z\[@&ZG"-QYE0\IXI M&>VAY*7Z9*MZX=5YE9N\._XQ["IN;12V]GYT<,*)69VHTT%/C0:CX8'Y3B.K M3FF^TSWSC;/,-E5=5',5MJG^-9[ZVH%H_?O D_B D]H@2=[%GBO?>&5G:EV MI1XO=:?^)?]?F]M:O2]M]NW?NUA\SP6NG/&FJC4IQO7"J**JC2N6JJETDQ>U MR55FX1@JSW]Y6#S7^/6LJ'25%;I4'H8;T,_:P^BL;.#0U,(X4U1JH6^,FAI3 M*4"*E7;P9'JGKCZ -FRP45]3UU4V8DZKF'QO_[EQ6@T>'UFERM=W=&GX>M' M:M4XW^BJ5K55^)IK2N"XKG) @WE3$O&T&WPX,5GCBKJ0-\YOLX6NYD;!I,O" M$X89F#"4L@E$S:^L*M2\O?%9:W\"9 MJ I?*6&MR-("WZX:8/A.UD<&XWL@-BZ'=PR 2+V@SR*P*P<3%BMDX-Q4QM$: M\-RL:AZ+._U:T-JLK6!S,)*9"7.#:#A\ MD Q]A,>[8C506LUTX5IZ<# \ F#W<$Q.1(/WMX)_;>[#V+!],)-.T^KI0!#G MC8$*#@L(JR/I!1UV#FQ&\Q3$.4Q2+W0-'+@#[BMSNP(6(0>1]_"6VR)*:)TU M)8J+SV#W=T8[)A'%@30,J?QCQ^47MBES) H] 3PT&/-+4[&E)>%#.I*IOS,A M*@0J ^X8, 3.1@0A 87A\]=>C5D7ME7Q?^))X8Z502.B/@"3EU-@U.F0S," M.?$[L(WWPPH504>((^H+^'J]L*!7?;NN8#;?3'V1%W#"B$DS8#>-,64!9IQA M *9!B::SD+,!%Z-$#6:6@&FIO&8\.DBZC%+LR8',;.V\!UKL68ES./D;W*^S MRP>>T[2I56X)J.K(&MQ#"F+._-H4 OI_%@:='+"O3Z-]?7K0_'WUI%_G@!)+ MG/ZAQO5AL]-Q,3S'T]XC8C8#]!%P0N5#FI91'>!](WI<%GI: ME&2+>_1^*QOX)NP5=T&XNW,0BB\- V*"INT%C7WT.'-CJD8V@\@).N-5WKA@ MZGD0L9/ \T1-BGE5S$#6@+*6&$H *R'-H:"[,@WWH='BYU;MB6Z_). MO# X8+LFM47HRFTSK0&Y(\J ,01(*%RP2'-K\W6!%A#Y9:MYOR0U9B[V$(K+ MXKB\6_%"8DJC49RG93'7XJ]!*))]ZV,$ MA$"Q1([R6L)=G@<88I<&US2 6..L;L@"LS7+R&KD!8B2"^AC?2)ZC''ST@*> MJ;///U]\Z ]?*L#%W"R+C! ,>4)6L&ZM+C(8%P>/$=P^CYO(35;XX" RMJ)H M08A8 A-S [1%& ^"!GYB0\FI@FFJN:54YB*<[IIGGL*O$O33YG.87E0$2% M(S(VT\Z1+W"CRX89@$K%DH(RT*HDG4MZ4.23L(N-<@[>S)HW!B,S<+=8IO*< M-$&7'><7A7^*+K')1?9<5)S?6DOP$",-%'B+?C7Y#^@MD11^J\ 4/UP*F2@\ MLR9;R(N&;+)X8OB60Q*$D[MH.F2PGD6#]>R@2;D$KJ91I[,5_)T%D7N8]3J\ MU!?P%T LD]7 F%2Y=N!5[OXRMV27+JK6UQ@-AB]9$SY&CNP<_-["?Q&-/HXG M[Z.)0B6$:7<,4U])]N.P\>1K''5I3VCU_G!$D26>_C5BD#J^AE@B4\^?# #I M)H >93&["T9@W$6]=&"/51*!QBJ_,6X#+;N@1Q#6%!R(!7&O!D,N$+4$+![:N9%53$7 M1+F=K]6OG 7 !3&=A)&'!D?,$ATX#^V*%XMA@:A(O8#]^B#%,/)'#4$,!*WL MF@_%Z6CX:.>KGT@":>\_6I O]3,\I0 B MCCP5[^0#1BP4(+,\_,WD?'%\.FC_AE)3%31"Q18"9W@4.LU1CZ1HE[\ M\Y17B!/A$<)QX5Y;&8P) )XPSI?(G8^JFVBEX9WZA"F@P\(2>RSO%I!/+ATS1<_G\JSSMQ M]1+(^2>$R(GY^K&I#!J/9XW:!:4*F0HB??A:G0'TP;9_LMZG M4OSLT2L0=HUD!5^^^R:F,79.?(P$R.(@#.M% >C>!G')G)P6[8!QS!=EO%C) MB[$4A-7$W5L8<(ET&MZ1$XWFECU^*R9@PYD#*;[=]2WFOM#MGB:ICBE =\?/ M76D 5O8:>PIS=+@1//U"0@[>E/;@0DY+PY:@62%U]!G6 S3W-9YU]Z!P#Z7. M1'/-K20&P2XT9)Z0%6ETM;2Y*25IBM."XY[W2VN_X:A=?.01X40H*F/W$M4/ M=*LLC-L\C\XQ0+C93#V]@=/_D.K1/#M[4/Z#DB/GNZ>?Y/[%^WO76SOIE/SQ@SX"4\2+(D-0[N%<$-)W#IX M@Y)HY>UP[$\.)B7[@Y&L<7=)20J5>M?BXQB(VZ*Z:*<1I@+TE3XU)-4=Q+KK%"$L>:S\)_K9YBUB[^M)& !#L M ID81F.BE8I@YV?(K0?9^%%: ]NL)PCS.#Y.I^T@WS0^@_E.MSSJ A,+DO9K M.'4!(^!(O4?O"A-8&&' UL@'_6BF[CM.*#N@HT $R@-PT+?2YLP)!RWPTV2()B8I]A1JYQN)CE#?PO>!X8NDM*'/K%F@T3LQ99^HD1(GQ(8@+VB;F$-CI9DF1 MWXWI,ZE)H0R9 +-0M@8-&TH2D2EBWXJ7?"$!(F:]A.(3]8\%R/QFADP,/FS- M8 )*O (T@^(=SE*D2@?' @2?S@YU%/<7:-_O>A;UG^1JDM2.FSEP[%Z!TS,$ M_&D=K1!](-_CS$(0X'RH$'^F4/>SY J.P6$@<%-/G@_ZH\&C@Y%1-'$HU#KC MN. <5+!N'>W/:_B*@Y!VU5U*@Y72M%*2N0)?$W.2-,Q!6, MJXUG-1-K49Z@=7\).>3%V53ISH.BJS\ BT4'<-N=C$#(DW3 MS7!36A?0\P=P&)!AZ"WX+H3'9Y+Z*TZ*Y! M:MMZT7\ 5F CG]HJ'98^,(-OUAB,D6PY2MEB^P"C3*="F&:*PPOH@SB[LK[U M&!"EV Q&7DS1S<4-5G>"Z=X:R M'.59 TH)UE)O';#QGNGSPPNE4A5+&3Z6!7]<+:9/GO^\K6ZR!%'8LS0 M5L"(!@KH(RKV0J2G@6TCU(#%-JV)<6DT,/G$F;Y()OJ3)*T0F"8D9GX M^CAFMO>_*Q'V0RGYTHW@ XL1/#G' ;S8-RVL:G&2=Q S(J_/>0G+S)Q+Y[XV[@"1:U ML4X +[);@AS)*5>4U;$R*:26CKT;.,&>I(3:>^VZZ^%*L4;R5]OB MO*&>%*F@8[][MI:W@3U.6TF&2F4, _"("\(N#N#@. MHH[U17!4T7VX)^#>5*T&WL'&:EZ.][,N4[JU"1H,2,!%:]=M4LJ#EF M8"UZ#5\TG=J M^#Q4@K[""DXVLCES#^O<+#9&-ACZ+ BCBBG$%JI9X^;GH7*R@XZRC#D]A:%! MR:TW/-H%V$_;3LCP1AA2\50PK MRJW#:@X(LI#OTZJF=-".3M1G*19*C'H?+-A @-']$( \0&!5U:=F9M+0XXYN MPT0[=9LWS@Y>Z%7H[I#\4G;G!*5\L2Q*7,9*0"TRO,V>$S7^OI!V&+RU/#F5 M(!,D;9(UD[KQ09.07&@:'@3K\Y# N (BR#X\U$1^9P&\19.IRD@EL,V3%.2 MKBB- O%U7H!F(UO"JW_]R_#9X#4\6=-=,01T,*<0X:NJH=P'MRH2; F6-35Y M9R$9EG@LQ^8VI++2MQCO[*IMBI2IX,A_,9GD'G'?RE)MRIC:=7&S;UQEO MQ'"\L7$_ 6,.KH(YS$!)DS9>E<)D'9!!DKQ%H.\EG6MR+P>0AX(WZ5,'QY.S M&H&H) KB+A J=(0$:HBQ0L3J,65GREGT4!5&0BTE['3)41T2@/8>X?#TX %] M1#_C9W(PDK:0!TO!/19A+Z:(;1 U.T&]X+!PI)3V&=.5'HRH)#-O*!3A8( 2 MB+K@?D.,2;&!5L=<^YUD_X'==%TN#5M#PY1X5]'R2\U+#$[:T-):\1@ZI_WT MC6<">8>[BP/<5QPZ$BTN5%0 9T%T% B\TX"$=](UB,]X9M@)$T.2U6$E^M\0 M6OL%^]MT/^L6+.AO$JTW;$#M%+,,$I?2Q+@FQ$+;KS;5]LM4HL,$/Z.9.*)+ M"]9RQ\N&J:8$DK[18,TI\_)YZTVY9[=Q-6'[3%@8D+Z"^X-D M'C@X'1N\.5^%4=\*(Q0X5]%>A-S2[-QZI#$I&VQ48 )%O':SDKP[%F:$BF2# MH7D]' -*A:Z^2<:DYMY)!O(?U+%JB<' RE<@?8U-MLD55_(H5[B"< M(L\= :K(RW+@_TV=U;DJS8TI@4;6;ZW8Y*6F/O,&+81LS!4DZ$U M>H'77/. -ZJ-Y>*@1))(U6C2/IRPLU/K)&:FN9)LGUR%D\85'[X9_A.5A<75&97DT/\G=0^Z^PB_"M>L'VJJ#:^,O3[SR*YV9MT?D1+@; M<_3N(]W,*):O,F,F,(5WT?;-=B$N^.4 MY)V5#5X?D91RU=:C-X>!Q%MN]0?9@S.M,7;<=RT.Y&W)=W^I2E.XO(_XF]0& M5OH.#S$#V1&X8X$TKG+U)W[5Y.C9BYD,X B$?G3B_)*XA,N;%XL"&9 M'VO 22?, ]@4;JIBUMSQMKC^XLU]CJK V+=KT8NZD7J6&,*V6Y^*E32(6W36 M8#$6=[UP0P&,B74;HA,'D=?+C3VN\-\XA$FHKFR59M3E6E>BH\&TW&-7 =9R M@^-UJ"?@J73*JQBU4*F'YD[)%W:C[+7V)%9H._SC[AX"/"H-M&T[U)4+]E+Z MD!E5Y0:?.N:+$Q C50CKFM)9,\_0?)" P^JP3PMB,PA=^4B(/D37OIOA9[&T M?)9&'I.DU#ZC0 MRB:>KK4#V*DE_[0)IW$G>*.7+V=OCMC:[\Y.:<)O[$/1#ML.G_ M&IR,P/,L2U2AW[&7>^P :-IEA1XG/TRS-&Y./[_C6]G.R%0M>5M+_;=^>YW'[F[#'9UW,+0IDS&EC94HP& M?*MRRG I0&Z+@HC7,>9\-W3:SEZPHFFFC, =#4J2XAK5?;D4FG,;E)@6R"3E M# 0F0^>J?3$.C+Y5>*"XDT.IX)"'.,E$$@^GK&">:Y =)A M_*TQG<:E,3RF]^@W-G>=RX9(G/#\D<8J&SI]!V),R#97*[Z[Q3J?KL&+>"[M M";M*M]MS(-I*Q8O:6$=04%;=Y*6NPY%!W_O$P*\-?!MWY4T4&0T$WX$P MVAK-$#95:ZV#H\Q\E+42^I5J.S6:WSZ!UVDJT;%XG1.5D%#E=P(N:. ""Q=\ M G=-)4E3@2FQW<<36.$SLBW";^L#0GQ1,,YY]/3GHVJ>1@\SA DO2L)>OWWI M^^WS2PDE"CND+$+@FYQ6GB40@2 U+1.*,2!5&0K@S_I0>KR "R *")2<,G5& MV9F1ML!X2'BNAY:R%)0-6: >?(E,:5"(WR4HZ@0WKP;9F!V$%V#B]#J7__T. M,X'XIME MXK"8J,S-OTRU[4\];X',GUE#N^$9-&4<2\Y]QNRVX6OT#LH=WN: M7QZ7&?Q^\QH8[>"@'02:#[DB.;0]3]/OSH^ZU#U:!06*U"X\"1'?,E5MA4;: M[-2K:I4%ZI&K&.&C^-*-_4$L#!!0 ( (F":5/P%\[0P0, $X( 9 >&PO M=V]R:W-H965T.5- MQF[M7DW&LC&"5WBO0#=ER=3+#(7<7'J1MU]XX.O"V(5@,J[9&A=HOM?WBF9! MQY+S$BO-904*5Y?>-+J8I1;O ']PW.C>-]A(EE(^VYM(;][SW[-Q<[Q;)D&J^D^)/GIKCT1A[DN&*-, ]R\QON MXAE8ODP*[7YATV+/SCW(&FUDN3,F!26OVI%M=WGH&8S"=PSBG4'L=+>.G,IK M9MADK.0&E$43F_UPH3IK$LT9M\^F44A\D7V(]3;451_@R62U1=$GTP!0(3Y)LY182R*W6CLH(. M.M2*9PC4^+3,-3700;R=:MHBXXV&8UX11#::53D%BMN,G $KI3+\WY:[1L5E M?G(!K]7]W^.T[[6WV%0&[IT(./X+F=(GE!B-1G>@;XPK>&:B<44TK%IS6R#6 MHBC&3#0YK]:0,5U8R-' /P_#DX[@"$9^&B:OB'CUBNJ0@VM\IENQQAP,9D4E MA5R_=)M1[ _2"$9P4WVNE01W M= 8I-51 @?9XBS?<1DE\(#%L^S;('Z;)+KC^/@7:E#\%F/C#<(]\U5:]ONOA MA_X@BN"M^RCHW?%4Y[5[R32X++77?;?:/9;3]HTXP-N7]I:I-:\TI6%%IN'I M<."!:E^O=F)D[5Z,I31TJ-QG00\^*@N@_96DRW,WL0ZZOQ"3_P!02P,$% M @ B8)I4W-5*=Y>!@ <1, !D !X;"]W;W)K&ULS1AK;]LV\*\'>]]1QZNI+K3"\8,W)>%T$>#A3'+5Z.1SA:LI/I M+IG G9E4)36X5/.17BI&\YJH+$:!YXU')>5B<'Q8PZ[5\:&L3,$%NU:@J[*D MZN&4%7)U-/ ':\ G/E\8"Q@='R[IG-TP\^/R6N%JU'')>_LXD-^-/"L0*Q@F;$<*'Z^L#-6%)81BO&YY3GH MCK2$[O\U][>U[JC+E&IV)HN?>6X61X-T #F;T:HPG^3J/6OUB2V_3!:Z_H55 MB^L-(*NTD65+C!*47#1?>M_:X3D$04L0U'(W!]52OJ&&'A\JN0)EL9&;_5.K M6E.C<%Q8I]P8A;LG+/J\$VK6;,V:@,#LS21FBC8@9V 6 M#&:RP(3C8@Y#+A B*XU$>N\5O/PN#;SP]3?[HE<,*Z=,U:Y90]^PK 7Z/=#Z MS?YX<";+965PN].B0WH!OD\2/]X$Q&D,-W)F5E2Q;B_M';YJKEX;$7KRQ2N""88HO9)$#+Y=*?F&60G=(8Q(DGKN*8[B@4ZFH MD:IQBT3K/Z562,:QYZRLK+<,'?:$8!%)QXYD8^+YUF1"&U75U6R?BWT4;X[* M]<(%R#0,'&.CL.E7[DH2DCHZ)#&)0ZNWUJ^P1F956174L!Q+&U;YC-.F>*)B MM)3*\#\:P)I\&'G$BR9[/2!$JTSB/;B5AA:.#T,\%[WO "8DB((=>1=W>1?O MS(H;[%1YA;F%H?].RGS%B^*9Z;:;\2WF4;:@8LZ@SB%<4:4>;%*A,2I1)]M\ M?6)>*;MCT00R@K(I?LP6OT=)8O. P(IB9.HV4_7?SM-3BM4F8T -3-F<"V&E M0,&P4G"9$_B!B@K[+?C-N6Y:Q21)(KC$F,.CL83]VAF0[\_]&M]-\\-,?,LM\Y?SBG6+AAZ4EG#K;A9M,8OOY;3[@+% MVJ^T I6-0=[Z(P&FET5N81EB2IEPT MX7VP(RS'75B.GQV6;SG6)+9_@1-(#A^$P9CB-CQ/M&987IX7K+N/<[C2FFO= M%LBZ+[#\W^\,__5W1Q!NM*>Z(STF/GFJW+U3TBFXV[Y7S/P#BO7WN@GQ]?)L M77HZ 9UBO17I[U%UQ?P71I7>:_-FTR0];.N6+2*8C,!S3%D^XW60\RY.]?\_ MXL[J"1S#1+&BUDTO^%*#CP.SWX?,"YB0"(>'?CV,29IZ>PXD)'&0[*8()ZE+ M$1'/FV"@?L&;TQ*M:%BV$+*0\P>(\/Q)/TM@"_9Z:8;^&$>-H&?EAR2,TNWH M$9FDB8,>X[@1PJVBZ#9:LKKY&[O":]N=AF!3>1S-)CWS89+&/:O4#[?B>6,' M;Q+ -88D!DWRF'NZ(2L9AXY9_607IN=@XB45*[[(<.QDINUK.#VUXUTO9>H8 M:AB$CBYC?QM6Y"@21%C>[6B6V9;RZ24MEZ_?P/?N%!CVDYW]^L'K+;O/P=V< MLAY_,8@2$J2I Q@&,?'3P VT(""^-]Y-%-B)?(,H(G$2HF9HU?UV-+0EA#]J M0SL::=(UTN0;-5*"T[^=^#?+T?G]D@G-GMEE=\MB1T)[=Z'B 1CRS8R]7>" M56S.QR@J_8ORU[9I,!+GMF\Q"-IB;>_:U@T;_:VMQW4#'.( 1;EH)E5,@'9, M=5V;Q)'%#9Q0LP4!07T&!&0R\2PH.FB.#-B-&9O?9U M647&DW44SQK?;=B1M;YSAL>41,F3M_^1\PR"-7M>/_9H'(!0^>9%I(-V[TDG MS3-*C]X\1EU2A9.TAH+-D-0[2/"BH)H'GF9AY+)^5)E*@PVB_KM@6"*51<#] MF<3QLEW8 [I7MN,_ 5!+ P04 " ")@FE3@'IZGQX% "<#0 &0 'AL M+W=OK]\=)=MR$KO%@&& 89$4^=S[<]3I4INO M-D-T\)BKPIYU,N?*D\' IAGFPO9UB06]66B3"T=3\S"PI4$Q]X=R-8B"8#3( MA2PZYZ=^[GG6"3OKA8_R(7.\,#@_+<4#3M%] M*N\,S08;E+G,L;!2%V!P<=:Y"$\NA[S?;_@L<6E;8V!+9EI_YH80=#C&UZA4@Q$:OS58'8V(OE@>[Q&_]7;3K;,A,4KK;[(N4=*!M+).Y\UATB"71?T4CXT?6@R]F"NW1Z< 1.N\9I W298T4[4$ZAEM=N,S"=3''^>[Y 6FU42U:JW89 M'02<8MF'..A!%$3A ;QX8VKL\>(#IEJH[3L EVS@$@^7[(&[04J&'EQIZ^ / MCPKW^.C@4NGTZY\O^>\PWL\_3:(@_@4\+N CE1T]E\)"JO/22(MST MP&<)" M*RHF63Q 5Q:THBLKBKD].H$UR/_UO,\,XDXB (7183Y#XV.YWOB>K/^1?1Q[ M_@M:HP\E&N'8?+7CJ_695Y DD_9L.&S-PEX2CG?F\2B":::->^/0Y TH.12^ M"2-]8'?E=,.CS?GP>+0=1UO<41!MQDD0PKUV0NW5=Y0DK=EP$K5F42\(CW?T M'8]BKX//%$N$X3)2%V0AG20AW@C*E#""O':P-B396A &H=".R#35AGVN"Y]/ MJ:8(%)Q@-+):R;EP-)D))8H4P;.+[7F7\/8KRD=1K#S,0R'_)AUV#:->P1MM MXSC+<@189P1SY!O.?*9222^^H=_: +#J??C\LML;5*#H2SVW0$W(8L&*4G50 M1Y%J13Y(537WAN0Y2Z5&!=R;'!;>EC03Y@%M'Z9562JD]L)QD47=WNI.H[SU M3H/>333KJY%^=?W9_Z[<7JZ%MY@VB^%+!?+%=R#27)!3J:&2)6SYMDY\8E04 M:M.R[..'3VOKF$Q6*(P]>J;0J!^\L+9-VF>RY]*FNBHHU\B9/G1/G F*8BP5 MI2Q)7L,,^]$07K>G";P^P-7##5!6N,K0Z ?) M_+# I[YJP-E6JLQ#KA!^QVX"<(Q[L$0JWVWV_6ON_YU"S)S+\G=2ZB+GB#&S M^*3J;O/'>5JOV>2HQ47)>,Q[MW1%Y!3XI;BU%$^.>2EI+07CF)>&[:7)A)=& M:YJAREU0QCY3/R(1<<.GBXKS6[<=M>X%R6AI^Z+O5%FAG/> MN'VX&Y:C9"E+HQ^)_!P2^;T*^R&IJM03&J/>H$O/;32AK$9RL&AS@LN$ V)C M%_6->[N]_FZYI88B"VZ!"SH:],?$#*;^%J@G3I?^ M_CW3CF[S?IC1YQ,:WD#O%YHNILV$!6P^R,[_ 5!+ P04 " ")@FE34<#_ MH](& !=%P &0 'AL+W=O;!'#29.O0ID:2IBB&?6 DVN8JB2Y)Q=]317*HO>LJY@8*L]@RI4G;=]UN.V4B:YP\D3.CQM> M8[%Q)2930QOMDZ,9F_!K;C[.1@I7[0HE%BG/M) 9*#X^;@R]5Z<]HK<$MX+/ M=>T_D"9W4GZAQ=OXN.&20#SAD2$$AH][?L:3A(!0C*\E9J,ZDACK_Q?H%U9W MU.6.:7XFDT\B-M/C1K\!,1^S/#%7C>\O(;F#;M+N#XX:AL\C7C: M48E\6B#[6Y '\%YF9JKA/(MYO,K?1BDK4?V%J*?^3L!K/G,@<%O@N[ZW R^H M5 \L7K!#=0V%?CO@P@HNM'#A-O$P7^(\X2#'<#UEBA]2M,0P8H\8Q :&<^0[)X7J)6*X&TQYL5239NXH];[9P_S+!$ M('\BQAR:(H-'SI0^6&/U'+^S>W-E<2L3]&PBS.,:4]AW7!=>KNT'(0&\7%M? M"?WE<*PX!Y$9KK@VH!@F[E-^U_&\#;">$P:U[7)9Z1V+>Q'S;-V ]/3\S:Y^ MNE]??[*U$)'9/5=8VF',A()[#'6;';.%YQ61:9@HEEDY@%=I[?NRQ<0.OU@V_*_]KR9D@-7(A9+FN'I'5>VKCT?^[OIUT/[&X)]F^]# M)UQ/@K_$M"4OB&\9HV'@#/P-H;R!TG4&[IXYLLKI.GZPUQ&NTW6?39A="?$< MW:Z$P50 3?V$4D>6#6*?E'EZ&"41VG0]B=8).TZO\M>.UMBI6F-G=VOIS)%ZOX;XC!34>4LI(IG2B47G%1HP M6@2.>"2!L=:T!H:8 JC@0#K:9]3%K<%ZKW7=320Y BD>R4E&LA,' VT4(]\> MDC0$A302G6S![NE8=%_A.IP&)CQ#_R?)(XQEKHK4!.?_4[GVK5C+NK3\=R8U M]@*,<<7O>9;C:%8+W)Y;6_4&]977ZG?K:[_5Z?MPQ34:+YI:O\2(F,B9C;NJ M";;\P:"V\L+^LJ2T7&_91X)6%U?7>'% 7U4^LL LQI%K65W_=@:V3R(B\T-+V#FHI!*^@&*VLOJ)M@T I[X9-UUV+<8-3I9TZK M%Q5C/4^J9N3:M' MW^!:\F$+2V^4Y#$*+%)*)R704 M8J2!2/!8&S?8[WFS( M'90PBGJHN3$)H0^OEF6.7G)E\(X)/)TE\I%S[5AESE !ECWB[2ZB M0H&T>%$ET769JQJ8QF;'[HJ.L]A#C6PZ%^5ECC2EZ)C%=%>,5/[4/,2SD/8. M@V L\#H,PR3!7;K^DLWPVJL-$M)_J\$<.Q&,U9-==_#&!8=NF_ M"_B4_ZJ*GXIB,E%\LFG$O\QMRF&T+$>Z(JZJC3/,4L4BDV/R+?;>XI;(M(C6 M ,NKJ)T%%WLC):(EW@U7Z7)ZL]VN3FRF,M<8\SA$TJQB@P^:GXNQLO;RPS(W M6O +RS#N'[$X%BT@['3K-1UGNN7 ^%-9!?:=JLZK1&MZ77=]M.TY_66U/&-9 MQ*G@-(,--[[ Z?@UW)E01!FN4W:=6E-:T72M3&*_ZP_JROI.SX? "5:[V "O M,KX.$+AV)[7 :.K21)3TFX%"=Q7([X%/U\:5 M/CMP=Q2K7E6L>M]6K+"58^Q:W8N/)Q\S8?YR[=HMQ'>O/8N28&-][:VUT7(@ M>D.%X8)FSR(;%_M-VUBJA!M5V7@IL\-[&TOKF>>U>F&O[NRN$P15SO4']4'" MZSNAOXC*9J^L2+(A[CP,>Z_.U$-A-@59N_;) M,^5J8C_L:K!#0/'UL]JMOAT/BT^F2_+BP_-[IB98&B'A8V1U\>K3*+Y,+!9& MSNP'U#MIC$SMWREG,5=$@._'4IK%@@ZHOJB?_ E02P,$% @ B8)I4Q<, MCA?^ P -@L !D !X;"]W;W)K&ULQ5;;;N,V M$/V5@5L4">!$-U^SCH$X\6(+=+U&[+8/11]H:6P1H4B5I.+LWW=(V8J=)M[T MH5T@DH#1<2="XOF[=1%>3KM/W"K]QW)J#-;A, M5DH]N,W/V74K=(!08&J=!T:O1[Q%(9PC@O'7SF>K">D,#]=[[Q]][I3+BAF\ M5>)WGMG\NC5H089K5@E[K[:?<)>/!Y@J8?P3MCO=L 5I9:PJ=L:$H."R?K.G MW7=XCT&\,X@][CJ01WG'+!N/M-J"=MKDS2U\JMZ:P''IBK*PFDXYV=GQ3%F$ M*(0+F$V7\,N7Q0+FTWM8?+JYG\+9DJT$FO-18"F4,PC2G=M)[39^P^T0/BMI M@D>7):L$@EK#E&G)Y<; '#4L I,9G#'164Q@S]\;%CB MDX6)4.G#GZ]]Y=-1?_IA$(?)!_A>[V6N$8\J#50GB\6*,G?%VBO."/BQWAVF M.[7H6!(U&L/(U*Z0ZGHTKTO?%WCK>\#F%VP1\*]03". 0:H(1I+!"!F-!9)OQU3 MGLVVV^[TAX>G8:__O$W:O6$/INLU-33'L\PQB5H:J-(U../I1:&LYJEC&/6. M] $JR:TYPAK%'_[U?L_:_SJ[_XNY#55*HJ"I[^BJN:/9+ML#0H278>_\A6#P M0I ,7PCBZ/Q$;^DVO:7[[MYR(RUOZK[ M-+<K;4JX%859669 M_]E[M2&]L_NZUW?CFX ME?LF$<4#ZKDA1(,8DEX,,R4O'JEIX)N]8QAU(6J'@PX,AWV@:# M2J&^$OZ% M5YM7.LUI,H*Y8)) 032D_P[]]6"I+#& S/L)/;OD)&I'0[=.XL%KER,XF&6H M\V_\Q&:(.96T]5C32)NA\*:>A9[5ZXGR,],;3BD+7)-I>-DG/NMZ2JLW5I5^ M,EHI2W.67^8TV*)V"G2^5L3AW<8%:$;E\=]02P,$% @ B8)I4Y[VK8CD M! T@\ !D !X;"]W;W)K&ULW5=M!4WTE4$L;^]UWICN-P@-*.,YWI M!PYII7W1[K.[4F\IY(/**-7P5.15J9 %T3B5 ML[::2TI2RU3D;=]UXW9!&&_U>Y9V*_L]L= YX_16@EH4!9'/IS07RY.6UUH1 M1FR6:4-H]WMS,J-CJN_GMQ)G[5I*R@K*%1,<))V>M ;>Q]/8[+<;?F%TJ1IC M,">9"/%@)I?I2XN;Z[AW1V9 MY%2][[4UZC82VDFEY[34X^_0&G_EZ!8SH_ M@L!UP'=];X^\H'9$8.4%>QRAH#S?'G%A+2ZTXL)=YF'VI(N<@IC"B#Y2OJ P M>88K\H>0,+1QI5(9THC.A=2,SV!,9PAWK> W:P;G^ M>%W\ MF($?X.=T$P* M0U',"7^&C*0PDP*729*(A=DL:4+9HXW:5(H"&$_9(TL7)*^2V 2;<:!/B1&+ MH#!"\6^W'*)@*G(LFNKCJP5KT_,KZADJ+8G>UG ,2B_%UN=>4#EK6/-;_V$- M,7ZO_;W;EWNR*ZJS*_K'V67]?OZDJ>3H]76*#;26;++0"#PM $LY%FJ.L41_ M2T9M"EY0,9-DGK$$!MC9#LR__2969JG2KJ29\;.U.F+4F:Z2 K8HC2!#=<3V M*SR:F=>YY/M&EXR6,@U M)N[!JFZI3!!I>(WX-UOK6*WAI+83[SDS0!IK8OR_XG^#6>$<=P,(.XC\-]!Q M.I@3@&CAMT3:E:$6*G@SS^<<,4I5>AQTCGZ3K+/"<*0@C6>[M. M'$6 FN'"XW0EU5"K*WSCYT(=WJN:\WS \?#WWQ K]H"\J!KX+//GS%9T0* Z5H M66HOU[U^:WW\LE54^L'ZZ!\IZVWEZ_=*R)GC)N;T119W:,.WB9D^8(L)UK, M[:MM(C3V?SO,\-%-I=F ZU.!#Y9J8A34S_C^7U!+ P04 " ")@FE37ESO MQM8# !>#@ &0 'AL+W=O>L3U/ZMY:J@>]0#3PF*5"GWL+8Y:GOJ_C!69,'\HE"GHSDRIC MADPU]_52(4M<4);Z41 <^QGCPNOWG.]6]7LR-RD7>*M YUG&U-,04[D^]T*O MT@=O/%?J5JYUJF3*- M%S+]BR=F<>Z=>)#@C.6IN9/KKUC6M@)-@1T!4!D2.=Y'(L?S"#.OWE%R#LK,)S3ZX4ETTD>/";LK(*'K+ M*<[TOTN#$$9P %>#ZSNX'WR;7,+-Y6 TN;N\N?P^'L'>F$U3U/L]WU ^&^7' M)?:PP(YV8'?A1@JST' I$DR>Q_O$LR8;562'42/@")>'T Y:$ 51V(#7KHMO M.[QV0_$:BOH:X#HU7,?!=7; 73&NX)ZE.;9@H#4:#3?(=*XP 3J =QCG2G$Q MAR'37,/?+C&,\=' ,)7QPS\O+7%SRO$"8293:BV+:QR@0FI/C8+2&WI](;,E M$T^__W82A9_/-+""658Q8P9FEOC*$K<\&2%43*>.*=,@9T"K;S";HJJWH 5, M)/ %X](=.G=0N&WN(IRD@RRIL4J:.7)[7%AWKFFVWC\%RS!HGWW8N-F^:ML* MGA-M5^*U*'_F=*B2=R-YJWA,9Y:6[KTR#)Q.UN:(SP6?\9@)\V;H&Z8>[-FS M!Z+R_4'G1+T9^3JAK2*2Z09WJE&M7$.\II3GA[M>BZ)7ZBQBF6^9$R$W2APNF%X _$#[=J") M+7WVI@:T50EN.'T;?LE]=;Y/R,\^QZ^3DE*+QU;!*?:@S#3JM[$K[:WR0<+\I3.R)9:S=Z=J[N2_]-_:W_ M_!FJN;O9:(AE+DSQ][_VUI>G07%GV$PO;E[42',N-*0XH]#@\/.1!ZJXS12& MD4MW@YA*0_<1][B@"R J.X'>SR2I5&G8!/65LO\O4$L#!!0 ( (F":5.! MCK JO 0 &(3 9 >&PO=V]R:W-H965THNC1-S4EE*NKBU+!$N(B;AB*TC4DSGC M,9'JEB\LL>) PE0ICBS'MEM63&A2Z_?2M4?>[[&UC&@"CQR)=1P3_F,($=O< MU'!MNS"ABZ74"U:_MR(+F()\7CUR=6<55D(:0R(H2Q"'^4UM@*_'N*,54HEO M%#9B[QII*#/&7O3-;7A3L[5'$$$@M0FB?E[!@RC2EI0?_^1&:\6>6G'_>FM] MG()78&9$@,>B[S24RYM:IX9"F)-U)"=L\P5R0*ZV%[!(I/_1)I>U:RA8"\GB M7%EY$-,D^R5O.1%["@X^HN#D"LZY"HUP3VBT,P5FN?NX.8*[KD*K5RA ME7*?D94R/2*2]'N<;1#7TLJ:ODC#E6HK@FFB,VLJN7I*E9[LWS,)R$&?T<3_ MYM\_^V@\>;A#WL/]TV3@/4W1]]NG+\A[GCX]W/F3J9+#Z-,()*&1^*-G2>6! MMF,%^6[#;#?GR&X-=,<2N13(3T((#?JC:OUNA;ZED!?PG2W\H5-I< JK*]2P MZ\BQ'?P\':%/OYE@>>=;L8];&7W<%RHA-ECR?XD_XVHK(PB4%5QAY8#R1I%Q MC=1L\UC&K>,9<,3F: *OD*P!3=F:!R#0O^@(W%%FT4TMZEKYVG=ZUJO!B6;A M1+/2"8^LJ"01_0DA\E1*<57AU(60=70;KPCEJGA*])4)84KRS'9KSQV[<"?+ MEY,2HY,2?I7$ 6BW .U6@]X"W5"Y1%Y:7(#7T5=*9C2B\D<=W;,D6'.NP)MP MN^4PN+;^>X?M3+FQ6T*(G4.Y YRM F?K_^+H8$0( 7ZZPYT?_J[HM/AO>$*7Y2HZ5YU1.92.3"(U'B?YJQ*7N1Q M"&G6>NI;W^KHB:DHFEIX[L!!=K4K$@<[.]^=2U/G'BI<&N9V]UTR%;G1F7+C MTW*'"'>#"*Z>1++X[UK>1U)@-VC@BR>-$S26^S\V\WBFX-@@6%6-\6ZNP-6# MQ9_ %IRLEC30$ /0*-/*.Z'BI:!3S7?;MCN$)%BJ+]F7L[C>]7U\LO&_VSSM M"7I-?24;2:XVJ$K9E6W_;OHBN%AS=+&F?XGF(96[20%7CPJ_(*3JH7JW/C]/ MSPKRKO?CD\W_HT&N-N@VCL:X6K'5/AKB$SL>4_1/[7@TP-;>$8!J,8OTL$:@ M0$]QV;=9L5H<" W28Y!WZT-\[6'#^@A?^]EQS\Y\=OIT1_B")@)%,%=;V5=M M52QX=J"3W4BV2@\@9DRJ_I=>+H&$P+6 >CYG3&YO] ;%L5K_/U!+ P04 M" ")@FE3M'9N27," !9!@ &0 'AL+W=OS,-H3^^YU- M&C%I\+CM)?;9]WWY/I]S&512O>L-HH%]D0L]]#;&E->^KY,-%DQW9(F"=C*I M"F8H5&M?EPI9ZD!%[H=!\-4O&!?>:.#6%FHTD%N3&+O@CP8E6V.,YJE<*(K\AB7E!0K-I0"%V= ;=Z]O+FV^2WCF6.FC M.5@G*RG?;?"0#KW "L(<$V,9& T[G&">6R*2\;/F])I76N#Q_)/]SGDG+RNF M<2+S%YZ:S=#[YD&*&=OF)I+5/=9^G,!$YMH]H:IS P^2K3:RJ,&DH.#B,+)] M?0Y'@&[_!""L :'3?7B14WG+#!L-E*Q V6QBLQ-GU:%)'!>V*+%1M,L)9T:/ MTB"$T(9H^CQ]?)K"732?P63^N(S&DV4,+P_+>Y@\Q7]-*0"Y3^/(#F;KX M4QG.2PGA@X#ZC*E^8ZK_CPO0:P=7YPMPV6B]_'\*<%Y*[W0!_*-.89ONC*DU M%QIRS(@JZ%P1LSHTLD-@9.F:QTH::D5NNJ'>C\HFT'XFJ8'4@>U'S=]D] M0 M2P,$% @ B8)I4]"CSBR_ @ S D !D !X;"]W;W)K&ULK59=;YLP%/TK%M*D3=H"(23IJB120ZBZA[012=N':0].N &K M8#/;:;I_/]M0EE9 HJPOX*]S[KWG('Q'>\:?1 (@T4N64C&V$BGS2]L6FP0R M+#HL!ZIVMHQG6*HICVV1<\"1 66I[3K.P,XPH=9D9-86?#)B.YD2"@N.Q"[+ M,/\SA93MQU;7>ET(29Q(O6!/1CF.80GR/E]P-;,KEHAD0 5A%''8CJVK[F4P MU.?-@0<">W$P1KJ2-6-/>O(C&EN.3@A2V$C-@-7K&7Q(4TVDTOA= V 7@GHG1K!*P'>J1'Z)<"4;A>U M&^%F6.+)B+,]XOJT8M,#H[Y!*[T(U=_)4G*U2Q1.3FZ9!.2B;R@,'H+;^P!= MAW=SY-_=KL(K?[5$CS]6-\B_7Z[NYD&X5.=F1. XYA!C8S3;HA">@>X ?9Z! MQ"057T:V5)EI?GM39C$MLG ;LNBA.:,R$2B@$40U^%D[_GL+WE:*5+*XK[), MW5;")>0=U'.^(M=QNS7Y^*?#G;IR_B]Z<';T-V+TJF^D9_B\!KX%\ U0J;WF MA=>BSN)VDJ[C=!SG4YV6YP)GYP*#,X!OE/,JY;Q6IA7'5&R!P:.5NH? MBW[.(5L#_]42H%\%Z'^$->TD0[?)F79XTT[B7C2YTX[S&MTY@FMTYPC.:W+'/KB>,N"QZ0L$ MVK =E<5?J%JM6H\K<^.^6Y]V+_UNS?I,M2I%9_&/ONASYIC'A J4PE:%(#"S_8# W# &0 'AL+W=O_@ WN$20'"*%*.(3=5J?3?=C8 UBQO=SN.B3_ M_L8O=4EP"%+52@AV[7EFGWEF=G<8[+AXD!M$!4])G,K+UD:I[4=-D\$&$R8O M^!93>K/B(F&*IF*MR:U %A:@)-9,7;>UA$5I:S@HGBW$<, S%4+["F.\N6T;KVX-EM-ZH_($V'&S9&CU4G[<+03.M]A)&":8RXBD(7%VV7./C MU-!S0&'Q)<*=W!M#'LH]YP_Y9!9>MO2<$<88J-P%HY]''&$#. MQ["W V1L6B6)Z3Y\_>&,X^G,,'B%+P-SR3+ WE M0%-$/R>A!175JY*J^0;53UE\ :;3!E,W]0;XZ#C-65>-6?CKON%O(7B &$I8"9[ 3,J,I0$" M7\&()PF=,)[BP4-3F*5?N_";'Y./0[OK.-9 >VR@TZGI=([26>(CIAF6;$8\ M58)..-I(:@.C8@NA:,,L#>(LC-(UN%(B?4+PV5-3'74..)J.97WG6)9+@U7' M,,R75I-#J[YA]+HOK:Y+*VM?%I@C&I%O,MW2L*:$>"QV*4X&.P27G,U\_@\3C+[PL)_]QA4CDLY"HL\_6: XI28E=J1 M)G ;!=05(/S.DNV?L,28$DZ)1/%(+R2X:X%8X$Y(8+\FT_^5FZU_D$&SMZ=7 MN=?Z!ZH:^FNCR:&GGO/:Z/H=3R\4<6I%G'<4*77/M]DS^(*EDA6-5IL*O!+J M3/%S>&'8!I\K%C=IXAQ$\CK6=RVFSD&@;T1IZ-];!?UHG&\E^S9B]U$<'0VI M+;HDFZ MYXJB*H8;ZNQ1Y ;T?L6I4:HF>=]5_U<8_@]02P,$% @ B8)I4Q'9,6'( M P 5@P !D !X;"]W;W)K&ULK5??;^(X$/Y7 M1M$^;"6V^<&/P@J0('"W/)0B:/<>3O=@D@&L)C%K.Z65[H\_VPD!09*MVGLA MMN-OYINQ\\W0/S#^+':($E[C*!$#:R?E_KMMBV"',1&W;(^)>K-A/"923?G6 M%GN.)#2@.+(]Q^G8,:&)->R;M04?]EDJ(YK@@H-(XYCPMS%&[#"P7.NXL*3; MG=0+]K"_)UMR M9NQ93V;AP'(T(XPPD-H$48\7]#&*M"7%XU=NU"I\:N#Y^&C]#Q.\"F9-!/HL M^HN&PNA:$N"%I))?L\ /S@-K:7L B87[AD.]U+ A2(5F<@Q6#F";9D[SF MB3@#*#OE "\'>.\%-'- \Q+0J@"TF&0: MM J?)OK<5Y*KMU3AY'#.)$(+OL'X:36;3UGRS!F^K+!2I\(ZI&'NU!B<8W$+3;8#G>$X9GWKX"O<*[ABX6P*? MU,/O"2^\NS71-(N#;1I[K0I[2Q22TT!B"#X1NP8\,DFBLK R.QUC1\O$R[#I MN+V^_5+BO55X;]5Z]Y4V*/>O,$L"QO>,$TWD[WN,U\C_J0FO73AHUSI8D#>E M/E* 9# *?J64(XQ3H78)@:(!6 MXY$/^"Q>TX1HH6O #Q:%:Q(\PRAF:2++V&1FV^Y5?MU7%LU?P['V*YQ)U%:;)]B., M_=X5XUX58=57]DEU5Y,_JEOL) MA8%_8<%Q3V@(TU?5(RE- %6F\G+FIYPK\8"1T@HE(>^0)=<[\?+^']T=YX;J M/W._;%?E=^Z>JH-;7QY^F[Y1$/#4''VL\T>R+BT)BSLQQ@0W])WI.]4-M[YP M5-W)C,SG/OO<]85D7N;[>M.U-MAG#5>,?&L:5P&!%O2LX2A6B^9X9%K"BW5? M-\VFD3N9R3INU0]L:2(@PHTRZ=S>J1O LR8VFTBV-VW=FDG5))KA3C7^R/4& M]7[#5&N73[2#XJ_$\#]02P,$% @ B8)I4X$>$ES=! ^1( !D !X M;"]W;W)K&ULK5AM;]LV$/XKA-$/"=!&HB2_%8X! MQVFW $L:U$F'8=@'1CK;1"E1):DX&?;C=Z(]!C#D(169/NVMCYZ.UY R?2)SR/#+4JJ4&1RJE:=S!2RQ0JGP M\? M>"GC66\ZL7/7:CJ1A1$\@VM%=)&F3#V>@9";TQ[M/4U\YJNU*2>\Z21G*UB MNC[>3 J!>R*+QPV>N>=E*[<2?FU'%PDISV_ M1 0"8E.J8/BXASD(46I"'-^V2GNUS5)P]_U)^T?K/#ISQS3,I?B3)V9]VAOU M2 )+5@CS66Y^AZU#_5)?+(6VOV2S7>OW2%QH(].M,")(>58]V<,V$#L"J*== M(-@*!-\+1!T"X58@M(Y6R*Q;Y\RPZ43)#5'E:M16OMC86>AF=E&A=&X5>. M+BZL/BP69?[H\N[B:W5Q\NL+ICXPK\H6) C212S+3&HPF ML_A;P14DA&4)^8.S.RZXX;@$OQ?I=MZL@7P&P0R.;S4L"X%+[W'1T3D8QH4^ M1OVWBW-R].:8O"$\(S=K66@4U1//H&\E0B_>^G%6^1%T^#$FES(S:TT^9 DD MS^4]C$D=F. I,&>!4^$"\A,2^F])X >T!<_<+7X.,8I3*^X[X(1UGD*K+^K0 M]YN4R88+T1:92G)@)S^E_=#O3[S[7;QMJX;#J%[U#%94PXJMT6@4I'?\>W_MCW MVUT;U)8'/V'9L&S%[P005NV (Y[%HDAXMK*@RB5O^F_1Z'$;OL$>OE'DA^WX MAC6^X8LK8KAGCX8^#=H-CFJ#(Z?!&VF8>/*?;1F@S?IHSWI$ ]I1:>/:^MAI M?1;'LLC0F4T$4@R+8U5@P<$#MC4-K;PQWH]%% [;P5"_H4W?"><#B((]A$,HX[JIPTA4CJ'A=IB)7/,;"%$+&K#RDM"*)6I#T:5=9-#Q)W43I9F+R'\Z3:R5CT!J[ ML@:&F.T>.L<"%C+'HYGY$>*F#7_2GR%0CGUYR3-NX)W 4T""$]]Q:FNT]IDS M'(3]CF UU$G=W+GU&5'<0+S.I)"K1V*/L'HW9"_N;K3A5.HFU>=!>D& 1OMM M/>A'7>74L"UUT^U')Y*WA*52&?ZO+7."C,1E0H[^PJIJ[7\'C(W((TIJUZFM M(>; 3V8&51T]$9U>\_QULAHT'!VX.?I7L[I5_RRKXT%'TPH:U@[ F^RN)N4ISP#\KLY4"*-GJE9+:D'W@)OM?3FJTE]11-.K( M:F&03N9O#+ M>1WNY]7ORFO3&((#C>%U\^HVYMJKWL[E O+JRMZY:&)/X]4]0SU;W^O,[&V& MURRO+H4NF5KQ3./!=8FB_LD0JTU5]RS5P,C<7E7<28,D;E_7@'6AR@7X?2FE M>1J4!NK;KNG_4$L#!!0 ( (F":5/$"G9[- ( #<$ 9 >&PO=V]R M:W-H965T,TW58X!O*Q8@&6 M-(B;[C#LH-AT+%2V7$E.LG\_2G&-#%AZL42*[Y&/HAP=I'K5!:*!8RDJ/?(* M8^H'W]=I@273/5EC12>Y5"4S9*J=KVN%+'.@4OAA$-S[)>.5%T?.MU)Q)!LC M>(4K!;HI2Z;^3%#(P\CK>^^.-=\5QCK\.*K9#A,TFWJER/([EHR76&DN*U"8 MC[QQ_V$RL/$NX(7C09_MP2K92OEJC7DV\@);$ I,C65@M.QQBD)8(BKCK>7T MNI06>+Y_9W]TVDG+EFF<2O&39Z88>5\\R#!GC3!K>?B.K9ZAY4NET.X+AS8V M\"!MM)%E"Z8*2EZ=5G9L^W &"/L7 &$+"%W=IT2NRADS+(Z4/("RT<1F-TZJ M0U-QO+*7DAA%IYQP)EY*@W 'MS#9)//EMR2!Z=-B,E^.G^=/2W(_,J[@A8D& M-<@OPWG;8-CAENOB?]A/'O>.P#VT?#[\&0>3OSS/[9W-@G]2"J1VO M- C,"1;T/@\]4*+2&G;;N7Q'_!5!+ M P04 " ")@FE317BEU_$# !(# &0 'AL+W=O()16%(G7VTH+K4I[J]/I/IAD &N= M.&L;:._7W^2E*24A0K=?2FS/,R^/QS/3WEZJGWJ#:. U%)&^:VR,B6\M2_L; M#)ENRA@C.EE)%3)#2[6V=*R0!2DH%)9KVQTK9#QJ]'OIWJ/J]^36"![AHP*] M#4.FWH8HY/ZNX33>-Y[X>F.2#:O?B]D:%VA>XD=%*ZO0$O 0(\UE! I7=XV! M9+[;Y@'Y"7Z?"ET^A?V MN:S= '^KC0QS,'D0\BC[9:\Y$0< TE,-<'. >PQHGP"TLM#. >US M+7@YP#L7T,D!G93[C*R4Z3$SK-]3<@\JD29MR4=Z72F:".91DED+H^B4$\[T MY](@>/ 5AH/O@_EH HMOD\DSC!YFCP_SR?QY04%F.X M^'()7X!',.-"4)+HGF7(H42MY>?&AYEQ]X3Q%LQD9#8:)E& 005^7(^_J<%; M1$3!AOO.QM"M5;C N DM^PIKPOD]ZY/?LSZMAX_1)[A3!?_$ M9:O(K%:JKWU"WTNTI,3 )[01[YC2X'Z"D9;I3 R5;F2J;M)U24%<=?O-CL] M:W=(X!DRT[+,==,M9#[%TBYB:?^/6.CMP.0UIAI))T;"$F&8B;$H *IU(CNB M-S+'5P//>Q0[S'.VBH',"2K3'ZX[)0K.$9IF0MZ!S D&O((!KY:!,5+C\CE+ MVL$5T$I@UADHTD$HE>'_YF=S&<5*!EL_6SY+PT15L%Y5'-[G.$9>Z2Z=YO41 M(16*VLWN9Z%))M0YD/&J">D4A'1J";D/8\85]5@#<@5K*8,]W7U5H)W27=A' M$71*SMG5SET7SEW7.C?P?VVYHM2;\H@;_"JH>P=P'QD6K3DE+PRT1D,I_"/M MO'0VV*&B20)>-*ZV K[S%<+%7\C4954=J[?NP1L!-70AS,JSXT+ WG1-4>D6 M@77K SM(M83WBI!.)ERWG"?V<9Z,NJ6$LYNMH^LJR[C'B3OIEJ[4J;[2FR+R MF_H'.+V'9]14<>AJXS3O_IYAN$3U3PVOCOTQ!]BU^D?4P8W*7FU2L1Z57"O4 M1.@?2NKJYFZ7B2@]X?%94M,**:?;O#GBS#H8=$)4ZW0DU>#+;62RSE3L%F/O M(!WVCO:'SNW(J=@?.[>3;*C]4)_-V#.FUCS2('!%INSF-3UHE8VMV<+(.!VS MEM+0T)9^;FC41Y4(T/E*TJB5+Q(#Q3\/_?\ 4$L#!!0 ( (F":5,6])]# MFP, \- 9 >&PO=V]R:W-H965TPFL2I[<"TOW[M)!,R8%*ZX@7L MY)[K0$G'#V MR#F050E*$]MUG-!."33:F YFA$DL)0Z!5%_.QA!DNA,BL>/.JG5K*F![?%+]H>R>%7,@@@8 ML>1ONI+;@15;: 5K4B3R*]M_A+J@0.=;LD24OVA?QSH66A9"LK0&*P8IS:I_ M\EP+T0)@_PS K0'NI0"O!GAEH16SLJPQD638YVR/N(Y6V?2@U*9$JVIHIA_C M3')UERJ<'#XQ"2A ']#]W>>[I]$$S3Y.)G,T^O(X_?(T>9K/U*TI5[N&RY^( M9"LT^5'07#U'B=Z.01*:B'8?>()JA^9850L6*OBT51;V0O:SI MW%=TW#-T9I#?(,]YCUS'Q0;XJ!L^AJ6"XQ+NO(;;2IA&';=1QRWS^6?RO:H< M7BI_CS:<"6-U5;JP3*=/T&X817&DJ.S:11BB@L"+FJA77+V&J]?)]3,(<:N. MQ;)(BX1(6*G=K$[VDI+JO*@*2,JXI+_*"R;VU0)!B]<'WW'\WA%]0Y@7NKW MS-]O^/N=_.=,DL3$RC]9SHMBO3M>D3)$]5S?-7,*&DY!)Z<12_-" F_M^G\> M(5T _[=C=X5-]O"ZNRL\J1'C" ='2IBB@OC,TXD:KE$GUQE;RSWA4')M)F/8 MJ1=!)]Z1.J:@ )O%Z35,>YU,'PJ>45G4ZCS0 M9SV^2 OL''S:N:X:=;YVI6[@'&\6<]09*\*MMPK^C1FI5^N6)2OT*YDB!V_&5S;G.E^[UM ],6=C5'#F^."#.^/?V#-9,$XDXQ7?.0CY9ZZ"#T:* MNYWTSX4QF&<8G ACB#I[=/#!8G&WQ_X/)0X&BZ_LL/C4/%T_#D].C2$L=+!S M1HN#R>)NEQVQ3$A>5!VNZJ04_XURDLL.SL%7\96-M<[7;EAJV*UN57\J/!*^H9E ":P5SKF)E*R\ZKZKB61YV< NF%3M<#G&PO=V]R:W-H965T[,W:@6\DGEB!I> M"\;5V,NU+J]\7VUR+(@Z%R5R<[,5LB#:;&7FJU(B29U3P?PP"(9^02CW)B-W MMI*3D:@THQQ7$E15%$2^S9")>NSUO-W!/U>SH;5W!M\HUFIO#3:3M1!/=G.;CKW B'#C;8*Q'Q>,$;& MK)#!>&XUO2ZD==Q?[]0_N]Q-+FNB,!;L.TUU/O8^>9#BEE1,WXOZ!MM\(JNW M$4RY7ZA;V\"#3:6T*%IG0U!0WGS):UN'/8>P]XY#V#J$CKL)Y"BOB2:3D10U M2&MMU.S"I>J\#1SE]E$2++U=UR MOGQ(S%6<$YXA4 XQD?*-\@RFA:BX!K&%+T*D-64,3J]1$\K4&9Q8TX=<5(KP M5(U\;3AM-'_3,LT:IO =IDM8"*YS!7.>8OJ[OV_RZY(,=TG.PJ.""9;GT \^ M0!B$OD/\^=VMZ>]LT-4C7RT1S487AYF&G9,PW\M#?+T M>%&&!XK2#Z(_ /R]SBM09FZ^*-C8%VZ:L#OM1MBTZ=Q?YLW\6Q!I7DL!PZUQ M#&PO=V]R:W-H965T.V'%*UKE3$CO(=<=.0J)T-)_EW]WR^8SM91RE M])8#L4\2PE\N:,P.YR,X>OWB6[39RNP+9S[;D0V]H_+[[I:K.Z>,LHX2FHJ( MI8#3Q_/1 GY>>N/,(;?X/:('4;D&V50>&/N1W5ROST=NIHC&-)19"*(^GNB2 MQG$62>GXIP@Z*L?,'*O7K]%_R2>O)O- !%VR^(]H+;?GHV $UO21[&/YC1V^ MT&)"?A8O9+'(?X-#8>N.0+@7DB6%LU*01.GQDSP7B:@X(+_# 14.Z,0!>AT. MN'# ^42/RO)I71))YC/.#H!GUBI:=I'G)O=6LXG2[,]X)[EZ&BD_.5\Q28$/ MSL#%XK?%:GD%[KY<7=V#Y=>;VZ^KJ]7]G7ITG4J2;J*'F(*%$%0*\/Z22A+% MXH-Z^OWN$KQ_]P&\ U$*[K=L+TBZ%C-'*G79&$Y8*+DX*D$=2J;@AJ5R*\!5 MNJ;KNK^C9E5.#;U.[0(9 ][1W2> W8\ N0BVZ%F:W2]IJ-QA[NX:Y. RTSB/ MYW7$6R2,R^A?DJ_>6\HCM@;O_Z2$?VC+E3F6#UZ4HP !2(XY@PBLR8LPR/1* MF9Y99ACNDWU,)%V#JN0VD<=(XSQ2QHNG^1GR88!FSE,USVUF: +]TJPFU"^% M^D:A*\6X)>'\)4HWF=)]*MLT'H/XE<%AX$U@^]CCQ?.1/B=/2/X)Y) M$K>)&#=$>!,4!"=YZK.J29V44B=#TV00.FE(0 BZXQ.A+5:>/\'M0H-2:& 4 M>JVJ@K.0JL1^HT(M[W +%$G )7U2+YN=>G5(\-<-31XH_]NPSJ?E<-.>XBSJJM$6B5Z,R05H:H2SOP@<$^5MIGA:4>M09@T#TV!"9EFL/0#.("N*K8 M[FFX35G,-B\@[^_MZ*,)#,T(MJ?/M%DNKOHYK9<6$-?,ZFVD)C$RDW@(?XI0 M-;# \=@_[8E:[;QIT %+I)&.S$BW)% 1I9I2B+%WVI*@)M&A[\*.5SW22$=F MI-NLL6$@0IK1Z"T;\9Y@7F_A(0UF9 :S;5+L<80TG=%;TKDGV+0_*1K/R(SG M>T[6-"'\A\B[P?P6K$A"K6"$-(^1&:'6,"KBU"K'GS8*I]DCUZSJ*C6;D9G- M@U 4-!$S"4Z;UU:K2L=?%ZK9CLQLM\50D^Q!A2Z%Q";7@REJ5X@UU;&9ZA8+ M:QB!L&8T-C-ZX%: .1CJ+3:LL8S-6+;,B3V <&5WY$VW1\S!+/HAK+&,S5B^ M5=66VO4^6/,6FQ%IC9LB3@TW0:/UP6W;'%V=#];PQ6;X#L$-;FY?J,X'-Y2V MFG5*U?S&@_)Z9N*V)< >)9[&J_>6>.T)9H$23_/5,_-UQ=*0)3LJ*5AL.*6)+5@\S5'O M+3G:$PSWS[VRKVS&J#7QO.9^<=#XQZ0P\CN,ZAHUE;V>+GC(YG<3N6>HL3?8 M:N5UZ-1<]LQ-I7?EH=[ MB_Q(R]'FQY/!&\(W42I 3!^5J_MIHG+#CX=MQQO)=OEYU0.3DB7YY9:J1H1G M!NKY(V/R]28;H#SRG/\/4$L#!!0 ( (F":5-SH!-NI@( <' 9 M>&PO=V]R:W-H965T#DFQQB?JQ7$C3\QN5 M#2V0*RHX2,R&WKAS-4GM>K?@)\6].FB#S60EQ)/MW&R&7F -(<.UM@K$?)YQ MBHQ9(6/C=ZWI-4@;>-A^4__FYK(C"J6"_Z$;G0Z_OP08SLF/Z7NR_8YU/ M9/76@BGW"_MZ;>#!>J>T*.I@XZ"@O/J2EWH?#@+"S@C07&B&"KS 9_QC/IS-8?I_-'F!Z M=[NXF\_F#TLS->9\1QB,"R$U_4/<;HH,;C;(-E^^O:XZ3R&'[@<8GE)72#+Q &8>=Q>0WG M9Q?_JO@FZR;UL$D]=++=DZD31O@:8>FJ8"J*4G"3FOK_U#]QV6U<=IW+W@<=VS^XU^P3<4ODEG(%##,3%UPFQKNLKMVJHT7I MKKJ5T.;B=,WY;2P<.[,=6J3]^%T[(>I86TU[B;_N M.??^*JW;"-.D M9BO,T#[5]YI68<]2\ JEX4J"QN4TN!QG:++\4T MB)P@%)A;Q\!H>,$9"N&(2,;/CC/H4SK@]OR-_<;73K4LF,&9$C]X8L$?9!K3]C5X\7F"MA_!?6;>QY%$#>&*NJ#DP**B[;D6TZ'[8 \60/(.X M\;\"AAU@Z MME?FRYLRR--%J#=I%$YN;>&\\FJKATMUB9C6=#!G6 M9S",3B&.XL%3-H?CHQ.!Y/P.JMEAJCGF1#7P5-%^JI \Z(V(>R-BSST\9,2C M@ALNF<+;C@ M]O44+BO5D#[:FG33K:4#@;1'K'C7NSXO\7. M&JWI)G=)&?\MY7STWMD=09_BR3N]X58;NB?P*],K+@W=Z))@T=DYL>CV66D7 M5M6^,Q?*4I_[:4DO,6H70.=+13]EMW#-WK_MZ6]02P,$% @ B8)I4^T5 MC4>( P !PP !D !X;"]W;W)K&ULI59MC]HX M$/XK5M1*K'3=O =8 =(N 5VEZW6U=*_J1T,&8C6)J6U@]]_?V,FF$$)VVWX! MVYEGQL_C\7A&!RZ^RQ1 D:<\*^382I7:WMBV7*604WG-MU#@ES47.54X%1M; M;@70Q(#RS/8<)[)SR@IK,C)K]V(RXCN5L0+N!9&[/*?B^0XR?AA;KO6R\, V MJ=(+]F2TI1M8@'KYX8[ M?66)2L?6P"()K.DN4P_\\#=4?$+M;\4S:7[)H;)U+++:2<7S"HP[R%E1_M.G M2H@!X4&3* MI2*]&!1EF;S"Y<=%3'KOKL@[P@KR)>4[28M$CFR%F]"N[%45\*X,Z%T(Z)-/ MO%"I)+,B@:0%'W?CAQUX&\G7"G@O"MQYG0X7L+TFOO,7\1S/;=G/].UPIXW. MGT6?_5GT>3<\AA7"W3;XB99^G4V^\>>_FDTZB>2%;.H(%-2! A,HN!#H\Q8$ M5:S8D,P$@">LM!+:TK%T%!E'NLSN)T$P&-G[XR-NL0G#4YOXW,8-W/ZIT:S% MR(^\VNB$:UAS#3NY+E(NU <%(J_(XL4C>RH8769PRI_TW*LV#)'*\AP;E-X+CM"D2U E&G E^XHMGK)QV=B1\%08/EN4TX:#"( MSVT\QQTV:$;G +[8F"798^ 3A M]0UX^/Q8?I:DA[7Y&:C BMW[AO^MR="]AZATT%;)?A^L+FO;>/ M&I4O,D-4\):S0HZ=3*GRRG7E,L. M8J%74BYRHO14K%U9"B0K&Y0S-_"\R,T)+9S)R-Z;B,['S>>Z#I3YH8[&95DC7-4+^5,Z)G;9EG1' M)>0$"T[%S[5_=^#; M[OA)<2MWQF"L+#A_-9.'U=CQC")DN%0F!=&7#=XB8R:3UO&[2>JT3!.X._[( M_M6:UV861.(M9[_H2F5C)W%@A2FIF'KBVV_8&!J8?$O.I/V%;;/7"1J$I0]0X\A1\E"J)HL88I:NLPI61! M&544)?3N4!'*Y#F< 2W@.>.5),5*CERE=9GL[K+1<%-K" YHF&-Y":'W!0(O M\%_F=] [._\WBZM=M=:"UEI@TX8GK1GM\G^L'5$1MBI"JZ)_0(7Q!#V!ID(, M364"$7)>J.QS_OI9U>DBF\[4U&;2C^.1N^G0T&\U]$]I"+I0==1@!^7'W@'6 MH&4-3K'"+M9@GQ4FPVY6U+*B4ZQ^%RO:9WEQV,V*6U9\BC7H8L4=K"3I9B4M M*SG%BD#7DGY94+?:5*'H0B=[Z"#V#M@##/2E)/SSP)OG>W][D'14S12FOX*'0_E$JZ 6=!=,DV85?^/XP M.D#?Z8S^4?I,0[5?V!!6H6D91Y\*5,4*!?"VK=3+;+>MA-WZ_;V*CX.^_TF^ MN]/CS7GY2,2:%E)C4AWF7<;:OZB/H'JB>&G;_H(K?8C88::/;11F@UY/N>Z/ MS<2<).V'P.0/4$L#!!0 ( (F":5,'4-%W0P0 #P/ 9 >&PO=V]R M:W-H965T0Z*X2(B$S7GO@KY^2ST#R'=\XK!3>V-BKG(OQ(.97 7G/=LP@@A\;40P M_'N$.421D80\OI1">]69!K@__B;]37YYO,P]4S 7T1\\T.%YS^N1 #8LB_2- MV+V#\D)#(\\7D(GRDMXA*,#&*>%/_L:ZF(/0!U6P!."7".!0Q* MP.!8@%L"W&,!PQ(P/!8P*@&C?P,&+8!Q"1CGQBJTFYMFP32;3:78$6EVHS0S MR.V;H]$B/#&NN-82OW+$Z=D'H8&,R2]D??MQ_NN[C[\MEC=KLOS][NKV,SE9 M@&8\4J?X_6Z](">O3LDK8A$5,@F*\(3<)5RK,US$\6TH,L620$TMCLM? ?FFY9R!WE&^@,*CJ#3CJWF%Y5)I^* M8\_()Q9E<$8N_"\9EQ"<(2NER37H4 1-AA\A5VN G&#D%?%XVN0\ MA?3AG@+&WLBV[685C"I6HQ]@M6>.BT>06,$*LZQ %GQSDH&((B8527$U)]S( MMSC7V^-+G;[;8K%Q17?\DE[T=GS@11.O385>Q M:+* 1^S=4^S$-<%&AZQ9A&W0+?AA(B*Q1:<0468Z;'5,\-*Z!M#N(E"HT11C MM.(BDSS9E@JL0_D#=OWY#O5,,%_2PYHP&-BCB>.VF+NN"K2[+!1<2J)H8\G1 MLC\1O9?E.93NA^^D/[:]EGZ"UJ6 =M>"GVYP+NEA&1@-G=8@J0L![:X$*_9D M/$H9#K6E-P-=".3&/C^K!//L'4$L#!!0 ( (F":5/N M("W:90< ,8I 9 >&PO=V]R:W-H965T$VGY"'^:CY@X:\56)K9+/-^F'F!D>MPXA5^^ M6D@JA!+?;;+T$\= 0GFF])<\&4Z.&X;TB#ADS*4)+'X6I$\<1UH2?ORKC#;B M9TK%Y/':^D4(7H!YQC[I4^>'/>&SXT:W 29DB@.'W]/E%5& VM+>F#I^^!\L ME:S1 ./ Y]15RL(#U_:B7_RJ I%0@%:! E(*Z(T"*GJ"J13,ND^PE(+U5J%; MH-!6"NTW"N9A@4)'*73>8BA2.%0*AW6?T%4*W;H*/:70JQM6:*Q'SJBM$@]V ME'11EH0I=HXY/CEB= F8E!?VY$&8IZ&^R"S;DU/J@3-QUQ9Z_.26<@*ZX#,8 MW(R^W?T<#,#9X'9P,7P$HV^GMP_BQAV?$0;VS@G'MN/O@T^@!?P99L0'M@>> M/)O[!^*B.'Z$\#V 4 &@CGJ_7+U M6[H0ZAVI#F'D7(Z1\RH?G"8PH31BY/DPV$#=YL3-,7%1;N*!S(4)(XK"T\,Y MV/NTK\-=B.NROE5#62VT=;45#X>;>UC#ZG6YU7,RU@-2:.1K;2/(R#/2$A,N MGG4HGG4HM&H5 9:&/LM6, %]ZHK^Z..PPYPRAKT7(GH6!\\KD)0;X55X^72) MV>0@^@'?B<]M[P6,"+/I!.S]))CMYPUKN3\66 G%,F1FC,S<-K*[N500147T MS"FQ>:!*S1JC.(P&(A=HY%X[=$_RB<6):1C&46N1 \J*05D[ W47<)^+(BE& M[0#[$J#NU4<=H-& Q:UT:B&M]/+_2 ;C)SS:9AO4%7)97ROAM[W]U9W@Y>"1O;/DFE[M#CS!8K MDC'XCIV % S_53=O8 I&IA=CZ^T,FVP\XG8"V 6V63FF7F:ZP2)(T-#\U?C8 ME(MTL %[]P]/8LU3)WDTF8#UV<1.DL?*YL4AS*9/ ME5@:KB8"L#X3V'D"E;NF$DBL?UWJ\9D/( (3O"K-*$T%8#D7&+ASAZX(4?DT M"MAX)H( 1H+CU4HHW7!AC8[[L;I^@U]M-W"!=CIX]L?,CFKG/>8D=SU=[AG/%=&QT.X=;[^=ZY$).0Z?2D$B8:&##K!P+\=P E3O7;5?AU*T= M;K^W3Z=B?L6+R=Q-G'(GD*4F4NZ8OTLWO;S6K #59P7O#$>T-I/#K1,@JC^_ M0<'VSD!YE5I,Y==/I+D&JN :8?D8^GX@?#P/$B-T$+DOF69)K:E<)ZGG)YW. M+A,O\Z3,[*(S1PP:67/#/+EN\4H=)796RDE!:=G]$>ZPRTZS( R_D)RY'84T MOC%YYQKF2KF97)[TFFW42_Z]C4F>"H3Y*NGP:)Z#ZN_/[()\*'?>D-),UE1( MI<%JIH5VQK0VIAX5KL&0>H!>C:*GF1;:^I[+X'5NLTBI:DOQK,(;:%32_8KO*G1/4U-#,RM$X/-NF>_PJ$:[QLU-3!K4 -!V!E9V#3PG=5ZK?3D M341-X#,2O@"NW49-W;;-K>^[O+^-7BOG4F6H=+)J>F"6TX/A^<-6IZ1NY^;6 M-S4VF)+7%=[4F)*6;NG6UC77(A5 M)\XZ!LJ_7\<)@71#H _M%T@$8VX%[NHAD/F -!RE9X!3EG^E$J#NK8@EIC$E&>0("YY?& ME7,1.'X.T#,>**ZSO6O(2WGD_"F_N0DO#3O/"!G.9$Y!U-\*Q\A8SJ3R^*LO^51>OBGDD&8XY^TE#&5T:/0-"G),ED_=\_0>6!75ROAEGF?Z% M=3G7-F"VS"2/2[#*(*9)\4^>2R'V $[W , M >X+@-LY /!*@'=J!+\$^*=& MZ)0 7;I5U*Z%NR:2# >"KT'DLQ5;?J'5UVBE%TWRA3*50CVE"B>'=UPB]. + M!+>3;]]_!0&,@KO@Z\T/F'R[NINJ!U/)9T_P/)I M/O\ 7Q"GC&\0RS4Q68I9I#8I3!A)X*];C!]1_-T2QZ_B^.UQGE/E(Q@"HW.$ M,YK !HE0B^OLE_K_U+2LV@D=30 >Q'IU-+V(]Q($[R"HB=2I1.JT,CYPIO8A MHW+3I$<[UN^9MOU[DPSM.,\WW4X3+G@]KE9TMRJZVTIT3[.G+W.AEB!-)"J+ MD2"(Q"8%VHELTW$:!6B'.:;O-=;_:EBM_/.J_//3-D9(5S3$I,DA1^T4]J$W M_S98\&I8K?!>57BOE>>G_N"KPLD*A3K P)Q0 2OU+4+@*#U6CHQ0)]71"^7%K->R:Y\J$5_NB_7>2 M;_:\^J3@R*2:(/U*D'ZK(#_6F,@-! Q7F)1^?)/,U* Z=YULR(Z].R;8'VS) MXR.,?L$ G=(2P7$A))M&;_T0JGKE>P0$ QP?X3AH9:_'U:O8'6^<]L/ M_^]FXS*CNIWUW1=.U3"K8YYW7EB5M==NQ"@6NL_+8,:7B2P.D]5HU4M>Z0[J MQ?C(N1@[#>/7>>^IVYL=?=&XWA*QH*K?8#A7H6R5FU&HM+V1/-7-SB.7JG72 MEY'JGU'D$]3S.5<-3WF3!Z@Z\N&_4$L#!!0 ( (F":5-K>P4Q10, (X* M 9 >&PO=V]R:W-H965T39MIK92'P$FL5&M&P@A/GC);6,ML8OMKH-?C^UDH4VRJH)]:?PXYUZ?4S_N M<,?XO<@ )'HL& 4T,J&C&%GP\9%N9$PH+CL2V*##_-86<[4:6:ST-7)-U)O6 /1YN\!J6 M(&\W"ZYZ=ATE)05001A%'%8C:^*>QY'&&\ 7 CNQUT9:R1UC][ISD8XL1R\( M M)TO)U2Q1/#F^8A+0 +U#\>7BT^=O<8RF\57\_N(&+3Y-KI9J8I+G+,'F7V4K M= T)6U/R&U*T $Y8BF9,2(%>ST%BDHLWBG&[G*/7K]Z@5XA0=).QK< T%4-; MJO7JK'92K6U:KLU[9FT^NF149@+%-(6T@S\_SH^.\&WE4VV6]V36U#L:< F; M,^0[;Y'G>&['>F:GTYTN.?^7/?[G[ =F^/7.\4V\X+EXDB7W[_0A35'""G5Q MB7*7P*-N0^WL*PW[#JED;TX^: M=K8Q[B!L@.(VR.L-O&X[PUIU>%3U-0C /,F0NB/0'![4R[51[Y!$<:GZ%(?[ M=:[^RSO<;SOC15'#X@Z0&PP:'K=!@>,V-G_/<>#U)U7-"A.18/]5/=I^THZ,Z;_3R?D>M,^OZ4>-@SSI ;N0U_&Z# M_-!Q&WYW@+R!V_#;WGM@"^!K4]D(I6E+97ECUJ-U\30Q-4-C?.J>S]R.\;DJ MMLK:Z&_XLE*[Q'Q-J$ YK%0JYZROM@8OJY^R(]G&/.]W3*IBP30S53 "UP U MOV+JB:\Z.D%=@H[_ %!+ P04 " ")@FE3Q[?2MD7+=D_[T4T&L)K$.=M D>['GYV$A(20P&K[!6)G7IYG//9,/-PR_B96 M !*]!WXH[EHK*://AB'<%01$M%D$H7JS8#P@4@WYTA 1!^+%2H%OX$[',0)" MP]9H&,_-^&C(UM*G(&7O3@Z_>7:NC$8$/ MKM0FB/K;P 1\7UM2./Y-C;8RGUKQ\'EO_4M,7I%Y)0(FS/^'>G)UU^JWD <+ MLO;E=[;]&U)"MK;G,E_$OVB;RG9:R%T+R8)462$(:)C\D_HYTU 6ZUV&GN'T 2 MZHL;=(4,)%:$@T T1"\AE>+V8.+'BJT%"3TU>548#PVI"&@8AIN"'2=@\0FP M%GIDH5P)- T]\"KT)_7Z@QI]0P4NBQ[>1V^,:PW.(6HCJW.+< >;+_,'='UU MDXM%L!;V=);L1NK<>F#R&<[ #2&$!94HIE/U%(W+WT-B&X&HAN# MZ)X \;R60JILH.'R%KW"DH:A>E0[4T%P 5VKA$D(WU3%,;%MQ[;U@;49=6UG M:&PJ -D9(+L6T%^&\ESGOU3J?Z.7PFWWWCGU;U9[[F>=^ ^V(\F;'_6/'W6K'@\SQX/S4 MA/C_S+P<#X[ X/Z@E!_U,@7$9B<_S3NUF'^"T,FK4"-XCU2I5 /)T$9--V%. M+1\]1J$BBAQCA*?GP_;N#_0H=X M5_V."G>R.U'$J0NGSC*/^3[A D7 $Y8WZ+^# EI9TA)4_0,R9J<]L$_0R4]_ MTSKO.&DD\]O($P F/H#>:_=/ ,\KAEE?,O9'T1[%2@OWQU^KKJ0X&K;\PU\='U+R"\LNEH<&:A'>CP6"A(OCO,/O+( MKJYYQWFIQ[]=ZL]F)H$'-?0:$)3IU='*>P%\=B_PQVC4>\0I#7N_2MW&1/8ZO/2CWG$U2"73CX*8F M +Z,+["$2N9U*)-+FVPVNR2[CZ^&C%P\N6%[)%QUF +YL%"JG79/18TGEU;) M0+(HOO=Y95*R('Y< ?& :P'U?L&8W ^T@^SJ&PO=V]R:W-H965T?':>!BH#8 M0Z6])+Z=OW_GY-@YW347SS)!5/"2I4SVG$2IQ;GKRBC!C,@:7R#3,S,N,J)T M5\Q=N1!(XMPH2]W \UIN1BAS^MU\;"SZ7;Y4*64X%B"764;$ZP!3ONXYOO,V M<$_GB3(#;K^[('.FG#^;SDW<U,U,B M\9*GWVFLDIX3.A#CC"Q3=<_77[%PJ>(I[*_ GK8JWG0+24BF>%L2;(*+-O M\E($8LN@OL\@* SR0+AVHYSRBBC2[PJ^!F%6:S73R%W-K34<9>:K3)30LU3; MJ?X=5P@A?(;A:'S[[<=P"(/AW?#ZY@'&MQ=W$SUQQ]D*I<(8[O5+T,@T)XI' MS_#(J))P80)+U2N<7*$B-)6GVFK/VI/[R:.>_SG";(KB%\B$")1 &3PD?"D) MBV775=HO0^=&A0\#ZT.PQX<.C#A3B80ABS%^;^_J>)1!"=Z",@@."DYP48.Z M=P:!%_B?P"TP[?. ?KT,>CW7;^P->A'2,QB0E+ (X42'P.J?PA^HVLF"6^%F M+FQ.W*KOMQOMKKNJP&F4.(V#.%\$8>9#'*UBY%Z%=#M$N(]D=E1GLW,SK[<,(2)SP6 M9YW?;SHZ9(5"W]KV:OE/2=X[)ZX]FMQ!^L T?UAI!-;SO;6YF[X@S\='T!<1[_%;-"_?@ M;_U8_./.TX=[X%=Z$#;W>!!L/ C^C^PO.-ZE?WLW_=VMWWR&8IX7,Q(BOF3* M_O'+T;)@NK!EPF:YK;9&1,PIDY#B3)MZM;:^-X0M8&Q'\45>-$RYTB5(WDQT MT8?"+-#S,ZX+AZ)C-BC+R/Y?4$L#!!0 ( (F":5-%Q)'G#P0 )L. 9 M >&PO=V]R:W-H965T/Z3E'/*;W$/$6AN12@<''5&GJ74R^P@,SB.\>MWFF#I?(DY4_;F<57+==F MA E&QKI@]/>,UY@DUA/E\4_AM%7&M,#=]JOW:4:>R#PQC=;O_$@E#;^HMDHK-?V!:V;@NBC38R+<"40BD+L ,A//< O M /Y[0'@ $!2 X-@(80$(CXW0+@#M8P&= M#):I\7*ZOTF!DVZ"NY!66MR9MM M9,N5H:G 7%AES8VB64XX,[B5!J$'7V%V>_W7S00>AG]/YG R1L-XHD]IXG$^ MAI,OI_ %N("'E=QH)F+==PQ%MSZB3YOA8XP([M7! M]VH9E#(*,G]!DXP>)$RY8"+B+(&Y809I"S)0: D>\,5L6-(0+2RCA5FT\$"T MF8AH%]5H=9JW3JTX:5BFE 9[P3I]CG.GG$\Z5V:ZFXG;*3'+Y56V^]@)WWVA<-?+:86_? M:%+C*?3<7CWS3LF\T\A\LEA@=BSLU!WN:='A'B-)(D@XLX?'&=RABD@(A\LQ M;H[D^>>N^T?=-]*,.PFZ%GC:H+AN2;;;Z.I1*"*U%/Q?C#.BQ1KK,[L=<;&$ M$4M(^5BWV+GK]NX:A;O"RVO0K:YDU6I:9Q4<$O%%R>[B<^S K)B!'W*3Q#!+ MUW0-@+=E?UWO.LH75^G>;N_\[,;J7?)$GZ 54*WSA[HD_9 M6M>>^6Z%1U7:'QCM<]VYN7B?5.U,T*&S0*6*B:'6:.K3]ZH:]"^J!#XRVZ?@ MOU'P&RG49'D&WUFRR79.&"9T\;>[2H/8B@B[J84UW]IQ9M,/S?:)OET/O*"1 MZ"V]D>)7LH;(LL-+$E2WN&[XGLX11M,:(S]\?^HY.W?G%-4R>^5HB.1&F/S^ M4XZ6+ZEA]GYX-S[R+J^]FO&Q=SG)WTEO[O-GVPU32RXT)+B@4.YYE\JN\I=0 MWC%RG=W&ULK59A M<]HX$/TK.YY\2&::V-C&D PP$\ WO9FVQX3F[K."!=94EJ@D0OOO;R4[KB$* MQ[7]@JWU>ZM]C[6\H[U47W1)J8%O%1=Z')3&;._"4*]*6A%]([=4X).U5!4Q MN%2;4&\5)84C53R,HR@+*\)$,!FYV$)-1G)G.!-TH4#OJHJH[U/*Y7X<](*7 MP /;E,8&PLEH2S9T2<> MK)(G*;_8Q9_%.(AL0933E;$9"%Z>Z8QR;A-A&5^;G$&[I25V[U^R_^&THY8G MHNE,\G]88)^T_E&G*B!!,;#0NJ8%D21>%R3@UA7%\A^G$YA\N+*[B $+1]JH$) M>!3,Z'>=P.=2[C01!08O#M:CT* D6UBX:LJ?UN7';Y2?P$P-)] [B*.YYZIF=3X]\T)^OSY#I. MH\$H?.[^=3[4($D/47,/JI>FP^$A+/? LMO>CV0'&ONMQOY)C5.BV0KV[G2D MQ35YI@H/^Y=7#S\3VN![AB;#);YW=?C*9TB]3;]373*(;4L=&.)!]=/![9$A MOEQ1=F1N[D$EV6WF]R-K_R MAZWLX5F-<+[PX5G"_:ACX5[4*^%>U"OA8>=;7U&U<4.6AI7<"5.?S&VTG>/N MW?AR%)_V[F8]3WR.4[4V0<<%0$ MI8GI6-; 3#&AQG10L/W$L(TWPYKL8JD-YG2< MX1T$(!^S%5<[LT:)2 I4$$81A^W$F-DWOJ?]"X?O!/;B8(TTDPUC3WKS-9H8 MEBX($@BE1L#J]0P+2!(-I,KX76$:=4H=>+A^0_]<<%=<-EC @B4_2"3CB3$R M4 1;G"=RS?9?H.+3UW@A2T3Q1/O*US)0F O)TBI859 26K[Q2Z7#08#"Z0YP MJ@"G&=![)\"M MQS,_2J@-ZY&?I50$'=++D7PBVQQ-,Q9WO$M;="TXM"_2): MZ46H[I- '6W>(6>+UW\([;01RT@SKU\OPONLZ\1.T7J/KF>I[:UM = MF\^'0G8X]4>]8Z=EAY/M-9#\#B?7&=5.1]1[-?7>2>J!9G>E[Z0(K?"KNBHE MFG&.Z0[T^A+=9\7-]_,6T@WP7R?4[MP6HY%WE/(Q57Z-5 M@L_J7Z_.XWV(OEZ[IQJMN6B[V%ZS?3M\&@?@=[D,&N*:!S_7%/BNF&H$"EE. M97ESUM9Z<)H5\T+#/K=O%G:'?:D&K7(N^@M?3FFWF.\(%2B!K4IE70]5I;R< M?,J-9%GQ:]\PJ0:%8AFK81&X=E#?MTS]WJN-3E"/G],_4$L#!!0 ( (F" M:5/*TLD6/ ( /D$ 9 >&PO=V]R:W-H965T6JG=0(!MNX)(P-YXX")@VV>3#(FUCIW:DX7^?6TGI%1B:5]B MCSUSSIG)C(<'I5]-CDAP+(0THR G*N_"T"0Y%LSE@S;.Y[)C!J1(_>$KY*/@: M0(I[5@E:J\,S-OEX@8D2QG_A4/O>]@-(*D.J:(*M@H++>F7'I@YG 1;G=TWD5=XS8O%0JP-HYVW1W,:GZJ.M."[=3]F0MK?E@^K<>KY]D49HO'Y7H^WLZ6"^NUI!PU?+A'8ER8C\.0K @' M%28-X:0FC-XA_ 9S)2DW\"!33/^.#ZWX-H/HE,$DN@JXP?(&>IU/$'6B[A6\ M7EN1GL?K7:O(5L$CETPFG G8$".TC4C0I U;/%+%Q!6V?LO6]VS]]]BJ8F<+ MJO:P+%$SXC*##6:.S5PJ;HTV\&ANX-YBF_/;!0L#@/P6LL52:V$[@506# M?RH(S]JQ0)WYH3.0J$I2W9GM:3O7X[J=_[C7C\*+?4$L#!!0 ( (F":5._ M+B/P9 , D/ 9 >&PO=V]R:W-H965T':0\F7"!K$C/;E%;:CY_MA(1V(8D& M+Q [.>?>>WPYX7;WE#WQ#8! +V$0\9ZQ$6+;,4WN;2 DO$:W$,D[*\I"(N22 MK4V^94"6&A0&IFU9+3,D?F3TNWIOQOI=NA.!'\&,(;X+0\)>AQ#0?<_ QF%C M[J\W0FV8_>Z6K.$>Q.-VQN3*3%F6?@@1]VF$&*QZQ@!WQKBM /J);S[L^=$U M4J4L*'U2B]MES[!41A" )Q0%D5_/X$ 0*":9Q^^$U$AC*N#Q]8%]K(N7Q2P( M!X<&W_VEV/2,MH&6L"*[0,SI_BLD!345GT<#KC_1/GG6,I"WXX*&"5AF$/I1 M_$U>$B&. )(G'V G /L]H'$"4$\ ]:H1&@F@435",P$TWP-:)P"M!-#2VL=B M::5=(DB_R^@>,?6T9%,7^K@T6@KL1ZJS[@63=WV)$_T[*@!AC+X@Y_'^83H9 MS='@SD4WH^G-?##[>NN@V[OQ=#X9/-Q.[^13EQ7O31>=''Q7 7/ G'>? W6M;3KJYKOL8)OD.7#B'R M-M(QLTY#?[*&')SHOS;J O6[5>IOIR';Y]<_+.:PFR?Z MQBW&8;M$M^NTB.L+Z#:JHANVLC>7=;YR;@D)MDHDP$=O4EQ(-? \NHL$E^]( M#_QGL@C@_VT'VUE8^WP9QB4DN%4F0V:]N-A[J\I0R45P9K_X O[KEI#@,B/% MF9/B8BNM*H-328;,3?$%[-0M(XX.&??Q9U1/)5E M]/&0."%L[4<Q?%L]=\4+0K9X3%E1(:?7E1LZJP-0#\OZ*REDA M6:@ Z?3;_PM02P,$% @ B8)I4P]D,(!_! &A4 !D !X;"]W;W)K M&ULO5CMCZ(X'/Y7&K.7["9[ RVO3AP3!I@=-QDU MZNQ\N-P'1JN0 >I!'7>3^^.O(()"*<:;NR]*R_/\WGCHKW2P)\E;ZF-,P<\H MC-.[GD_I]E:2TJ6/(R^](5L9<-D(Z7;!'NKG!2%$I)E78J\(.X- M!_G<-!D.R(Z&08RG"4AW4>0EO^YQ2/9W/=@[3LR"C4^S"6DXV'H;/,?T>3M- MV$@JK:R"",=I0&*0X/5=SX*W+LH).>)'@/?IR37(4GDEY"T;C%9W/3F+"(=X M23,3'OM[QS8.P\P2B^.OPFBO])D13Z^/UA_RY%DRKUZ*;1*^!"OJW_7,'ECA MM;<+Z8SL'W&1D);96Y(PS7_!OL#*/;#(=3\/H+?,-DDWA;/U@"BXD4?'8P]8(P_<)PSW,'?/[T!7P" M00P6/MFE7KQ*!Q)E,6>>I641W_TA/M02GP*>2$S]%+CQ"J\X?$?,[POX$JM5 M63!T+-@]$AJHKVG:0'H_K18'I4"(SE%.$V5":*CG*+>)TC7=,$O468IJ MF:(J3/%$Y#:)ESBFB9:@.(5NHGB%;J($A=;+%'5ABN?535AU>P7QK'!&63CCOU8HN_D\'BU# MUR56*%<;#OE_D*O].!I;HGA.-D#P:J$6U%/AJ+)BUH3*0>F&:M24RD&Q-4"O MK=,N%\:V_7RM0E2EB3Y K1U&H-HFUPXBZK?IMNI>MJNE#<=<7BL!H M/%Y-A; N@B;*/%W;[DXSZ/J[E#<\CY&!#.< M4D#6@/H8O) D7%WR58"J9HK$S534O KJ62>!6GUO9'-@IE[_?' X*(0T5-<4 MSZ=AF"TK"ZJ:-!(WZ@$/II).SG@@G MF_R0+05+LHOIX<.]G"T/\JS\^*HV?P]O;SBFJ\P?3@V?O&03Q"D( M\9JYDF\,MAXGAX.XPX"2;7[2]$HH)5%^Z6-OA9,,P.ZO":''0>:@/ X=_@-0 M2P,$% @ B8)I4VXF &ULK57+3N,P%/V5JX@%2$#>&0:UE4I;H!)]J(]A,9J%F]PV$4Z< ML5T*?S^V$Z("I9H%F\;7ON?TG)/ZMK5C_$FDB!)>$ZD*OG&%B5'DAA03FW/<2([)UEA=5IF;\H[+;:5-"MPRD%L\YSP MUQND;->V7.MM8Y9M4JDW[$ZK)!N][D6Z MWS3\RG G]M:@G:P8>]+%,&E;CA:$%&.I&8AZ/&,/*=5$2L;?FM-JOE(#]]=O M[+?&N_*R(@)[C#YFB4S;UI4%":[)ELH9V]UC[2?4?#&CPGS"KNYU+(BW0K*\ M!BL%>5943_)2Y[ '<(,O %X-\/X7X-< WQBME!E;?2))I\79#KCN5FQZ8;(Q M:.4F*_1;G$NN3C.%DYTQDPBN"Q?06\X7D]%@!MUQ'^X&D[M9=WH_[,%P?#N9 MC;J+X62LNAY8L;F@*OD$ND*@%+!ZA3MD&T[*-(NAJWY*<-I'23(JSA1@.>_# MZ0F^X[D'X+WC\#[& M"NX:N/,>;JO(FMR\)C?/\ 5?\.WE0$P.YU"@/&2KXHD,C[Y3SYW #_RP93_O MJS_0%?YT@Z;KG4B_$>D?%;D<#Q>#/LP7W<5@?L1TT/ %WV2ZX@GW[;A7KOO! M]($N/XK\PZ;#1F1X5.0,A02V!IDB/#).$_@]PGR%_,^1!**&//JF!*)/+]2- MO.!# )^;/"]T/_BW]VZWGJPCPC=9(8#B6L&^+O0,:?XR.O\ 4$L#!!0 ( (F":5,"1F?7Z ( $4( M 9 >&PO=V]R:W-H965TI91X@&=@D7NN5$QJQN7%?/(TR8+LL5"MI92)4P0U.U=/5*(0M34,)= MW_,:;L)BX;2;Z=J#:C?EVO!8X(,"O4X2IGYWD!D9N^"VFRNV MQ F:Z>I!T&&PF,RF?[600MAS/ M!H0<6R(*XU?.Z10N+7!__,)^F^9.N3]WRS277Z2]L%,>R0-0L6'3W#;&8SAJ7,_#6 8=";3<3 ,1H\3VOEF(E10ZJ-A M,=>7< &Q@&',.9VT;KJ&PK!D[CQWVE?@>WYE.NE#Z>*RCRK>,%O$ Z&-6M/5, ="[9W/ M[.7,AQ+^;_$%_QK?&T&K15%54]K:$5JZPG1!!02[><3$$J%'!Z:H)\"/(28S M5#_A3UY5(RFHYRG*1"QA(.8R02@%.VJ#&B\+\Q,QU8J8:B=C>A7L"KY2_X32 MO=14S-2L]K=&:*[@41K&*<2+0\6=N6FD;FP7WK2]IKO9KXD/+?H?6@29Q?6^ M1=DO;-XH4"\4J']T*ENFPN(P]#GR-@KRQMGRCM:6%>0"7FM3PQWRD#0]LW"[ MF;OZ"1%/660YN'M],4&U3!\D#7.Y%B:KYF*U>/,Z::M_M]ZMW/0J!];[]$9F M3]HK??; #IE:QD(#QP6Y\LJ?*4Z5/5K9Q,A5VI5GTE"/3X<1O?.HK 'M+R1U MYGQB'13_'-I_ 5!+ P04 " ")@FE3_^!'=O@" "F"0 &0 'AL+W=O MYCV8. "5IV8V0ZTTG[\[)"FM(0,M7M)_''/]3DGSK5;&R&?U!)1PW/$ M8]5VEEJO+EU739<84541*XS-S%S(B&K3E0M7K23260J*N.M[7L.-*(N=3BL= M>Y"=ED@T9S$^2%!)%%'YFV>9 ML0ACQ40,$N=MITLN>\2W@#3BD>%&[;3!2ID(\60[M[.VXUE&R'&J;0IJ7FOL M(>MIVF S.:;"J[2)VRR6,^!::*TB#*P81"Q>/NFSYD1.P!2.P#P,X!_+*": :JIT"VS M5%:?:MII2;$!::---MM(O4G11@V+[6<,M32SS.!TYUYH!.+#-[CIW@[AL7LW MOH;!=3<<#Z\'U_>CT,Y0)N&1\@3/H:L4:@4#I"J1. /[)6"(TT1*%B_@BBJF MX+2/FC*NS@QX'/;A].0,3H#%,%J*1-%XIEJN-N0M!7>:$;W:$O4/$ UQ58&J M=PZ^YY,">*\I@9,4[KV'N\:RW#<_]\U/\]4.Y!L)37F1BBVLD<+L/[3N M$+_N50WE]2[;@K"J'P35/.P=JVK.JEK*:O=+W<:K1*MSN,,U'-C*C3V!=6-#\,&&_2C2](A?[,)%SO/BLR[ '_CB!FGF))K_ MSZSF46;M1Y68%>0\@U*>XQ!&,BUE+Q#:(L8TPZ.V#?'>"JQ7OD8EK+RM,F&< M%U<_;T]@(P@"_X,-!6&$U((F*3:"[)P#Y"M6?'WOD+?22LIKZ[&.[=?00L<* M2FV18^[.(6IO,.876K!8 <>Y 7J5"^.YW%X*MATM5NFY.A':G-)I&PO=V]R:W-H965T8 PP6F>A;U@363)E>0 ?U])=ER:$K]@K;Q[SMEC:1DQ\4SWJ;8;_FB0DSUN4+_D:VDBOT9):(9< M4<%!XF[HC5L/D[[-=PF_*![4V1IL)ULAWFRP2(9>8 4APUA;!&(>[SA%QBR0 MD?&[PO1J2EMXOOY ?W2]FUZV1.%4L%>:Z'3H??<@P1TIF'X6AY]8]=.U>+%@ MROW"HN55=MQ%%N/\I&2_.6FCH]6@F-T&K#-Y@^+9>+:#E?11L8KV8F7D6+ MU8_Y:KJ8;^!ZAII0IF[@"BB'*!6%(CQ1 U\;%1;+CRO&2@[+ MCH+W4:O5#H*!_WY!0J^6T&NV)96H4L$2R,G)69^CI"*Y)* 9*>Q YLY=@S'] M6E6_$6LG_9\9G(_RS.YNAW+O)I""VB.7UK7?KX3N&5J!CA*FV#>[X0YZU5@ M">J_A-$?4$L#!!0 ( (F":5.\<2 _,@, !04 - >&PON MP-T^IT/2C=^3P-&-5W=VUGF\N-GUGU? !0F]I%<' MD%YVX$*I'8PEB ]+L(\=H[X^B'H/,T;<8[1H*#&,"UO[:":7#E?0$%M/ZP* MJW"FZ:K;NR)M0'6S229*ITPW:;ID[1H-!,M CN:S.=R-*D( C5&Y-5).9TK2 M2L,ZHC8L[90)<0]/\_=LBWN9;>QL!_95-J855)N.Q@V ?Y/-<6_21J_B#0K^ MI,RGA5V.K,;0+NQ.LXPOJ_$R:P1@[%VGIL4#6YIU.RTS7'/O!#7_W3K/F&2:BDW1MO>/ MNC?4K^MA%7IV"R/@41)Y$3_9/061R_"*CX]08UH>, MC9/,UCFF\09P7AR2;W ^%6W28++@PG!9C^8\39E\<9RQ](9.[)\\6_QV?LHR MNA#FH0&'I+6_LI0O\J29=0>%J&>U]A=87C=N#JLV%YI(_&]-$8%^5# MQM4'R^./2>SE7VF21%$<8Q4=C[T*QEC=XAA^_&R8-HC \D"F/ZLUOMMXA^SO M VQ/]W4(ME*\$[&5XK4&Q%\WB$@2_VYC>2 "VP6L=R"_/P_TE#\FBF!7,6W8 M$XPC28(AT(O^'HUCI#HQ?/S[@STE490D?@0POX(HPA!X&G$$4P :,"2*JO?@ MSOLH7+^GPO;_@*-?4$L#!!0 ( (F":5.7BKL

-8?20$3; M8T.P6BP^0"X99K>]9!:GV<5G3B3- 0:($S/3N_?@NB:.Q>N;27F%/ (/)1V/69,I_>Z^;;:UU_ M(S^.9=5.K8,0;X^C4;L]\&/>_EZ_\0J.[.OFF O8;;Z.VK>&Y[OVP+DXEB-G M/)Z,CGE169\_7:X5-R-YIQ9\*XJZ@L:NX:7@[^VOX]TN^5ZTQ6M1%N*?J=5O ME]PBQZ(JCL5/OIM:8XNTA_I]63?%S[H2>9ENF[HLIY9]/O#"&U%L_].<=I!9 M_MKV+2)_37( F5J3,5QP7S2MZ,_HKY\#XW<.)Y_W3J)>%*7@S3P7_+FI3V]% M];6[#-S%2+J-/@Z7WW,0'YO_$\9ZOR^V?%YO3T=>B7,<&UYV@%5[*-Y:BU3Y MD4^MRRG$KW:$50*"1(+J?"DXM[M3^.M@=[YK ;A2#)O' @XTP:X'OQ[D+ KG M+$S9G,!6&JV"N9_!SI._\L,9(Q*D@T Z T+^[4B0+@+I#@*99O"S9J$$Z2&0 MWH"02B0I DF'A'0ER D".1D2TI,@[Q#(N^M"AI#"B4UN8:BD04JB!8D3EK(0 M((,HE$?W/0)Y;P#2 XQE\[$!3*][X)LT"%F:0AS73T'8/V\9$E7.E9W30]*^ M5YXMDRX9RSK2. J53&ECTK&O;)T>Z;'N^IX8S?Y8 M1JLY]$'"_MP$V1>9$;.,?67-](SWP,C6\2KZPAAY8B%;!!F)X8DKH<0\8U]9 M-#WF V &(70^1C+_+_4Y8WZQKRR8<^X> UT(@V,5P5B.60)CQ4^8S(CIQ3;B METXPLPUTQS7P^>&N,ZR M2_N =C(,Y+DXYAC'A&-TDPIE#NE@EG%,6$8WK5 Q MT5<;$Y;1&9OG'&5(_*B:F'\>$?K0)4W[M=C']N";TH\64 M7[Q=3#_NH/JA,B:F']>$?G3OM6II#:VMF="/UI*W,B:F']>$?G28:C0Q"[DF M+*3%5$8Z9B'7A(6TVU-9M\+SE9%:W M EAE3,Q"G@D+*9CK7)R:;F&OWI-(QD37>$Q82%,A_!!-S$+>H.]""0MI,97TCEG(,V$A+::I)B%J D+ M:3'EO$G1;PU,6$B+*>=-BEF(&JG(Z3#EO$DQ"U$C%3E=J4OIFYB%Z* 5.:5O M8A:B0RX(*0EI@EEHTEMH=/GB;E^SDON'NU6P?:G MLIQ!6U2MZGQW^8#N\O'?YW\!4$L#!!0 ( (F":5.8&UJ>^P$ ,LC : M >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDMNHT 4A>&M6"P@Y?LB M22O.J">91MD @'O0DJC-"!>+RCSX0\/"<#]VT[T]E MMQ_*XN-X.)55LYNFX5=*9;W+QZ[<]$,^G8]L^O'83>?EN$U#MW[KMCGI0_V=BO]GLU_EWO_YSS*?I'X/3>S^^E5W.4[-XZ<9MGE9- M^CA<=Y=TV7*S>'I=->/3JS2I=I!"D-8/,@BR^D$.05X_*" HZ@>U$-36 M#[J%H-OZ07<0=%<_Z!Z"[NL'R1)E7!(DS; FT%J0:R'P6A!L(1!;D&PA,%L0 M;2%06Y!M(7!;$&XAD%N0;B&P6Q!O(=!;46\ET%M1;R706VBOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'K; M[&4)@=Z&>AN!WH9Z&X'>AGH;@=Z&>AN!WH9Z&X'>AGH;@=Z.>CN!WHYZ.X'> MCGH[@=Z.>CN!WCY[V4V@MZ/>3J"WH]Y.H+>CWDZ@MZ/>3J"WH]Y.H'>@WD&@ M=Z#>0:!WH-Y!H'>@WD&@=Z#>0:!WS#Y6$N@=J'<0Z!VH=Q#H':AW$.@=J'<0 MZ-VBWNU/ZEVFST,NUYZO-5[_)ZF>SN?FZ^4ORZ^=>+]H+S@G^'?G\2]02P,$ M% @ B8)I4W32QF+> 0 6B, !, !;0V]N=&5N=%]4>7!E&UL MS=I=3\(P% ;@OT)V:UCI%WX$N%%OU0O_0-T.L+"M35L0_KW= !.-$@TFOC=; MMK;G/6N3YVJ3YYVC,-@V=1NFV3)&=\-8*);4F)!;1VT:F5O?F)@>_8(Y4ZS, M@I@8C<:LL&VD-@YC5R.;3>YH;M9U'-QOT^M0V7::>:I#-KC=3^RRIIEQKJX* M$],XV[3EIY3A(2%/*_LY85FY<)$F9.S+A&[D^X##NL<->5^5-'@R/CZ8)LUB MVYJ%N*LIY*=+?-&CG<^K@DI;K)NT) _.DRG#DB@V=;XO>G$Z.:8=IOV5GYW? MESD5F&8^>>M".C%/OX\['DFW>NA2(?*Q.OV)[XFI]-G?1]UIEU3^,#MM[ZOU MJ_X\ NMOY^_QQS-^K__+/@1('Q*D#P72AP;I8PS2QR5('U<@?5R#],%'*(V@ MB,I12.4HIG(45#F*JAR%58[B*D>!E:/(*E!D%2BR"A19!8JL D56@2*K0)%5 MH,@J4&05*+)*%%DEBJP215:)(JM$D56BR"I19)4HLDH4626*K I%5H4BJT*1 M5:'(JE!D52BR*A19%8JL"D56A2*K1I%5H\BJ4635*+)J%%DUBJP:15:-(JM& MD56CR#K^3UE?K%W]]=\>W3UO3-4>\UG_2\WL#5!+ 0(4 Q0 ( (F":5,' M04UB@0 +$ 0 " 0 !D;V-0&UL M4$L! A0#% @ B8)I4^791@[N *P( !$ ( !KP M &1O8U!R;W!S+V-O&UL4$L! A0#% @ B8)I4YEL1)D % "+%0 & @($-" >&PO=V]R M:W-H965T&UL4$L! A0#% @ B8)I4[K&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I4\@TE6)R"P A4P !@ ("! MWAX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ MB8)I4_G&PO=V]R:W-H965T&UL4$L! A0#% @ MB8)I4SU^0@FC#0 B2\ !D ("!:WH 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I4[16X+AP!0 MXA !D ("!D90 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I4W-UBE0'%P !$D !D M ("!&JD 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ B8)I4W-5*=Y>!@ <1, !D ("!3\< 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I M4Q<,CA?^ P -@L !D ("!0MH 'AL+W=O&PO=V]R:W-H965T7._&U@, %X. 9 " @9+C !X;"]W;W)K M&UL4$L! A0#% @ B8)I4X&.L"J\! 8A, M !D ("!G^< 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I4WB PL_V P -PP !D M ("!,O( 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ B8)I4\0*=GLT @ -P0 !D ("!&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I4_C: MU%6$ @ Y 4 !D ("!UPD! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I4PERAJUM @ YP4 !D M ("!414! 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ B8)I4P=0T7=#! / \ !D ("! MO!X! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ B8)I4VM[!3%% P C@H !D ("!]"X! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ B8)I4\K2R18\ @ ^00 !D M ("!K44! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ B8)I4VXF &PO=V]R:W-H965T&UL4$L! A0#% @ MB8)I4TQ5P=^0 @ '@8 !D ("!>%D! 'AL+W=O&PO&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 M " ")@FE3=-+&8MX! !:(P $P @ &B9P$ 6T-O;G1E C;G1?5'EP97-=+GAM;%!+!08 1 !$ ),2 "Q:0$ ! end XML 73 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 74 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 75 FilingSummary.xml IDEA: XBRL DOCUMENT 3.21.2 html 278 394 1 false 71 0 false 7 false false R1.htm 00090 - Document - Document And Entity Information Sheet http://www.pdf.com/role/DocumentDocumentAndEntityInformation Document And Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) Sheet http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) Statements 2 false false R3.htm 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parentheticals) Sheet http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parentheticals) Statements 3 false false R4.htm 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Unaudited) Sheet http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Unaudited) Statements 4 false false R5.htm 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) Sheet http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) Statements 5 false false R6.htm 00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) (Parentheticals) Sheet http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnauditedParentheticals CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) (Parentheticals) Statements 6 false false R7.htm 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) Sheet http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited) Statements 7 false false R8.htm 10101 - Disclosure - Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Sheet http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPolicies Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES Notes 8 false false R9.htm 10201 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS Sheet http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS Notes 9 false false R10.htm 10301 - Disclosure - Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS Sheet http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS Notes 10 false false R11.htm 10401 - Disclosure - Note 4 - BUSINESS COMBINATION Sheet http://www.pdf.com/role/DisclosureNote4BusinessCombination Note 4 - BUSINESS COMBINATION Notes 11 false false R12.htm 10501 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS Sheet http://www.pdf.com/role/DisclosureNote5BalanceSheetComponents Note 5 - BALANCE SHEET COMPONENTS Notes 12 false false R13.htm 10601 - Disclosure - Note 6 - LEASES Sheet http://www.pdf.com/role/DisclosureNote6Leases Note 6 - LEASES Notes 13 false false R14.htm 10701 - Disclosure - Note 7 - STOCKHOLDERS EQUITY Sheet http://www.pdf.com/role/DisclosureNote7StockholdersEquity Note 7 - STOCKHOLDERS EQUITY Notes 14 false false R15.htm 10801 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS Sheet http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlans Note 8 - EMPLOYEE BENEFIT PLANS Notes 15 false false R16.htm 10901 - Disclosure - Note 9 - INCOME TAXES Sheet http://www.pdf.com/role/DisclosureNote9IncomeTaxes Note 9 - INCOME TAXES Notes 16 false false R17.htm 11001 - Disclosure - Note 10 - NET LOSS PER SHARE Sheet http://www.pdf.com/role/DisclosureNote10NetLossPerShare Note 10 - NET LOSS PER SHARE Notes 17 false false R18.htm 11101 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION Sheet http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformation Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION Notes 18 false false R19.htm 11201 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS Sheet http://www.pdf.com/role/DisclosureNote12FairValueMeasurements Note 12 - FAIR VALUE MEASUREMENTS Notes 19 false false R20.htm 11301 - Disclosure - Note 13 - COMMITMENTS AND CONTINGENCIES Sheet http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingencies Note 13 - COMMITMENTS AND CONTINGENCIES Notes 20 false false R21.htm 20102 - Disclosure - Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Sheet http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies) Policies 21 false false R22.htm 30203 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) Sheet http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersTables Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables) Tables http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers 22 false false R23.htm 30403 - Disclosure - Note 4 - BUSINESS COMBINATION (Tables) Sheet http://www.pdf.com/role/DisclosureNote4BusinessCombinationTables Note 4 - BUSINESS COMBINATION (Tables) Tables http://www.pdf.com/role/DisclosureNote4BusinessCombination 23 false false R24.htm 30503 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS (Tables) Sheet http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables Note 5 - BALANCE SHEET COMPONENTS (Tables) Tables http://www.pdf.com/role/DisclosureNote5BalanceSheetComponents 24 false false R25.htm 30603 - Disclosure - Note 6 - LEASES (Tables) Sheet http://www.pdf.com/role/DisclosureNote6LeasesTables Note 6 - LEASES (Tables) Tables http://www.pdf.com/role/DisclosureNote6Leases 25 false false R26.htm 30803 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS (Tables) Sheet http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansTables Note 8 - EMPLOYEE BENEFIT PLANS (Tables) Tables http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlans 26 false false R27.htm 31003 - Disclosure - Note 10 - NET LOSS PER SHARE (Tables) Sheet http://www.pdf.com/role/DisclosureNote10NetLossPerShareTables Note 10 - NET LOSS PER SHARE (Tables) Tables http://www.pdf.com/role/DisclosureNote10NetLossPerShare 27 false false R28.htm 31103 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables) Sheet http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationTables Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables) Tables http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformation 28 false false R29.htm 31203 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS (Tables) Sheet http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsTables Note 12 - FAIR VALUE MEASUREMENTS (Tables) Tables http://www.pdf.com/role/DisclosureNote12FairValueMeasurements 29 false false R30.htm 40201 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 1 (Details) Sheet http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 1 (Details) Details http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersTables 30 false false R31.htm 40202 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 2 (Details) Sheet http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 2 (Details) Details http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersTables 31 false false R32.htm 40203 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details) Sheet http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details) Details 32 false false R33.htm 40301 - Disclosure - Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) Sheet http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details) Details http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions 33 false false R34.htm 40401 - Disclosure - Note 4 - BUSINESS COMBINATION - Other (Details) Sheet http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails Note 4 - BUSINESS COMBINATION - Other (Details) Details 34 false false R35.htm 40402 - Disclosure - Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details) Sheet http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details) Details 35 false false R36.htm 40403 - Disclosure - Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives - Narrative (Details) Sheet http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives - Narrative (Details) Details 36 false false R37.htm 40501 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Other (Details) Sheet http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails Note 5 - BALANCE SHEET COMPONENTS - Other (Details) Details http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables 37 false false R38.htm 40502 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Property and Equipment (Details) Sheet http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails Note 5 - BALANCE SHEET COMPONENTS - Property and Equipment (Details) Details 38 false false R39.htm 40503 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Change in Carrying Amount of Goodwill (Details) Sheet http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsChangeInCarryingAmountOfGoodwillDetails Note 5 - BALANCE SHEET COMPONENTS - Change in Carrying Amount of Goodwill (Details) Details 39 false false R40.htm 40504 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details) Sheet http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details) Details 40 false false R41.htm 40505 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details) Sheet http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails Note 5 - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details) Details 41 false false R42.htm 40601 - Disclosure - Note 6 - LEASES - Other (Details) Sheet http://www.pdf.com/role/DisclosureNote6LeasesOtherDetails Note 6 - LEASES - Other (Details) Details 42 false false R43.htm 40602 - Disclosure - Note 6 - LEASES - Lease Cost (Details) Sheet http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails Note 6 - LEASES - Lease Cost (Details) Details 43 false false R44.htm 40603 - Disclosure - Note 6 - LEASES - Maturity of Operating Lease Liabilities (Details) Sheet http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails Note 6 - LEASES - Maturity of Operating Lease Liabilities (Details) Details 44 false false R45.htm 40701 - Disclosure - Note 7 - STOCKHOLDERS EQUITY (Details) Sheet http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails Note 7 - STOCKHOLDERS EQUITY (Details) Details http://www.pdf.com/role/DisclosureNote7StockholdersEquity 45 false false R46.htm 40801 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Other (Details) Sheet http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails Note 8 - EMPLOYEE BENEFIT PLANS - Other (Details) Details 46 false false R47.htm 40802 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options, Valuation Assumptions (Details) Sheet http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options, Valuation Assumptions (Details) Details 47 false false R48.htm 40803 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) Sheet http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails Note 8 - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details) Details 48 false false R49.htm 40804 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details) Sheet http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details) Details 49 false false R50.htm 40805 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) Sheet http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails Note 8 - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details) Details 50 false false R51.htm 40901 - Disclosure - Note 9 - INCOME TAXES (Details) Sheet http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails Note 9 - INCOME TAXES (Details) Details http://www.pdf.com/role/DisclosureNote9IncomeTaxes 51 false false R52.htm 41001 - Disclosure - Note 10 - NET LOSS PER SHARE - Calculation of Earnings Per Share (Details) Sheet http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails Note 10 - NET LOSS PER SHARE - Calculation of Earnings Per Share (Details) Details 52 false false R53.htm 41002 - Disclosure - Note 10 - NET LOSS PER SHARE - Anti-dilutive Securities (Details) Sheet http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails Note 10 - NET LOSS PER SHARE - Anti-dilutive Securities (Details) Details 53 false false R54.htm 41101 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details) Sheet http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationOtherDetails Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details) Details http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationTables 54 false false R55.htm 41102 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) Sheet http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details) Details 55 false false R56.htm 41103 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) Sheet http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details) Details 56 false false R57.htm 41104 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) Sheet http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details) Details 57 false false R58.htm 41201 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS - Other (Details) Sheet http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails Note 12 - FAIR VALUE MEASUREMENTS - Other (Details) Details http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsTables 58 false false R59.htm 41202 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS - Fair Value, Assets Measured on a Recurring Basis (Details) Sheet http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails Note 12 - FAIR VALUE MEASUREMENTS - Fair Value, Assets Measured on a Recurring Basis (Details) Details 59 false false R60.htm 41301 - Disclosure - Note 13 - COMMITMENTS AND CONTINGENCIES (Details) Sheet http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingenciesDetails Note 13 - COMMITMENTS AND CONTINGENCIES (Details) Details http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingencies 60 false false All Reports Book All Reports pdfs-20210930x10q.htm pdfs-20210930.xsd pdfs-20210930_cal.xml pdfs-20210930_def.xml pdfs-20210930_lab.xml pdfs-20210930_pre.xml pdfs-20210930xex31d01.htm pdfs-20210930xex31d02.htm pdfs-20210930xex32d01.htm pdfs-20210930xex32d02.htm http://xbrl.sec.gov/country/2021 http://xbrl.sec.gov/dei/2021 http://fasb.org/srt/2021-01-31 http://fasb.org/us-gaap/2021-01-31 true true JSON 78 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "pdfs-20210930x10q.htm": { "axisCustom": 0, "axisStandard": 24, "contextCount": 278, "dts": { "calculationLink": { "local": [ "pdfs-20210930_cal.xml" ] }, "definitionLink": { "local": [ "pdfs-20210930_def.xml" ] }, "inline": { "local": [ "pdfs-20210930x10q.htm" ] }, "labelLink": { "local": [ "pdfs-20210930_lab.xml" ] }, "presentationLink": { "local": [ "pdfs-20210930_pre.xml" ] }, "schema": { "local": [ "pdfs-20210930.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "https://xbrl.sec.gov/dei/2021/dei-2021.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-gaap-2021-01-31.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-types-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-types-2021-01-31.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-2021-01-31.xsd", "https://xbrl.sec.gov/country/2021/country-2021.xsd", "https://xbrl.fasb.org/srt/2021/elts/srt-roles-2021-01-31.xsd", "https://xbrl.fasb.org/us-gaap/2021/elts/us-roles-2021-01-31.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd" ] } }, "elementCount": 495, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2021-01-31": 19, "http://xbrl.sec.gov/dei/2021": 5, "total": 24 }, "keyCustom": 38, "keyStandard": 356, "memberCustom": 25, "memberStandard": 42, "nsprefix": "pdfs", "nsuri": "http://www.pdf.com/20210930", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "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.pdf.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document And Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "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": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS", "role": "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions", "shortName": "Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Note 4 - BUSINESS COMBINATION", "role": "http://www.pdf.com/role/DisclosureNote4BusinessCombination", "shortName": "Note 4 - BUSINESS COMBINATION", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS", "role": "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponents", "shortName": "Note 5 - BALANCE SHEET COMPONENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Note 6 - LEASES", "role": "http://www.pdf.com/role/DisclosureNote6Leases", "shortName": "Note 6 - LEASES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Note 7 - STOCKHOLDERS EQUITY", "role": "http://www.pdf.com/role/DisclosureNote7StockholdersEquity", "shortName": "Note 7 - STOCKHOLDERS EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS", "role": "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlans", "shortName": "Note 8 - EMPLOYEE BENEFIT PLANS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CompensationAndEmployeeBenefitPlansTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Note 9 - INCOME TAXES", "role": "http://www.pdf.com/role/DisclosureNote9IncomeTaxes", "shortName": "Note 9 - INCOME TAXES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Note 10 - NET LOSS PER SHARE", "role": "http://www.pdf.com/role/DisclosureNote10NetLossPerShare", "shortName": "Note 10 - NET LOSS PER SHARE", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION", "role": "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformation", "shortName": "Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS", "role": "http://www.pdf.com/role/DisclosureNote12FairValueMeasurements", "shortName": "Note 12 - FAIR VALUE MEASUREMENTS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)", "role": "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_YPP6fy9dW0yoYyt-RBIdHA", "decimals": "-3", "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11301 - Disclosure - Note 13 - COMMITMENTS AND CONTINGENCIES", "role": "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingencies", "shortName": "Note 13 - COMMITMENTS AND CONTINGENCIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20102 - Disclosure - Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "role": "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies", "shortName": "Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)", "role": "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersTables", "shortName": "Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Note 4 - BUSINESS COMBINATION (Tables)", "role": "http://www.pdf.com/role/DisclosureNote4BusinessCombinationTables", "shortName": "Note 4 - BUSINESS COMBINATION (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS (Tables)", "role": "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables", "shortName": "Note 5 - BALANCE SHEET COMPONENTS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Note 6 - LEASES (Tables)", "role": "http://www.pdf.com/role/DisclosureNote6LeasesTables", "shortName": "Note 6 - LEASES (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS (Tables)", "role": "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansTables", "shortName": "Note 8 - EMPLOYEE BENEFIT PLANS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31003 - Disclosure - Note 10 - NET LOSS PER SHARE (Tables)", "role": "http://www.pdf.com/role/DisclosureNote10NetLossPerShareTables", "shortName": "Note 10 - NET LOSS PER SHARE (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31103 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables)", "role": "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationTables", "shortName": "Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31203 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS (Tables)", "role": "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsTables", "shortName": "Note 12 - FAIR VALUE MEASUREMENTS (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parentheticals)", "role": "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited) (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "INF", "first": true, "lang": null, "name": "pdfs:NumberOfRevenueSources", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_xQckEv2amkynigqVS8y9fA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 1 (Details)", "role": "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details", "shortName": "Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 1 (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "INF", "first": true, "lang": null, "name": "pdfs:NumberOfRevenueSources", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_xQckEv2amkynigqVS8y9fA", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_srt_MajorCustomersAxis_pdfs_AdvantestAmericaIncMember_srt_ProductOrServiceAxis_pdfs_SoftwareLicenseAndRelatedServicesAgreementMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_pdfs_cnst_2021-10-01_68DDR4POOEOnADLOVT_ixQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 2 (Details)", "role": "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details", "shortName": "Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - 2 (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_srt_MajorCustomersAxis_pdfs_AdvantestAmericaIncMember_srt_ProductOrServiceAxis_pdfs_SoftwareLicenseAndRelatedServicesAgreementMember_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_pdfs_cnst_2021-10-01_68DDR4POOEOnADLOVT_ixQ", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "2", "first": true, "lang": null, "name": "pdfs:PercentOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_QgCHUN9e90KxMOATYuhnUw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details)", "role": "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "shortName": "Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "2", "first": true, "lang": null, "name": "pdfs:PercentOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_QgCHUN9e90KxMOATYuhnUw", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_0j64dtTfCE6FHy5NIddW0g", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProceedsFromIssuanceOfCommonStock", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details)", "role": "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "shortName": "Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_29_2020_To_7_29_2020_us-gaap_RelatedPartyTransactionsByRelatedPartyAxis_pdfs_StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember_SkhQEUXn8k6m4TcvA9BCtA", "decimals": "INF", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RestrictedCash", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Note 4 - BUSINESS COMBINATION - Other (Details)", "role": "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails", "shortName": "Note 4 - BUSINESS COMBINATION - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_12_1_2020_To_12_31_2020_us-gaap_BusinessAcquisitionAxis_pdfs_CimetrixIncorporatedMember_L-9XZQKOxU-oTRvF7jqbBw", "decimals": "-5", "lang": null, "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40402 - Disclosure - Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details)", "role": "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "shortName": "Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_us-gaap_BusinessAcquisitionAxis_pdfs_CimetrixIncorporatedMember_A_UtM5W7QUikrrY6UR15VQ", "decimals": "-3", "lang": null, "name": "pdfs:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssetsIncludingCash", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_us-gaap_BusinessAcquisitionAxis_pdfs_CimetrixIncorporatedMember_A_UtM5W7QUikrrY6UR15VQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40403 - Disclosure - Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives - Narrative (Details)", "role": "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails", "shortName": "Note 4 - BUSINESS COMBINATION - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives - Narrative (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R37": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:UnbilledReceivablesCurrent", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Other (Details)", "role": "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails", "shortName": "Note 5 - BALANCE SHEET COMPONENTS - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_YPP6fy9dW0yoYyt-RBIdHA", "decimals": "-5", "lang": null, "name": "us-gaap:UnbilledReceivablesCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Property and Equipment (Details)", "role": "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails", "shortName": "Note 5 - BALANCE SHEET COMPONENTS - Property and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_YPP6fy9dW0yoYyt-RBIdHA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Change in Carrying Amount of Goodwill (Details)", "role": "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsChangeInCarryingAmountOfGoodwillDetails", "shortName": "Note 5 - BALANCE SHEET COMPONENTS - Change in Carrying Amount of Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Unaudited)", "role": "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "lang": null, "name": "us-gaap:CostOfRevenue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40504 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details)", "role": "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails", "shortName": "Note 5 - BALANCE SHEET COMPONENTS - Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40505 - Disclosure - Note 5 - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details)", "role": "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails", "shortName": "Note 5 - BALANCE SHEET COMPONENTS - Annual Amortization of Identifiable Intangible Assets (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "INF", "first": true, "lang": null, "name": "pdfs:NumberOfFinanceLeases", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_lease_iI91zG7ehEKfxO0JQqQeEw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Note 6 - LEASES - Other (Details)", "role": "http://www.pdf.com/role/DisclosureNote6LeasesOtherDetails", "shortName": "Note 6 - LEASES - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "INF", "first": true, "lang": null, "name": "pdfs:NumberOfFinanceLeases", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_lease_iI91zG7ehEKfxO0JQqQeEw", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40602 - Disclosure - Note 6 - LEASES - Lease Cost (Details)", "role": "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails", "shortName": "Note 6 - LEASES - Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40603 - Disclosure - Note 6 - LEASES - Maturity of Operating Lease Liabilities (Details)", "role": "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails", "shortName": "Note 6 - LEASES - Maturity of Operating Lease Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2020_To_9_30_2020_0j64dtTfCE6FHy5NIddW0g", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProceedsFromIssuanceOfCommonStock", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40701 - Disclosure - Note 7 - STOCKHOLDERS EQUITY (Details)", "role": "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails", "shortName": "Note 7 - STOCKHOLDERS EQUITY (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ShareholdersEquityAndShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_5_29_2018_To_5_28_2020_us-gaap_ShareRepurchaseProgramAxis_pdfs_The2018StockRepurchaseProgramMember_MKrlQImgrUO4Ze0K8g7cLA", "decimals": "INF", "lang": null, "name": "us-gaap:TreasuryStockSharesAcquired", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Other (Details)", "role": "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "shortName": "Note 8 - EMPLOYEE BENEFIT PLANS - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_us-gaap_PlanNameAxis_pdfs_EmployeeStockPurchasePlanMember_AtCwoL418E627EJAhte5ew", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40802 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options, Valuation Assumptions (Details)", "role": "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails", "shortName": "Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options, Valuation Assumptions (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_us-gaap_PlanNameAxis_pdfs_EmployeeStockPurchasePlanMember_AtCwoL418E627EJAhte5ew", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40803 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details)", "role": "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails", "shortName": "Note 8 - EMPLOYEE BENEFIT PLANS - Allocation of Recognized Period Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_YPP6fy9dW0yoYyt-RBIdHA", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40804 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details)", "role": "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails", "shortName": "Note 8 - EMPLOYEE BENEFIT PLANS - Stock Options Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "-3", "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_12_31_2019_us-gaap_StatementEquityComponentsAxis_pdfs_CommonStockOutstandingMember_zhqIo0mY70CACR_9GObVFw", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited)", "role": "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2020_To_3_31_2020_us-gaap_StatementEquityComponentsAxis_pdfs_CommonStockOutstandingMember_VUuIMV0CJU2wcC9xLvZ0rA", "decimals": "-3", "lang": null, "name": "us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_oiql1Ph5dEe982AqHC6nLg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40805 - Disclosure - Note 8 - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details)", "role": "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "shortName": "Note 8 - EMPLOYEE BENEFIT PLANS - Nonvested Restricted Stock Units Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_12_31_2020_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_oiql1Ph5dEe982AqHC6nLg", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:IncreaseDecreaseInIncomeTaxes", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Note 9 - INCOME TAXES (Details)", "role": "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails", "shortName": "Note 9 - INCOME TAXES (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:IncreaseDecreaseInIncomeTaxes", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R52": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Note 10 - NET LOSS PER SHARE - Calculation of Earnings Per Share (Details)", "role": "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails", "shortName": "Note 10 - NET LOSS PER SHARE - Calculation of Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R53": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41002 - Disclosure - Note 10 - NET LOSS PER SHARE - Anti-dilutive Securities (Details)", "role": "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails", "shortName": "Note 10 - NET LOSS PER SHARE - Anti-dilutive Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_6dnch2dOS0SVzArMobvnTQ", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_QgCHUN9e90KxMOATYuhnUw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details)", "role": "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationOtherDetails", "shortName": "Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:SegmentReportingPolicyPolicyTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_QgCHUN9e90KxMOATYuhnUw", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_srt_MajorCustomersAxis_pdfs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IFew9Um5jkWKjcbZXG-Guw", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_QgCHUN9e90KxMOATYuhnUw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41102 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details)", "role": "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "shortName": "Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenue Percentage by Major Customers (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "us-gaap:SegmentReportingDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_srt_MajorCustomersAxis_pdfs_CustomerAMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_IFew9Um5jkWKjcbZXG-Guw", "decimals": "2", "first": true, "lang": null, "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_QgCHUN9e90KxMOATYuhnUw", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_w1gb6_km90-OiuheDVqopQ", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41103 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details)", "role": "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "shortName": "Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Revenues by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_GeographicConcentrationRiskMember_yS-5LXguSkGW3oiLswYsKQ", "decimals": "-3", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerIncludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41104 - Disclosure - Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details)", "role": "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "shortName": "Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION - Long-lived Assets by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:NoncurrentAssets", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R58": { "firstAnchor": { "ancestors": [ "us-gaap:DerivativeGainLossOnDerivativeNet", "us-gaap:DerivativeGainLossOnDerivativeNet", "p", "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeContractMember_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_L-3iEnXk7UaTddheX14-9A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS - Other (Details)", "role": "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails", "shortName": "Note 12 - FAIR VALUE MEASUREMENTS - Other (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:DerivativeGainLossOnDerivativeNet", "us-gaap:DerivativeGainLossOnDerivativeNet", "p", "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2021_To_9_30_2021_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_ForeignExchangeContractMember_us-gaap_IncomeStatementLocationAxis_us-gaap_OtherNonoperatingIncomeExpenseMember_L-3iEnXk7UaTddheX14-9A", "decimals": "-5", "first": true, "lang": null, "name": "us-gaap:DerivativeGainLossOnDerivativeNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "pdfs:CashCashEquivalentsShortTermInvestmentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41202 - Disclosure - Note 12 - FAIR VALUE MEASUREMENTS - Fair Value, Assets Measured on a Recurring Basis (Details)", "role": "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails", "shortName": "Note 12 - FAIR VALUE MEASUREMENTS - Fair Value, Assets Measured on a Recurring Basis (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "As_Of_9_30_2021_IDSvAp1vvEed_uNf0vPv_Q", "decimals": "-3", "first": true, "lang": null, "name": "pdfs:CashCashEquivalentsShortTermInvestmentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_M5tFIGy1e02IUJh-osUcIA", "decimals": "-5", "first": true, "lang": null, "name": "pdfs:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCostsPrivatePlacement", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00305 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) (Parentheticals)", "role": "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnauditedParentheticals", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited) (Parentheticals)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_7_1_2020_To_9_30_2020_M5tFIGy1e02IUJh-osUcIA", "decimals": "-5", "first": true, "lang": null, "name": "pdfs:AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCostsPrivatePlacement", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R60": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "pdfs:TermOfProductWarranty", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41301 - Disclosure - Note 13 - COMMITMENTS AND CONTINGENCIES (Details)", "role": "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingenciesDetails", "shortName": "Note 13 - COMMITMENTS AND CONTINGENCIES (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "pdfs:TermOfProductWarranty", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)", "role": "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": "-3", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD_-rb6jPdqH0ujbr3Ev1_WkA", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "role": "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPolicies", "shortName": "Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS", "role": "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers", "shortName": "Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "pdfs-20210930x10q.htm", "contextRef": "Duration_1_1_2021_To_9_30_2021_mfe6A6-W_EG_TD77SoC77Q", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 71, "tag": { "country_CN": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CHINA" } } }, "localname": "CN", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_JP": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "JAPAN" } } }, "localname": "JP", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_TW": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "TAIWAN, PROVINCE OF CHINA" } } }, "localname": "TW", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2021", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2021", "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r518" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r519" ], "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/2021", "presentation": [ "http://www.pdf.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/2021", "presentation": [ "http://www.pdf.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" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.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" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r520" ], "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/2021", "presentation": [ "http://www.pdf.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/2021", "presentation": [ "http://www.pdf.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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r520" ], "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/2021", "presentation": [ "http://www.pdf.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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r520" ], "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/2021", "presentation": [ "http://www.pdf.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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r521" ], "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r520" ], "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r520" ], "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r520" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r520" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r516" ], "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r517" ], "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/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2021", "presentation": [ "http://www.pdf.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "pdfs_AccruedCompensationAndRelatedBenefitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to accrued compensation and related benefits.", "label": "Accrued Compensation and Related Benefits [Member]" } } }, "localname": "AccruedCompensationAndRelatedBenefitsMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "domainItemType" }, "pdfs_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCostsPrivatePlacement": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs (legal fees) associated with issuing stock under a private placement.", "label": "Adjustments To Additional Paid In Capital Stock Issued Issuance Costs Private Placement", "terseLabel": "Issuance costs" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCostsPrivatePlacement", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnauditedParentheticals" ], "xbrltype": "monetaryItemType" }, "pdfs_AdvancesForPurchaseOfFixedAssetsTransferredFromPrepaidAssetsToPropertyAndEquipment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents advances for purchase of fixed assets transferred from prepaid assets to property and equipment.", "label": "Advances For Purchase Of Fixed Assets Transferred From Prepaid Assets To Property And Equipment", "terseLabel": "Advances for purchase of fixed assets transferred from prepaid assets to property and equipment" } } }, "localname": "AdvancesForPurchaseOfFixedAssetsTransferredFromPrepaidAssetsToPropertyAndEquipment", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_AdvantestAmericaIncMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Advantest America, Inc.", "label": "Advantest America, Inc. [Member]" } } }, "localname": "AdvantestAmericaIncMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details" ], "xbrltype": "domainItemType" }, "pdfs_Amendment1ToSoftwareLicenseRelatedServicesAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to amendment #1 to the software license & related services agreement.", "label": "Amendment #1 to Software License & Related Services Agreement [Member]" } } }, "localname": "Amendment1ToSoftwareLicenseRelatedServicesAgreementMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "xbrltype": "domainItemType" }, "pdfs_AmortizationOfAcquiredIntangibleAssets": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents amortization of acquired intangible assets.", "label": "pdfs_AmortizationOfAcquiredIntangibleAssets", "terseLabel": "Amortization of acquired intangible assets" } } }, "localname": "AmortizationOfAcquiredIntangibleAssets", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_AmortizationOfOtherAcquiredIntangibleassets": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of acquired intangible assets. As a noncash expense, this element is added back to net income when calculating cash provided by (used in) operations using the indirect method.", "label": "Amortization of other acquired intangible assets" } } }, "localname": "AmortizationOfOtherAcquiredIntangibleassets", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_AnalyticsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to analytics.", "label": "Analytics [Member]" } } }, "localname": "AnalyticsMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "domainItemType" }, "pdfs_BusinessCombinationAccruedEstimatedCashPayoutToCertainEmployees": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the accrued portion of the amount to be paid out to certain employees for their continued employment after the business acquisition.", "label": "pdfs_BusinessCombinationAccruedEstimatedCashPayoutToCertainEmployees", "terseLabel": "Business Combination, Accrued Estimated Cash Payout to Certain Employees" } } }, "localname": "BusinessCombinationAccruedEstimatedCashPayoutToCertainEmployees", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_BusinessCombinationEstimatedCashPayoutToCertainEmployees": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of cash to be paid out to certain employees for their continued employment.", "label": "pdfs_BusinessCombinationEstimatedCashPayoutToCertainEmployees", "terseLabel": "Business Combination, Estimated Cash Payout to Certain Employees" } } }, "localname": "BusinessCombinationEstimatedCashPayoutToCertainEmployees", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_BusinessCombinationEstimatedRemainingCashPayoutToCertainEmployees": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the remaining amount of cash to be paid out to certain employees for their continued employment.", "label": "pdfs_BusinessCombinationEstimatedRemainingCashPayoutToCertainEmployees", "terseLabel": "Business Combination, Estimated Remaining Cash Payout to Certain Employees" } } }, "localname": "BusinessCombinationEstimatedRemainingCashPayoutToCertainEmployees", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_BusinessCombinationHoldbackAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the portion of the purchase price that is not paid at closing and withheld to satisfy adjustments and claims for indemnity arising out of breaches of certain representations, warranties and covenants, and certain other enumerated items in the merger agreement. The amount, as adjusted, is expected to be paid to the participating equity holders on approximately the twelve-month anniversary of the Acquisition Date.", "label": "pdfs_BusinessCombinationHoldbackAmount", "terseLabel": "Business Combination, Holdback Amount" } } }, "localname": "BusinessCombinationHoldbackAmount", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndAccruedExpenses": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred for goods and services received including accrued compensation that are used in an entity's business, assumed at the acquisition date.", "label": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndAccruedExpenses", "terseLabel": "Accounts payable and accrued expenses" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAndAccruedExpenses", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOperatingLeaseLiabilities": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of operating lease liabilities assumed at the acquisition date.", "label": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOperatingLeaseLiabilities", "terseLabel": "Operating lease liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOperatingLeaseLiabilities", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssetsIncludingCash": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 2.0, "parentTag": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of tangible assets including cash recognized as of the acquisition date.", "label": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssetsIncludingCash", "terseLabel": "Fair value of tangible assets (including cash of $5,900)" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedTangibleAssetsIncludingCash", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwill": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 1.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of assets including goodwill recognized as of the acquisition date.", "label": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwill", "totalLabel": "Total assets acquired" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwill", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_CashCashEquivalentsShortTermInvestmentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of cash, cash equivalents and short term investments measured at fair value.", "label": "pdfs_CashCashEquivalentsShortTermInvestmentsFairValueDisclosure", "totalLabel": "Total" } } }, "localname": "CashCashEquivalentsShortTermInvestmentsFairValueDisclosure", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_CimetrixIncorporatedMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Cimetrix Incorporated.", "label": "Cimetrix Incorporated [Member]" } } }, "localname": "CimetrixIncorporatedMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "domainItemType" }, "pdfs_CommonStockOutstandingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock Outstanding [Member]" } } }, "localname": "CommonStockOutstandingMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "pdfs_ContractWithCustomerLiabilityBillingsInExcessOfRevenueRecognized": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Liability attributable to (i) billings in excess of costs under the percentage of completion contract accounting method representing the difference between contractually invoiced amounts (billings) and revenue recognized based, for example, on costs incurred to estimated total costs at period end or (ii) contractually invoiced amounts (billings) in excess of costs incurred and accumulated under the completed contract accounting method that are expected to be realized within one year or one operating cycle, whichever is longer, from the reporting date.", "label": "Billings in excess of recognized revenues" } } }, "localname": "ContractWithCustomerLiabilityBillingsInExcessOfRevenueRecognized", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_CustomerAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer A.", "label": "Customer A [Member]" } } }, "localname": "CustomerAMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "xbrltype": "domainItemType" }, "pdfs_CustomerBMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer B.", "label": "Customer B [Member]" } } }, "localname": "CustomerBMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "xbrltype": "domainItemType" }, "pdfs_CustomerCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer C.", "label": "Customer C [Member]" } } }, "localname": "CustomerCMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "xbrltype": "domainItemType" }, "pdfs_CustomerDMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer D.", "label": "Customer D [Member]" } } }, "localname": "CustomerDMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "xbrltype": "domainItemType" }, "pdfs_CustomerEMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to customer E.", "label": "Customer E [Member]" } } }, "localname": "CustomerEMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "xbrltype": "domainItemType" }, "pdfs_DFITestEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to DFI test equipment.", "label": "DFI Test Equipment [Member]" } } }, "localname": "DFITestEquipmentMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "domainItemType" }, "pdfs_EmployeeStockPurchasePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Enables employees to purchase their company's common stock, often at a discount from the market price.", "label": "Employee Stock Purchase Plan [Member]" } } }, "localname": "EmployeeStockPurchasePlanMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "domainItemType" }, "pdfs_EmployeeStockPurchasePlanWeightedAveragePurchasePriceOfSharesPurchased": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Employee stock purchase plan weighted average purchase price of shares purchased.", "label": "pdfs_EmployeeStockPurchasePlanWeightedAveragePurchasePriceOfSharesPurchased", "terseLabel": "Employee Stock Purchase Plan Weighted Average Purchase Price of Shares Purchased (in dollars per share)" } } }, "localname": "EmployeeStockPurchasePlanWeightedAveragePurchasePriceOfSharesPurchased", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "perShareItemType" }, "pdfs_EquityIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of equity issuance costs that were incurred during a noncash or partial noncash transaction.", "label": "Equity Issuance Costs Incurred During Noncash Or Partial Noncash Transaction", "terseLabel": "Issuance costs for common stock included in accounts payable and accrued other liabilities" } } }, "localname": "EquityIssuanceCostsIncurredDuringNoncashOrPartialNoncashTransaction", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails": { "order": 6.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "pdfs_FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour", "terseLabel": "2026 and thereafter" } } }, "localname": "FinitelivedIntangibleAssetExpectedAmortizationAfterYearFour", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_IDSPlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "IDS plan member.", "label": "IDS Plan [Member]" } } }, "localname": "IDSPlanMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "domainItemType" }, "pdfs_IncreaseDecreaseContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in billings in excess 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": "pdfs_IncreaseDecreaseContractWithCustomerLiabilityRevenueRecognized", "verboseLabel": "Billings in excess of recognized revenues" } } }, "localname": "IncreaseDecreaseContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_IncreaseDecreaseInOperatingLeaseLiabilities": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in operating lease liabilities.", "label": "Operating lease liabilities" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiabilities", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_IncreaseDecreaseInOperatingLeaseRightOfUseAssets": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in operating lease right-of-use assets.", "label": "pdfs_IncreaseDecreaseInOperatingLeaseRightOfUseAssets", "negatedLabel": "Operating lease right-of-use assets" } } }, "localname": "IncreaseDecreaseInOperatingLeaseRightOfUseAssets", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_IntangibleAssetsGross": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 }, "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The gross amount of intangible assets.", "label": "pdfs_IntangibleAssetsGross", "totalLabel": "Gross Carrying Amount, Total" } } }, "localname": "IntangibleAssetsGross", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_IntegratedYieldRampMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to Integrated yield ramp.", "label": "Integrated Yield Ramp [Member]" } } }, "localname": "IntegratedYieldRampMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "domainItemType" }, "pdfs_InterestAndOtherExpenseIncomeNet": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the amount of interest and other expense (income), net.", "label": "Interest And Other Expense Income Net", "negatedLabel": "Interest and other expense (income), net" } } }, "localname": "InterestAndOtherExpenseIncomeNet", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_LaboratoryAndTestEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to laboratory and test equipment.", "label": "Laboratory and Test Equipment [Member]" } } }, "localname": "LaboratoryAndTestEquipmentMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "pdfs_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails": { "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 payment for operating lease due after fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "pdfs_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "terseLabel": "2026 and thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_NoteToFinancialStatementDetailsTextual": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note To Financial Statement Details Textual" } } }, "localname": "NoteToFinancialStatementDetailsTextual", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_NotesToFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Notes to Financial Statements" } } }, "localname": "NotesToFinancialStatementsAbstract", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_NumberOfFinanceLeases": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of finance leases as of balance sheet date.", "label": "Number Of Finance Leases", "terseLabel": "Number of finance leases" } } }, "localname": "NumberOfFinanceLeases", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesOtherDetails" ], "xbrltype": "integerItemType" }, "pdfs_NumberOfRevenueSources": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to number of sources where the company is deriving revenue.", "label": "Number of Revenue Sources", "terseLabel": "Number of Revenue Sources" } } }, "localname": "NumberOfRevenueSources", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "integerItemType" }, "pdfs_OperatingLeaseLiabilityAmountRelatedToExtensionOfLeaseTerm": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of the operating lease liability related to an option to extend the lease term that is reasonably certain to be exercised.", "label": "pdfs_OperatingLeaseLiabilityAmountRelatedToExtensionOfLeaseTerm", "terseLabel": "Operating Lease, Liability, Amount Related to Extension of Lease Term" } } }, "localname": "OperatingLeaseLiabilityAmountRelatedToExtensionOfLeaseTerm", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesOtherDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_OutsideOfThe20112001OrIDSPlansMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the outside of the 2011, 2001 or IDS Plan.", "label": "Outside of the 2011, 2001 or IDS Plans [Member]" } } }, "localname": "OutsideOfThe20112001OrIDSPlansMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "domainItemType" }, "pdfs_PercentOfRevenue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The percent of revenue.", "label": "Percent of revenues" } } }, "localname": "PercentOfRevenue", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "percentItemType" }, "pdfs_PrepaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the prepayment for 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": "Prepayments To Acquire Property Plant And Equipment", "negatedLabel": "Prepayment for the purchase of property and equipment" } } }, "localname": "PrepaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_RestOfTheWorldMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the rest of the world.", "label": "Rest of the World [Member]" } } }, "localname": "RestOfTheWorldMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfPurchasePeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to number of purchase period in the offering of employee stock purchase plan.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Purchase Period", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Purchase Period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfPurchasePeriod", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "integerItemType" }, "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award is offered, 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, Offering Period", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Offering Period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOfferingPeriod", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "durationItemType" }, "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesReservedDecreaseRate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The reduction rate in the number of shares reserved under the option plan attributable to awards other than options or stock appreciation rights.", "label": "pdfs_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesReservedDecreaseRate", "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award Shares Reserved Decrease Rate (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesReservedDecreaseRate", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "sharesItemType" }, "pdfs_SharesPreviouslyIssuedUnderThe2001PlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Shares previously issued under the 2001 plan member.", "label": "Shares Previously Issued Under the 2001 Plan [Member]" } } }, "localname": "SharesPreviouslyIssuedUnderThe2001PlanMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "domainItemType" }, "pdfs_ShorttermAndVariableLeaseCost": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails": { "order": 1.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 and amount of variable lease cost, excluded from lease liability, recognized when obligation for payment is incurred for finance and operating leases.", "label": "Short-term lease and variable lease expense (1)" } } }, "localname": "ShorttermAndVariableLeaseCost", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_SoftwareLicenseAndRelatedServicesAgreementMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to software license and related services.", "label": "Software License and Related Services Agreement [Member]" } } }, "localname": "SoftwareLicenseAndRelatedServicesAgreementMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details" ], "xbrltype": "domainItemType" }, "pdfs_StockIssuedDuringPeriodValuePrivatePlacement": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in a private placement.", "label": "Stock Issued During Period Value Private Placement", "terseLabel": "Issuance of common stock, net of issuance of $0.1 million" } } }, "localname": "StockIssuedDuringPeriodValuePrivatePlacement", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "pdfs_StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Related to strategic partnership for joint development and sales technology solutions.", "label": "Strategic Partnership for Joint Development and Sales Technology Solutions [Member]" } } }, "localname": "StrategicPartnershipForJointDevelopmentAndSalesTechnologySolutionsMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "pdfs_TermOfProductWarranty": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to product warranty period following initial delivery.", "label": "Term of Product Warranty", "terseLabel": "Term of Product Warranty" } } }, "localname": "TermOfProductWarranty", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingenciesDetails" ], "xbrltype": "durationItemType" }, "pdfs_TestEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Test equipment member.", "label": "Test Equipment [Member]" } } }, "localname": "TestEquipmentMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "pdfs_The2018StockRepurchaseProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information related to the 2018 stock repurchase program.", "label": "The 2018 Stock Repurchase Program [Member]" } } }, "localname": "The2018StockRepurchaseProgramMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "pdfs_The2020StockRepurchaseProgramMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information pertaining to the 2020 Stock Repurchase Program.", "label": "The 2020 Stock Repurchase Program [Member]" } } }, "localname": "The2020StockRepurchaseProgramMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "pdfs_ThresholdPaymentPeriodOfMajorityOfPurchaseObligation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Threshold payment period for majority of purchase obligation.", "label": "Threshold Payment Period Of Majority Of Purchase Obligation", "terseLabel": "Threshold payment period" } } }, "localname": "ThresholdPaymentPeriodOfMajorityOfPurchaseObligation", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingenciesDetails" ], "xbrltype": "durationItemType" }, "pdfs_TwentyElevenStockIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Twenty eleven stock incentive plan member.", "label": "Twenty Eleven Stock Incentive Plan [Member]" } } }, "localname": "TwentyElevenStockIncentivePlanMember", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "domainItemType" }, "pdfs_UnbilledReceivablesNotExpectedToBeBilledAndCollectedInNextTwelveMonths": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of receivables under long-term contracts that have not been billed and were not billable that are expected to be collected after the next fiscal year. Excludes interim and annual periods when interim periods are reported on a rolling approach, from latest balance sheet date.", "label": "pdfs_UnbilledReceivablesNotExpectedToBeBilledAndCollectedInNextTwelveMonths", "terseLabel": "Unbilled Receivables, Not Expected to be Billed and Collected in Next Twelve Months" } } }, "localname": "UnbilledReceivablesNotExpectedToBeBilledAndCollectedInNextTwelveMonths", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_UnrecognizedTaxBenefitsInDeferredTaxAssets": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Unrecognized tax benefits in deferred tax assets.", "label": "pdfs_UnrecognizedTaxBenefitsInDeferredTaxAssets", "terseLabel": "Unrecognized Tax Benefits In Deferred Tax Assets" } } }, "localname": "UnrecognizedTaxBenefitsInDeferredTaxAssets", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedInLongTermLiabilities": { "auth_ref": [], "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 which have been recorded as part of the long-term liabilities in the balance sheet.", "label": "pdfs_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedInLongTermLiabilities", "terseLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued in Long Term Liabilities" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccruedInLongTermLiabilities", "nsuri": "http://www.pdf.com/20210930", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "pdfs_statement-statement-note-10-net-loss-per-share-antidilutive-securities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Net Loss Per Share - Anti-dilutive Securities (Details)" } } }, "localname": "statement-statement-note-10-net-loss-per-share-antidilutive-securities-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-10-net-loss-per-share-calculation-of-earnings-per-share-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Net Loss Per Share - Calculation of Earnings Per Share (Details)" } } }, "localname": "statement-statement-note-10-net-loss-per-share-calculation-of-earnings-per-share-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-10-net-loss-per-share-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 10 - Net Loss Per Share" } } }, "localname": "statement-statement-note-10-net-loss-per-share-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-11-customer-and-geographic-information-longlived-assets-by-geographic-area-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Customer and Geographic Information - Long-lived Assets by Geographic Area (Details)" } } }, "localname": "statement-statement-note-11-customer-and-geographic-information-longlived-assets-by-geographic-area-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-11-customer-and-geographic-information-revenue-percentage-by-major-customers-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Customer and Geographic Information - Revenue Percentage by Major Customers (Details)" } } }, "localname": "statement-statement-note-11-customer-and-geographic-information-revenue-percentage-by-major-customers-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-11-customer-and-geographic-information-revenues-by-geographic-area-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Customer and Geographic Information - Revenues by Geographic Area (Details)" } } }, "localname": "statement-statement-note-11-customer-and-geographic-information-revenues-by-geographic-area-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-11-customer-and-geographic-information-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 11 - Customer and Geographic Information" } } }, "localname": "statement-statement-note-11-customer-and-geographic-information-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-12-fair-value-measurements-fair-value-assets-measured-on-a-recurring-basis-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 12 - Fair Value Measurements - Fair Value, Assets Measured on a Recurring Basis (Details)" } } }, "localname": "statement-statement-note-12-fair-value-measurements-fair-value-assets-measured-on-a-recurring-basis-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-12-fair-value-measurements-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 12 - Fair Value Measurements" } } }, "localname": "statement-statement-note-12-fair-value-measurements-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-2-revenue-from-contracts-with-customers-disaggregation-of-revenue-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Revenue From Contracts With Customers - Disaggregation of Revenue (Details)" } } }, "localname": "statement-statement-note-2-revenue-from-contracts-with-customers-disaggregation-of-revenue-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-2-revenue-from-contracts-with-customers-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 2 - Revenue From Contracts With Customers" } } }, "localname": "statement-statement-note-2-revenue-from-contracts-with-customers-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-4-business-combination-fair-values-of-assets-acquired-and-liabilities-assumed-and-the-related-useful-lives-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Business Combination - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details)" } } }, "localname": "statement-statement-note-4-business-combination-fair-values-of-assets-acquired-and-liabilities-assumed-and-the-related-useful-lives-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-4-business-combination-fair-values-of-assets-acquired-and-liabilities-assumed-and-the-related-useful-lives-details-parentheticals": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Business Combination - Fair Values of Assets Acquired and Liabilities Assumed and the Related Useful Lives (Details) (Parentheticals)" } } }, "localname": "statement-statement-note-4-business-combination-fair-values-of-assets-acquired-and-liabilities-assumed-and-the-related-useful-lives-details-parentheticals", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-4-business-combination-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 4 - Business Combination" } } }, "localname": "statement-statement-note-4-business-combination-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-5-balance-sheet-components-annual-amortization-of-identifiable-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Balance Sheet Components - Annual Amortization of Identifiable Intangible Assets (Details)" } } }, "localname": "statement-statement-note-5-balance-sheet-components-annual-amortization-of-identifiable-intangible-assets-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-5-balance-sheet-components-change-in-carrying-amount-of-goodwill-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Balance Sheet Components - Change in Carrying Amount of Goodwill (Details)" } } }, "localname": "statement-statement-note-5-balance-sheet-components-change-in-carrying-amount-of-goodwill-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-5-balance-sheet-components-intangible-assets-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Balance Sheet Components - Intangible Assets (Details)" } } }, "localname": "statement-statement-note-5-balance-sheet-components-intangible-assets-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-5-balance-sheet-components-property-and-equipment-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Balance Sheet Components - Property and Equipment (Details)" } } }, "localname": "statement-statement-note-5-balance-sheet-components-property-and-equipment-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-5-balance-sheet-components-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 5 - Balance Sheet Components" } } }, "localname": "statement-statement-note-5-balance-sheet-components-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-6-leases-lease-cost-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Leases - Lease Cost (Details)" } } }, "localname": "statement-statement-note-6-leases-lease-cost-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-6-leases-maturity-of-operating-lease-liabilities-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Leases - Maturity of Operating Lease Liabilities (Details)" } } }, "localname": "statement-statement-note-6-leases-maturity-of-operating-lease-liabilities-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-6-leases-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 6 - Leases" } } }, "localname": "statement-statement-note-6-leases-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-8-employee-benefit-plans-allocation-of-recognized-period-costs-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Employee Benefit Plans - Allocation of Recognized Period Costs (Details)" } } }, "localname": "statement-statement-note-8-employee-benefit-plans-allocation-of-recognized-period-costs-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-8-employee-benefit-plans-nonvested-restricted-stock-units-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Employee Benefit Plans - Nonvested Restricted Stock Units Activity (Details)" } } }, "localname": "statement-statement-note-8-employee-benefit-plans-nonvested-restricted-stock-units-activity-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-8-employee-benefit-plans-stock-options-activity-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Employee Benefit Plans - Stock Options Activity (Details)" } } }, "localname": "statement-statement-note-8-employee-benefit-plans-stock-options-activity-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-8-employee-benefit-plans-stock-options-valuation-assumptions-details": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Employee Benefit Plans - Stock Options, Valuation Assumptions (Details)" } } }, "localname": "statement-statement-note-8-employee-benefit-plans-stock-options-valuation-assumptions-details", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-note-8-employee-benefit-plans-tables": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Note 8 - Employee Benefit Plans" } } }, "localname": "statement-statement-note-8-employee-benefit-plans-tables", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "pdfs_statement-statement-significant-accounting-policies-policies": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies" } } }, "localname": "statement-statement-significant-accounting-policies-policies", "nsuri": "http://www.pdf.com/20210930", "xbrltype": "stringItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r157", "r257", "r263", "r492" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r223", "r228", "r279", "r281", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r489", "r493", "r513", "r514" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r223", "r228", "r279", "r281", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r489", "r493", "r513", "r514" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r157", "r257", "r263", "r492" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r153", "r257", "r261", "r442", "r488", "r490" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r153", "r257", "r261", "r442", "r488", "r490" ], "lang": { "en-us": { "role": { "label": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r223", "r228", "r268", "r279", "r281", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r489", "r493", "r513", "r514" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r223", "r228", "r268", "r279", "r281", "r433", "r434", "r435", "r436", "r437", "r438", "r439", "r489", "r493", "r513", "r514" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r154", "r155", "r257", "r262", "r491", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r154", "r155", "r257", "r262", "r491", "r501", "r504", "r505", "r506", "r507", "r508", "r509", "r510", "r511", "r512" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "stringItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r27", "r429" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r502" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r4", "r13", "r159", "r160" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "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, net of allowance for doubtful accounts of $890 and $963 in 2021 and 2020, respectively" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedIncomeTaxesNoncurrent": { "auth_ref": [ "r10", "r461", "r476" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all domestic and foreign income tax obligations due beyond one year or the operating cycle, whichever is longer. Alternate captions include income taxes payable, noncurrent.", "label": "Long-term income taxes payable" } } }, "localname": "AccruedIncomeTaxesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.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 payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued and other current liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r25", "r201" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "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": "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "negatedLabel": "Less: accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r16", "r41", "r42", "r43", "r478", "r498", "r499" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "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 loss" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r40", "r43", "r50", "r51", "r52", "r87", "r88", "r89", "r372", "r494", "r495", "r522" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "auth_ref": [ "r188" ], "lang": { "en-us": { "role": { "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Amortization Period (Year)", "terseLabel": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life (Year)" } } }, "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "durationItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r14", "r323", "r429" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional paid-in-capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r87", "r88", "r89", "r320", "r321", "r322", "r389" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net loss to net cash provided by operating activities:" } } }, "localname": "AdjustmentsNoncashItemsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease to equity for grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedTerseLabel": "Purchases of treasury stock in connection with tax withholdings on restricted stock grants" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for option under share-based payment arrangement.", "label": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r284", "r315", "r325" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Stock-based compensation expenses" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r20", "r165", "r173" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Accounts receivable, allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r72", "r186", "r195" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "us-gaap_AmortizationOfIntangibleAssets", "terseLabel": "Amortization of Intangible Assets, Total" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r107" ], "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": "Anti-dilutive securities (in shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r107" ], "lang": { "en-us": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r107" ], "lang": { "en-us": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ArrangementsAndNonarrangementTransactionsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]" } } }, "localname": "ArrangementsAndNonarrangementTransactionsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Assets": { "auth_ref": [ "r81", "r133", "r143", "r149", "r171", "r210", "r211", "r212", "r214", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r367", "r373", "r399", "r427", "r429", "r460", "r475" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "us-gaap_Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r5", "r6", "r36", "r81", "r171", "r210", "r211", "r212", "r214", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r367", "r373", "r399", "r427", "r429" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "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": "us-gaap_AssetsCurrent", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_AvailableForSaleSecuritiesDebtSecurities": { "auth_ref": [ "r169", "r170", "r174", "r465" ], "calculation": { "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails": { "order": 1.0, "parentTag": "pdfs_CashCashEquivalentsShortTermInvestmentsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "us-gaap_AvailableForSaleSecuritiesDebtSecurities", "verboseLabel": "U.S. Treasury bills" } } }, "localname": "AvailableForSaleSecuritiesDebtSecurities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r285", "r318" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r380", "r384" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position).", "label": "Balance Sheet Location [Domain]" } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "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]" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "auth_ref": [ "r278", "r280" ], "lang": { "en-us": { "role": { "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree.", "label": "Business Acquisition, Acquiree [Domain]" } } }, "localname": "BusinessAcquisitionAcquireeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_BusinessAcquisitionAxis": { "auth_ref": [ "r278", "r280", "r355", "r356" ], "lang": { "en-us": { "role": { "documentation": "Information by business combination or series of individually immaterial business combinations.", "label": "Business Acquisition [Axis]" } } }, "localname": "BusinessAcquisitionAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "auth_ref": [ "r354" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities.", "label": "us-gaap_BusinessCombinationAcquisitionRelatedCosts", "terseLabel": "Business Combination, Acquisition Related Costs" } } }, "localname": "BusinessCombinationAcquisitionRelatedCosts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "auth_ref": [ "r363" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable).", "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Note 4 - BUSINESS COMBINATION" } } }, "localname": "BusinessCombinationDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombination" ], "xbrltype": "textBlockItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "auth_ref": [ "r358" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "terseLabel": "Fair value of cash" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue": { "auth_ref": [ "r358" ], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 3.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred revenue expected to be recognized as such within one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue", "terseLabel": "Deferred revenue" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "auth_ref": [ "r358" ], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 4.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "terseLabel": "Deferred tax liabilities" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets": { "auth_ref": [ "r358" ], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 3.0, "parentTag": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets, excluding financial assets and goodwill, that lack physical substance, having a projected indefinite period of benefit, acquired at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets", "terseLabel": "Fair value of indefinite-lived intangible assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIndefiniteLivedIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "auth_ref": [ "r357", "r358" ], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 4.0, "parentTag": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "terseLabel": "Fair value of finite-lived intangible assets" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "auth_ref": [ "r358" ], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 2.0, "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities assumed at the acquisition date.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "totalLabel": "Total liabilities assumed" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "auth_ref": [ "r358" ], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed.", "label": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "totalLabel": "Total purchase price allocation" } } }, "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r76", "r77", "r78" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Property and equipment received and accrued in accounts payable and accrued and other liabilities" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostAmortization": { "auth_ref": [ "r176" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "us-gaap_CapitalizedContractCostAmortization", "terseLabel": "Capitalized Contract Cost, Amortization", "verboseLabel": "Amortization of costs capitalized to obtain revenue contracts" } } }, "localname": "CapitalizedContractCostAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostImpairmentLoss": { "auth_ref": [ "r176" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of impairment loss for asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "us-gaap_CapitalizedContractCostImpairmentLoss", "terseLabel": "Capitalized Contract Cost, Impairment Loss" } } }, "localname": "CapitalizedContractCostImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostNet": { "auth_ref": [ "r175" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "us-gaap_CapitalizedContractCostNet", "terseLabel": "Capitalized Contract Cost, Net, Total" } } }, "localname": "CapitalizedContractCostNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r3", "r23", "r74" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "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", "periodEndLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails": { "order": 2.0, "parentTag": "pdfs_CashCashEquivalentsShortTermInvestmentsFairValueDisclosure", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Fair value portion 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.", "label": "us-gaap_CashAndCashEquivalentsFairValueDisclosure", "verboseLabel": "Money market mutual funds" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Reconciliation of cash, cash equivalents, and restricted cash to the balance sheets:" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r68", "r74", "r79" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "periodEndLabel": "Cash, cash equivalents, and restricted cash at end of period", "periodStartLabel": "Cash, cash equivalents, and restricted cash at beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r68", "r400" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "totalLabel": "Net change in cash, cash equivalents, and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r32", "r208", "r466", "r482" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "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 (Note 13)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r205", "r206", "r207", "r209", "r503" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Note 13 - COMMITMENTS AND CONTINGENCIES" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r33" ], "lang": { "en-us": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance", "terseLabel": "Common Stock, Capital Shares Reserved for Future Issuance (in shares)" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common stock, shares authorized (in shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r12" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common stock, shares issued (in shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r12", "r229" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common stock, shares outstanding (in shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r12", "r429" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.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, $0.00015 par value, 70,000 shares authorized; shares issued 47,248 and 46,400, respectively; shares outstanding 37,274 and 36,850, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CompensationAndEmployeeBenefitPlansTextBlock": { "auth_ref": [ "r266", "r267", "r282", "r326" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for an entity's employee compensation and benefit plans, including, but not limited to, postemployment and postretirement benefit plans, defined benefit pension plans, defined contribution plans, non-qualified and supplemental benefit plans, deferred compensation, share-based compensation, life insurance, severance, health care, unemployment and other benefit plans.", "label": "Compensation and Employee Benefit Plans [Text Block]", "terseLabel": "Note 8 - EMPLOYEE BENEFIT PLANS" } } }, "localname": "CompensationAndEmployeeBenefitPlansTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlans" ], "xbrltype": "textBlockItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r46", "r48", "r49", "r55", "r469", "r484" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "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)", "totalLabel": "Comprehensive loss" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r120", "r121", "r157", "r397", "r398", "r502" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r120", "r121", "r157", "r397", "r398", "r500", "r502" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r120", "r121", "r157", "r397", "r398", "r500", "r502" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r120", "r121", "r157", "r397", "r398" ], "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", "terseLabel": "Concentration Risk, Percentage", "verboseLabel": "Concentration risk" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r120", "r121", "r157", "r397", "r398", "r502" ], "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]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionInProgressGross": { "auth_ref": [ "r200" ], "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": "us-gaap_ConstructionInProgressGross", "terseLabel": "Construction in Progress, Gross" } } }, "localname": "ConstructionInProgressGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress [Member]" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "auth_ref": [ "r234", "r236", "r258" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "us-gaap_ContractWithCustomerAssetNetCurrent", "terseLabel": "Contract with Customer, Asset, after Allowance for Credit Loss, Current, Total" } } }, "localname": "ContractWithCustomerAssetNetCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r234", "r235", "r258" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "us-gaap_ContractWithCustomerLiability", "terseLabel": "Contract with Customer, Liability, Total" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r234", "r235", "r258" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.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": "Deferred revenues - current portion" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r234", "r235", "r258" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "us-gaap_ContractWithCustomerLiabilityNoncurrent", "terseLabel": "Contract with Customer, Liability, Noncurrent" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r259" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized", "terseLabel": "Contract with Customer, Liability, Revenue Recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "auth_ref": [ "r243" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price.", "label": "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "terseLabel": "Contract with Customer, Performance Obligation Satisfied in Previous Period" } } }, "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r58", "r81", "r171", "r210", "r211", "r212", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r399" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 4.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Costs of revenues" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostsAndExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Costs and Expenses:" } } }, "localname": "CostsAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r118", "r157" ], "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]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CustomerRelationshipsMember": { "auth_ref": [ "r361" ], "lang": { "en-us": { "role": { "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships.", "label": "Customer Relationships [Member]" } } }, "localname": "CustomerRelationshipsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r329", "r330" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 6.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": "us-gaap_DeferredIncomeTaxAssetsNet", "terseLabel": "Deferred tax assets, net", "verboseLabel": "Net deferred tax assets" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "auth_ref": [ "r72", "r82", "r340", "r345", "r346", "r347" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "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": "us-gaap_DeferredIncomeTaxExpenseBenefit", "verboseLabel": "Deferred taxes" } } }, "localname": "DeferredIncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "auth_ref": [ "r338" ], "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": "us-gaap_DeferredTaxAssetsValuationAllowance", "terseLabel": "Deferred Tax Assets, Valuation Allowance, Total" } } }, "localname": "DeferredTaxAssetsValuationAllowance", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r72", "r199" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.", "label": "us-gaap_DepreciationAndAmortization", "terseLabel": "Depreciation, Depletion and Amortization, Nonproduction, Total" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r72", "r131" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.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 and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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 [Domain]" } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "auth_ref": [ "r382" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement.", "label": "us-gaap_DerivativeGainLossOnDerivativeNet", "terseLabel": "Derivative, Gain (Loss) on Derivative, Net, Total" } } }, "localname": "DerivativeGainLossOnDerivativeNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r37", "r381", "r383", "r385", "r388" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DerivativeNumberOfInstrumentsHeld": { "auth_ref": [ "r378", "r379" ], "lang": { "en-us": { "role": { "documentation": "The number of derivative instruments of a particular group held by the entity.", "label": "us-gaap_DerivativeNumberOfInstrumentsHeld", "terseLabel": "Derivative, Number of Instruments Held" } } }, "localname": "DerivativeNumberOfInstrumentsHeld", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails" ], "xbrltype": "integerItemType" }, "us-gaap_DevelopedTechnologyRightsMember": { "auth_ref": [ "r362" ], "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]" } } }, "localname": "DevelopedTechnologyRightsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r257" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_DisclosureTextBlockAbstract", "terseLabel": "Notes to Financial Statements" } } }, "localname": "DisclosureTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShare", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformation", "http://www.pdf.com/role/DisclosureNote12FairValueMeasurements", "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingencies", "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPolicies", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers", "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions", "http://www.pdf.com/role/DisclosureNote4BusinessCombination", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponents", "http://www.pdf.com/role/DisclosureNote6Leases", "http://www.pdf.com/role/DisclosureNote7StockholdersEquity", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlans", "http://www.pdf.com/role/DisclosureNote9IncomeTaxes" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r56", "r92", "r93", "r94", "r95", "r96", "r100", "r102", "r104", "r105", "r106", "r110", "r111", "r390", "r391", "r470", "r485" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Basic (in dollars per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r56", "r92", "r93", "r94", "r95", "r96", "r102", "r104", "r105", "r106", "r110", "r111", "r390", "r391", "r470", "r485" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Diluted (in dollars per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r107", "r108" ], "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]" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r107", "r108", "r109", "r112" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Note 10 - NET LOSS PER SHARE" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r400" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies; including, but not limited to, disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Effect of exchange rate changes on cash and cash equivalents" } } }, "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r332" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "terseLabel": "Effective Income Tax Rate Reconciliation, Percent, Total" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r29" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued compensation and related benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount": { "auth_ref": [ "r316" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost capitalized for award under share-based payment arrangement.", "label": "Stock-based compensation capitalized as software development costs", "terseLabel": "Share-based Payment Arrangement, Amount Capitalized" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": { "auth_ref": [ "r317" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount, Total" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r317" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "terseLabel": "Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition (Year)" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r313" ], "lang": { "en-us": { "role": { "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time.", "label": "Share-based Payment Arrangement, Option [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r50", "r51", "r52", "r87", "r88", "r89", "r91", "r97", "r99", "r113", "r172", "r229", "r230", "r320", "r321", "r322", "r341", "r342", "r389", "r401", "r402", "r403", "r404", "r405", "r406", "r494", "r495", "r496", "r522" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r392", "r393" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, including [financial] instruments measured at fair value that are classified in stockholders' equity, if any, by class that are measured at fair value on a recurring basis. The disclosures contemplated herein include the fair value measurements at the reporting date by the level within the fair value hierarchy in which the fair value measurements in their entirety fall, segregating fair value measurements using quoted prices in active markets for identical assets (Level 1), significant other observable inputs (Level 2), and significant unobservable inputs (Level 3).", "label": "Fair Value, Assets Measured on Recurring Basis [Table Text Block]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "auth_ref": [ "r394" ], "lang": { "en-us": { "role": { "documentation": "Class of asset.", "label": "Asset Class [Domain]" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueByAssetClassAxis": { "auth_ref": [ "r392", "r396" ], "lang": { "en-us": { "role": { "documentation": "Information by class of asset.", "label": "Asset Class [Axis]" } } }, "localname": "FairValueByAssetClassAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r224", "r225", "r226", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r277", "r393", "r430", "r431", "r432" ], "lang": { "en-us": { "role": { "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient.", "label": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r395" ], "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": "Note 12 - FAIR VALUE MEASUREMENTS" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r224", "r269", "r270", "r275", "r277", "r393", "r430" ], "lang": { "en-us": { "role": { "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date.", "label": "Fair Value, Inputs, Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for fair value measurements of financial and non-financial assets, liabilities and instruments classified in shareholders' equity. Disclosures include, but are not limited to, how an entity that manages a group of financial assets and liabilities on the basis of its net exposure measures the fair value of those assets and liabilities.", "label": "Fair Value Measurement, Policy [Policy Text Block]" } } }, "localname": "FairValueMeasurementPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r224", "r225", "r226", "r269", "r270", "r271", "r272", "r273", "r274", "r275", "r277", "r430", "r431", "r432" ], "lang": { "en-us": { "role": { "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value.", "label": "Fair Value Hierarchy and NAV [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "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 assets, amortization period (Year)" } } }, "localname": "FiniteLivedIntangibleAssetUsefulLife", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r194" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": -1.0 }, "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc2": { "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": "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization", "negatedLabel": "Accumulated Amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r196" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails": { "order": 3.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "terseLabel": "2022" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "terseLabel": "2021 (remaining three months)" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r196" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails": { "order": 4.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r196" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails": { "order": 5.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r196" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "terseLabel": "2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r187", "r190", "r194", "r198", "r443", "r444" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r194", "r444" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc2": { "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": "Gross Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r187", "r193" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r194", "r443" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc3": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "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": "us-gaap_FiniteLivedIntangibleAssetsNet", "totalLabel": "Net Carrying Amount" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsAnnualAmortizationOfIdentifiableIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "auth_ref": [ "r407" ], "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]" } } }, "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ForeignExchangeContractMember": { "auth_ref": [ "r37", "r269", "r387" ], "lang": { "en-us": { "role": { "documentation": "Derivative instrument whose primary underlying risk is tied to foreign exchange rates.", "label": "Foreign Exchange Contract [Member]" } } }, "localname": "ForeignExchangeContractMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ForwardContractsMember": { "auth_ref": [ "r386" ], "lang": { "en-us": { "role": { "documentation": "Contracts negotiated between two parties to purchase and sell a specific quantity of a financial instrument, foreign currency, or commodity at a price specified at origination of the contract, with delivery and settlement at a specified future date.", "label": "Forward Contracts [Member]" } } }, "localname": "ForwardContractsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails" ], "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]" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeographicConcentrationRiskMember": { "auth_ref": [ "r119", "r502" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that a specified dollar value on the balance sheet or income statement in the period from one or more specified geographic areas is to a corresponding consolidated, segment, or product line amount. Risk is the materially adverse effects of economic decline or antagonistic political actions resulting in loss of assets, sales volume, labor supply, or source of materials and supplies in a US state or a specified country, continent, or region such as EMEA (Europe, Middle East, Africa).", "label": "Geographic Concentration Risk [Member]" } } }, "localname": "GeographicConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "domainItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r177", "r179", "r429", "r459" ], "calculation": { "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails": { "order": 1.0, "parentTag": "pdfs_BusinessCombinationRecognizedIdentifiableAssetsAcquiredIncludingGoodwill", "weight": 1.0 }, "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.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", "periodEndLabel": "Balance at end of period", "periodStartLabel": "Balance at beginning of period", "terseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsChangeInCarryingAmountOfGoodwillDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsIntangibleAssetsPolicy": { "auth_ref": [ "r191" ], "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]" } } }, "localname": "GoodwillAndIntangibleAssetsIntangibleAssetsPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GoodwillImpairmentLoss": { "auth_ref": [ "r72", "r178", "r180", "r183" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill, Impairment Loss", "verboseLabel": "Impairment of goodwill" } } }, "localname": "GoodwillImpairmentLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "auth_ref": [ "r182" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) 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": "us-gaap_GoodwillPeriodIncreaseDecrease", "terseLabel": "Goodwill, Period Increase (Decrease), Total" } } }, "localname": "GoodwillPeriodIncreaseDecrease", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "auth_ref": [ "r181", "r353" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "us-gaap_GoodwillPurchaseAccountingAdjustments", "terseLabel": "Measurement period acquisition adjustment (1)", "verboseLabel": "Release of restricted cash reducing goodwill due to the acquisition purchase price adjustment" } } }, "localname": "GoodwillPurchaseAccountingAdjustments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsChangeInCarryingAmountOfGoodwillDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_InProcessResearchAndDevelopmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process.", "label": "In Process Research and Development [Member]" } } }, "localname": "InProcessResearchAndDevelopmentMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r53", "r133", "r142", "r145", "r148", "r151", "r457", "r467", "r471", "r486" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "totalLabel": "Loss before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE LOSS (Unaudited)" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r203", "r204" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r204" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r83", "r333", "r337", "r339", "r343", "r348", "r350", "r351", "r352" ], "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": "Note 9 - INCOME TAXES" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r84", "r98", "r99", "r132", "r331", "r344", "r349", "r487" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income tax expense (benefit)", "terseLabel": "Income Tax Expense (Benefit), Total" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r69", "r75" ], "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.", "label": "Cash paid during the period for taxes" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r71" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.", "label": "us-gaap_IncreaseDecreaseInAccountsPayable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r71" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "us-gaap_IncreaseDecreaseInAccountsReceivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "auth_ref": [ "r71" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.", "label": "Accrued and other liabilities" } } }, "localname": "IncreaseDecreaseInAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r71", "r440" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "us-gaap_IncreaseDecreaseInContractWithCustomerLiability", "terseLabel": "Deferred revenues" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "auth_ref": [ "r71" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 10.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 related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits.", "label": "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities", "terseLabel": "Accrued compensation and related benefits" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInIncomeTaxes": { "auth_ref": [ "r71" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to taxing authorities for taxes that are based on the reporting entity's earnings, net of amounts receivable from taxing authorities for refunds of overpayments or recoveries of income taxes, and in deferred and other tax liabilities and assets.", "label": "us-gaap_IncreaseDecreaseInIncomeTaxes", "terseLabel": "Increase (Decrease) in Income Taxes" } } }, "localname": "IncreaseDecreaseInIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "auth_ref": [ "r71" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 16.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": "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets", "negatedLabel": "Other non-current assets" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssetsAndLiabilitiesNetAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r71" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 14.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": "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r189", "r197" ], "lang": { "en-us": { "role": { "documentation": "Information by type or class of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.", "label": "Indefinite-lived Intangible Assets [Axis]" } } }, "localname": "IndefiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill": { "auth_ref": [ "r197" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc2": { "order": 2.0, "parentTag": "pdfs_IntangibleAssetsGross", "weight": 1.0 }, "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc3": { "order": 2.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of assets, excluding financial assets and goodwill, lacking physical substance and having a projected indefinite period of benefit.", "label": "us-gaap_IndefiniteLivedIntangibleAssetsExcludingGoodwill", "terseLabel": "In-process R&D" } } }, "localname": "IndefiniteLivedIntangibleAssetsExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IndefiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r189", "r197" ], "lang": { "en-us": { "role": { "documentation": "The major class of indefinite-lived intangible asset (for example, trade names, etc. but not all-inclusive), excluding goodwill. 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 the company.", "label": "Indefinite-lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "IndefiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r185", "r192" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetailsCalc3": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible assets, net", "totalLabel": "Net Carrying Amount, Total" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r416", "r418" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "us-gaap_LeaseCost", "totalLabel": "Total lease expense" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r416" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r200" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r417" ], "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]" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r417" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "totalLabel": "Total future minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r417" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails": { "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 payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "terseLabel": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r417" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails": { "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 payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r417" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails": { "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 payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r417" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails": { "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 payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r417" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails": { "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 payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.", "label": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "terseLabel": "2021 (remaining three months)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r417" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "negatedLabel": "Less: Interest (2)" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r419" ], "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": "Note 6 - LEASES" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r28", "r81", "r144", "r171", "r210", "r211", "r212", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r368", "r373", "r374", "r399", "r427", "r428" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "us-gaap_Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r19", "r81", "r171", "r399", "r429", "r462", "r480" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "us-gaap_LiabilitiesAndStockholdersEquity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r30", "r81", "r171", "r210", "r211", "r212", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r368", "r373", "r374", "r399", "r427", "r428", "r429" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "us-gaap_LiabilitiesCurrent", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyAccrualAtCarryingValue": { "auth_ref": [ "r208" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of loss contingency liability.", "label": "Loss Contingency Accrual", "verboseLabel": "Accrued amount" } } }, "localname": "LossContingencyAccrualAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r269" ], "lang": { "en-us": { "role": { "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities.", "label": "Money Market Funds [Member]" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r68" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r68" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "totalLabel": "Net cash provided by (used in) investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r68", "r70", "r73" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r44", "r47", "r52", "r54", "r73", "r81", "r90", "r92", "r93", "r94", "r95", "r98", "r99", "r103", "r133", "r142", "r145", "r148", "r151", "r171", "r210", "r211", "r212", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r391", "r399", "r468", "r483" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "us-gaap_NetIncomeLoss", "totalLabel": "Net loss", "verboseLabel": "Net loss" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonUsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Countries excluding the United States of America (US).", "label": "Non-US [Member]" } } }, "localname": "NonUsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "domainItemType" }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental disclosure of noncash information:" } } }, "localname": "NoncashInvestingAndFinancingItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_NoncompeteAgreementsMember": { "auth_ref": [ "r360" ], "lang": { "en-us": { "role": { "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party.", "label": "Noncompete Agreements [Member]" } } }, "localname": "NoncompeteAgreementsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NoncurrentAssets": { "auth_ref": [ "r155" ], "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": "us-gaap_NoncurrentAssets", "terseLabel": "Long-lived assets, net" } } }, "localname": "NoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r126" ], "lang": { "en-us": { "role": { "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues.", "label": "us-gaap_NumberOfOperatingSegments", "terseLabel": "Number of Operating Segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationOtherDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r126" ], "lang": { "en-us": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "us-gaap_NumberOfReportableSegments", "terseLabel": "Number of Reportable Segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationOtherDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r411", "r418" ], "calculation": { "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails": { "order": 2.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 expense" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r409" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Present value of future minimum lease payments under operating lease liabilities (3)" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesMaturityOfOperatingLeaseLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r409" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.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 liabilities - current portion", "terseLabel": "Operating Lease, Liability, Current" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesOtherDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r409" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Non-current operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r410", "r412" ], "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": "Cash paid for amounts included in the measurement of operating lease liabilities" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r408" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating lease right-of-use assets, net" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r415", "r418" ], "lang": { "en-us": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Weighted average discount rate for operating lease liabilities" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r414", "r418" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Weighted average remaining lease term under operating ROU leases (in years) (Year)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": { "auth_ref": [ "r2", "r377" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]", "terseLabel": "Note 1 - BASIS OF PRESENTATION AND SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r26" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 7.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" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r365", "r366", "r371" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity.", "label": "Foreign currency translation adjustments, net of tax" } } }, "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other comprehensive income (loss):" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxAttributableToParentAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r45", "r48", "r365", "r366", "r371" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "totalLabel": "Total other comprehensive income (loss)" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax": { "auth_ref": [ "r39", "r41" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, after tax and before adjustment, of unrealized holding gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale). Excludes unrealized gain (loss) on investment in debt security measured at amortized cost (held-to-maturity) from transfer to available-for-sale.", "label": "Change in unrealized losses related to available-for-sale debt securities, net of tax" } } }, "localname": "OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r31" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 3.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": "us-gaap_OtherLiabilitiesNoncurrent", "terseLabel": "Other non-current liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncashIncomeExpense": { "auth_ref": [ "r73" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other.", "label": "Other Noncash Income (Expense)", "negatedLabel": "Others" } } }, "localname": "OtherNoncashIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNoncurrentAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other noncurrent assets.", "label": "Other Noncurrent Assets [Member]" } } }, "localname": "OtherNoncurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "domainItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing other nonoperating income (expense).", "label": "Other Nonoperating Income (Expense) [Member]" } } }, "localname": "OtherNonoperatingIncomeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PatentsMember": { "auth_ref": [ "r362" ], "lang": { "en-us": { "role": { "documentation": "Exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law.", "label": "Patents [Member]" } } }, "localname": "PatentsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "auth_ref": [ "r65" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to reacquire common stock during the period.", "label": "us-gaap_PaymentsForRepurchaseOfCommonStock", "negatedLabel": "Repurchases of common stock" } } }, "localname": "PaymentsForRepurchaseOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfStockIssuanceCosts": { "auth_ref": [ "r66" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.", "label": "us-gaap_PaymentsOfStockIssuanceCosts", "terseLabel": "Payments of Stock Issuance Costs" } } }, "localname": "PaymentsOfStockIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r65" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "negatedLabel": "Payments for taxes related to net share settlement of equity awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "auth_ref": [ "r61" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase.", "label": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "terseLabel": "Payments to Acquire Businesses, Net of Cash Acquired, Total" } } }, "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r62" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment", "negatedLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireShortTermInvestments": { "auth_ref": [ "r63" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for securities or other assets acquired, which qualify for treatment as an investing activity and are to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.", "label": "us-gaap_PaymentsToAcquireShortTermInvestments", "negatedLabel": "Purchases of short-term investments" } } }, "localname": "PaymentsToAcquireShortTermInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r285", "r318" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PolicyTextBlockAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_PolicyTextBlockAbstract", "terseLabel": "Accounting Policies" } } }, "localname": "PolicyTextBlockAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "stringItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r11", "r227" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred stock, par value (in dollars per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r11" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred stock, shares authorized (in shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r11", "r227" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred stock, shares issued (in shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r11" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred stock, shares outstanding (in shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r11", "r429" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 6.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred stock, $0.00015 par value, 5,000 shares authorized, no shares issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r5", "r21", "r22" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing prepaid expenses and other current assets.", "label": "Prepaid Expenses and Other Current Assets [Member]" } } }, "localname": "PrepaidExpensesAndOtherCurrentAssetsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromIssuanceOfCommonStock": { "auth_ref": [ "r64" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from the additional capital contribution to the entity.", "label": "us-gaap_ProceedsFromIssuanceOfCommonStock", "terseLabel": "Proceeds from Issuance of Common Stock", "verboseLabel": "Proceeds from issuance of common stock, net of issuance costs paid" } } }, "localname": "ProceedsFromIssuanceOfCommonStock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments": { "auth_ref": [ "r60", "r63" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow from maturities, prepayments, calls and collections of all investments, including securities and other assets, having ready marketability and intended by management to be liquidated, if necessary, within the current operating cycle. Includes cash flows from securities classified as trading securities that were acquired for reasons other than sale in the short-term.", "label": "Proceeds from maturities of short-term investments", "terseLabel": "Proceeds from maturities of short-term investments" } } }, "localname": "ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r64", "r319" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 1.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 exercise of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockPlans": { "auth_ref": [ "r64" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the amount received from the stock plan during the period.", "label": "Proceeds from employee stock purchase plan" } } }, "localname": "ProceedsFromStockPlans", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r1", "r44", "r47", "r52", "r67", "r81", "r90", "r98", "r99", "r133", "r142", "r145", "r148", "r151", "r171", "r210", "r211", "r212", "r215", "r216", "r217", "r218", "r219", "r221", "r222", "r365", "r369", "r370", "r375", "r376", "r391", "r399", "r471" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "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", "verboseLabel": "Net loss" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r25", "r202" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r24", "r200" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "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 and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r7", "r8", "r202", "r429", "r473", "r481" ], "calculation": { "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.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 and equipment, net", "totalLabel": "Total" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r7", "r202" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r7", "r200" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Long-Lived Tangible Asset [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "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": "us-gaap_PurchaseObligation", "terseLabel": "Purchase Obligation, Total" } } }, "localname": "PurchaseObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote13CommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RelatedPartyDomain": { "auth_ref": [ "r276", "r422", "r423" ], "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]" } } }, "localname": "RelatedPartyDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionDueFromToRelatedParty": { "auth_ref": [ "r85", "r213", "r215", "r216", "r220", "r221", "r222", "r423" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Receivables to be collected from (obligations owed to) related parties, net as of the balance sheet date 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": "us-gaap_RelatedPartyTransactionDueFromToRelatedParty", "terseLabel": "Related Party Transaction, Due from (to) Related Party, Total" } } }, "localname": "RelatedPartyTransactionDueFromToRelatedParty", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "auth_ref": [ "r276", "r422", "r424", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r420", "r421", "r423", "r425", "r426" ], "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": "Note 3 - STRATEGIC PARTNERSHIP AGREEMENT WITH ADVANTEST AND RELATED PARTY TRANSACTIONS" } } }, "localname": "RelatedPartyTransactionsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactions" ], "xbrltype": "textBlockItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r327", "r441", "r515" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 5.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and Development Expense [Member]" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCash": { "auth_ref": [ "r79", "r458", "r477" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits.", "label": "us-gaap_RestrictedCash", "periodEndLabel": "Restricted cash", "terseLabel": "Restricted Cash, Total" } } }, "localname": "RestrictedCash", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "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 (RSUs) [Member]" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r15", "r230", "r323", "r429", "r479", "r497", "r499" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "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": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r87", "r88", "r89", "r91", "r97", "r99", "r172", "r320", "r321", "r322", "r341", "r342", "r389", "r494", "r496" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerIncludingAssessedTax": { "auth_ref": [ "r129", "r130", "r141", "r146", "r147", "r153", "r154", "r157", "r256", "r257", "r442" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "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": "Revenues", "terseLabel": "Revenue from Contract with Customer, Including Assessed Tax" } } }, "localname": "RevenueFromContractWithCustomerIncludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerPolicyTextBlock": { "auth_ref": [ "r80", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r265" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue from contract with customer.", "label": "Revenue from Contract with Customer [Policy Text Block]" } } }, "localname": "RevenueFromContractWithCustomerPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r237", "r238", "r239", "r240", "r241", "r242", "r246", "r247", "r260", "r265" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "terseLabel": "Note 2 - REVENUE FROM CONTRACTS WITH CUSTOMERS" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r244" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "us-gaap_RevenueRemainingPerformanceObligation", "terseLabel": "Revenue, Remaining Performance Obligation, Amount" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r245" ], "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": "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period (Year)" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r245" ], "lang": { "en-us": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details" ], "xbrltype": "stringItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenues:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r413", "r418" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Operating lease ROU assets obtained (in thousands)", "terseLabel": "Operating lease liabilities arising from obtaining right-of-use assets" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote6LeasesLeaseCostDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_SalesRevenueNetMember": { "auth_ref": [ "r120", "r157" ], "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": "Revenue Benchmark [Member]" } } }, "localname": "SalesRevenueNetMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r107" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock": { "auth_ref": [ "r355", "r356" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of a material business combination completed during the period, including background, timing, and recognized assets and liabilities. This table does not include leveraged buyouts.", "label": "Schedule of Business Acquisitions, by Acquisition [Table Text Block]" } } }, "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r106" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r284", "r314", "r325" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": { "auth_ref": [ "r155" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the names of foreign countries in which material 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 are located, and amount of such long-lived assets located in that country or foreign geographic area.", "label": "Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block]" } } }, "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r187", "r193" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfGoodwillTextBlock": { "auth_ref": [ "r182", "r184" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule.", "label": "Schedule of Goodwill [Table Text Block]" } } }, "localname": "ScheduleOfGoodwillTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables" ], "xbrltype": "textBlockItemType" }, "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]" } } }, "localname": "ScheduleOfRevenueByMajorCustomersByReportingSegmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock": { "auth_ref": [ "r57", "r154" ], "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]" } } }, "localname": "ScheduleOfRevenueFromExternalCustomersAttributedToForeignCountriesByGeographicAreaTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r292", "r303", "r306" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Share-based Payment Arrangement, Option, Activity [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": { "auth_ref": [ "r308" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.", "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions [Table Text Block]" } } }, "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r193" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r125", "r127", "r128", "r133", "r134", "r145", "r149", "r150", "r151", "r152", "r153", "r156", "r157", "r158" ], "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": "Note 11 - CUSTOMER AND GEOGRAPHIC INFORMATION" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r135", "r136", "r137", "r138", "r139", "r140", "r154" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r59" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited": { "order": 6.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total costs related to selling a firm's product and services, as well as all other general and administrative expenses. Direct selling expenses (for example, credit, warranty, and advertising) are expenses that can be directly linked to the sale of specific products. Indirect selling expenses are expenses that cannot be directly linked to the sale of specific products, for example telephone expenses, Internet, and postal charges. General and administrative expenses include salaries of non-sales personnel, rent, utilities, communication, etc.", "label": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpensesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling, general and administrative expense.", "label": "Selling, General and Administrative Expenses [Member]" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r71" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensation", "verboseLabel": "Stock-based compensation expense" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r286" ], "lang": { "en-us": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period (Year)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "auth_ref": [ "r297" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "negatedTerseLabel": "Forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "auth_ref": [ "r302" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "verboseLabel": "Forfeited, weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "auth_ref": [ "r300" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "terseLabel": "Granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r300" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "verboseLabel": "Granted, weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "auth_ref": [ "r299" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "periodEndLabel": "Nonvested, Balance (in shares)", "periodStartLabel": "Nonvested, Balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "auth_ref": [ "r299" ], "lang": { "en-us": { "role": { "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "periodEndLabel": "Nonvested, weighted average grant date fair value (in dollars per share)", "periodStartLabel": "Nonvested, weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "auth_ref": [ "r301" ], "lang": { "en-us": { "role": { "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "negatedTerseLabel": "Vested (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r301" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "verboseLabel": "Vested, weighted average grant date fair value (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r311" ], "lang": { "en-us": { "role": { "documentation": "The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "terseLabel": "Expected dividend" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r310" ], "lang": { "en-us": { "role": { "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "terseLabel": "Volatility" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r312" ], "lang": { "en-us": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "terseLabel": "Risk-free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": { "auth_ref": [ "r318" ], "lang": { "en-us": { "role": { "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Maximum Employee Subscription Rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r288" ], "lang": { "en-us": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r318" ], "lang": { "en-us": { "role": { "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Exercisable (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Exercisable, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r305" ], "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": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "negatedLabel": "Expired (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r297" ], "lang": { "en-us": { "role": { "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "negatedLabel": "Canceled (in shares)", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Granted (in shares)", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "auth_ref": [ "r304" ], "lang": { "en-us": { "role": { "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "verboseLabel": "Weighted average fair value of purchase rights granted during the period (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "auth_ref": [ "r318" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.", "label": "Outstanding, aggregate intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r294", "r318" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "periodEndLabel": "Outstanding, ending balance (in shares)", "periodStartLabel": "Outstanding, beginning balance (in shares)", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number, Ending Balance (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r293" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "periodEndLabel": "Outstanding, weighted average exercise price, ending balance (in dollars per share)", "periodStartLabel": "Outstanding, weighted average exercise price, beginning balance (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": { "auth_ref": [ "r306" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Vested and expected to vest, aggregate intrinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": { "auth_ref": [ "r307" ], "lang": { "en-us": { "role": { "documentation": "Number of fully vested and expected to vest options outstanding that can be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Vested and expected to vest (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r307" ], "lang": { "en-us": { "role": { "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Vested and expected to vest, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r283", "r289" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "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": "Exercised, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.", "label": "Expired, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated.", "label": "Canceled, weighted average exercise price (in dollars per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "auth_ref": [ "r285", "r290" ], "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 Payment Arrangement [Policy Text Block]" } } }, "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharePrice": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Price of a single share of a number of saleable stocks of a company.", "label": "us-gaap_SharePrice", "terseLabel": "Share Price (in dollars per share)" } } }, "localname": "SharePrice", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "perShareItemType" }, "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareRepurchaseProgramDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the share repurchase program.", "label": "Share Repurchase Program [Domain]" } } }, "localname": "ShareRepurchaseProgramDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r287" ], "lang": { "en-us": { "role": { "documentation": "Period from grant date that an equity-based award expires, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": { "auth_ref": [ "r309", "r324" ], "lang": { "en-us": { "role": { "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "terseLabel": "Expected life (in years) (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": { "auth_ref": [ "r318" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.", "label": "Exercisable, aggregate intrinsic value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r318" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Exercisable, weighted average remaining contractual term (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r307" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Outstanding, weighted average remaining contractual (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r307" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.", "label": "Vested and expected to vest, weighted average remaining contractual term (Year)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1": { "auth_ref": [ "r291" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Fair value of options vested. Excludes equity instruments other than options, for example, but not limited to, share units, stock appreciation rights, restricted stock.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareholdersEquityAndShareBasedPaymentsTextBlock": { "auth_ref": [ "r233", "r326" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity and share-based payment arrangement. Includes, but is not limited to, disclosure of policy and terms of share-based payment arrangement, deferred compensation arrangement, and employee stock purchase plan (ESPP).", "label": "Shareholders' Equity and Share-based Payments [Text Block]", "terseLabel": "Note 7 - STOCKHOLDERS EQUITY" } } }, "localname": "ShareholdersEquityAndShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_SharesIssuedPricePerShare": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Per share or per unit amount of equity securities issued.", "label": "us-gaap_SharesIssuedPricePerShare", "terseLabel": "Shares Issued, Price Per Share (in dollars per share)" } } }, "localname": "SharesIssuedPricePerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "us-gaap_SharesOutstanding", "periodEndLabel": "Balances (in shares)", "periodStartLabel": "Balances (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Purchases of treasury stock in connection with tax withholdings on restricted stock grants (in shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermInvestments": { "auth_ref": [ "r9", "r463", "r464", "r474" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of investments including trading securities, available-for-sale securities, held-to-maturity securities, and short-term investments classified as other and current.", "label": "Short-term investments" } } }, "localname": "ShortTermInvestments", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use.", "label": "Software and Software Development Costs [Member]" } } }, "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r35", "r50", "r51", "r52", "r87", "r88", "r89", "r91", "r97", "r99", "r113", "r172", "r229", "r230", "r320", "r321", "r322", "r341", "r342", "r389", "r401", "r402", "r403", "r404", "r405", "r406", "r494", "r495", "r496", "r522" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "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]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails", "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails", "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Unaudited)" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS (Unaudited)" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS EQUITY (Unaudited)" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r87", "r88", "r89", "r113", "r442" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareAntiDilutiveSecuritiesDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationLongLivedAssetsByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuePercentageByMajorCustomersDetails", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationRevenuesByGeographicAreaDetails", "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails", "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsOtherDetails", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers1Details", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomers2Details", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails", "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesNarrativeDetails", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationOtherDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsPropertyAndEquipmentDetails", "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansAllocationOfRecognizedPeriodCostsDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansNonvestedRestrictedStockUnitsActivityDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsValuationAssumptionsDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "auth_ref": [ "r11", "r12", "r229", "r230" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan.", "label": "Issuance of common stock in connection with employee stock purchase plan (in shares)", "terseLabel": "Stock Issued During Period, Shares, Employee Stock Purchase Plans (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansOtherDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r11", "r12", "r229", "r230" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "us-gaap_StockIssuedDuringPeriodSharesNewIssues", "terseLabel": "Stock Issued During Period, Shares, New Issues (in shares)", "verboseLabel": "Issuance of common stock, net of issuance of $0.1 million (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote3StrategicPartnershipAgreementWithAdvantestAndRelatedPartyTransactionsDetails", "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": { "auth_ref": [ "r229", "r230" ], "lang": { "en-us": { "role": { "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.", "label": "Vesting of restricted stock units (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r11", "r12", "r229", "r230", "r296" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Issuance of common stock in connection with exercise of options (in shares)", "negatedLabel": "Exercised (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansStockOptionsActivityDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "auth_ref": [ "r11", "r12", "r229", "r230" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.", "label": "Issuance of common stock in connection with employee stock purchase plan" } } }, "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r35", "r229", "r230" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Issuance of common stock in connection with exercise of options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of stock repurchase plan authorized.", "label": "us-gaap_StockRepurchaseProgramAuthorizedAmount1", "terseLabel": "Stock Repurchase Program, Authorized Amount" } } }, "localname": "StockRepurchaseProgramAuthorizedAmount1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRepurchaseProgramPeriodInForce1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Period which shares may be purchased under a stock repurchase plan authorized by an entity's Board of Directors, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "us-gaap_StockRepurchaseProgramPeriodInForce1", "terseLabel": "Stock Repurchase Program, Period in Force (Year)" } } }, "localname": "StockRepurchaseProgramPeriodInForce1", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r12", "r17", "r18", "r81", "r167", "r171", "r399", "r429" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "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": "us-gaap_StockholdersEquity", "periodEndLabel": "Balances", "periodStartLabel": "Balances", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityNumberOfSharesParValueAndOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' equity:" } } }, "localname": "StockholdersEquityNumberOfSharesParValueAndOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": { "auth_ref": [ "r38" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.", "label": "Supplemental Balance Sheet Disclosures [Text Block]", "terseLabel": "Note 5 - BALANCE SHEET COMPONENTS" } } }, "localname": "SupplementalBalanceSheetDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" ], "xbrltype": "stringItemType" }, "us-gaap_TableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "us-gaap_TableTextBlock", "terseLabel": "Notes Tables" } } }, "localname": "TableTextBlock", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareTables", "http://www.pdf.com/role/DisclosureNote11CustomerAndGeographicInformationTables", "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsTables", "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersTables", "http://www.pdf.com/role/DisclosureNote4BusinessCombinationTables", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsTables", "http://www.pdf.com/role/DisclosureNote6LeasesTables", "http://www.pdf.com/role/DisclosureNote8EmployeeBenefitPlansTables" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceAxis": { "auth_ref": [ "r257", "r264" ], "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/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_TimingOfTransferOfGoodOrServiceDomain": { "auth_ref": [ "r257", "r264" ], "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]" } } }, "localname": "TimingOfTransferOfGoodOrServiceDomain", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "auth_ref": [ "r161", "r162", "r163", "r164", "r166", "r168" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable.", "label": "Accounts Receivable [Policy Text Block]" } } }, "localname": "TradeAndOtherAccountsReceivablePolicy", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_TrademarksAndTradeNamesMember": { "auth_ref": [ "r359" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof.", "label": "Trademarks and Trade Names [Member]" } } }, "localname": "TrademarksAndTradeNamesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote4BusinessCombinationFairValuesOfAssetsAcquiredAndLiabilitiesAssumedAndRelatedUsefulLivesDetails", "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsIntangibleAssetsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredAtPointInTimeMember": { "auth_ref": [ "r264" ], "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]" } } }, "localname": "TransferredAtPointInTimeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TransferredOverTimeMember": { "auth_ref": [ "r264" ], "lang": { "en-us": { "role": { "documentation": "Contract with customer in which good or service is transferred over time.", "label": "Transferred over Time [Member]" } } }, "localname": "TransferredOverTimeMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote2RevenueFromContractsWithCustomersDisaggregationOfRevenueDetails" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "auth_ref": [ "r231" ], "lang": { "en-us": { "role": { "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased.", "label": "us-gaap_TreasuryStockAcquiredAverageCostPerShare", "terseLabel": "Treasury Stock Acquired, Average Cost Per Share (in dollars per share)" } } }, "localname": "TreasuryStockAcquiredAverageCostPerShare", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r34", "r231" ], "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]" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "domainItemType" }, "us-gaap_TreasuryStockShares": { "auth_ref": [ "r34", "r231" ], "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 (in shares)" } } }, "localname": "TreasuryStockShares", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParentheticals" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockSharesAcquired": { "auth_ref": [ "r12", "r229", "r230" ], "lang": { "en-us": { "role": { "documentation": "Number of shares that have been repurchased during the period and are being held in treasury.", "label": "Repurchase of common stock (in shares)", "terseLabel": "Treasury Stock, Shares, Acquired (in shares)" } } }, "localname": "TreasuryStockSharesAcquired", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_TreasuryStockValue": { "auth_ref": [ "r34", "r231", "r232" ], "calculation": { "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": -1.0 } }, "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": "us-gaap_TreasuryStockValue", "negatedLabel": "Treasury stock at cost, 9,974 and 9,550 shares, respectively" } } }, "localname": "TreasuryStockValue", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockValueAcquiredCostMethod": { "auth_ref": [ "r229", "r230", "r231" ], "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": "us-gaap_TreasuryStockValueAcquiredCostMethod", "negatedLabel": "Repurchase of common stock", "terseLabel": "Treasury Stock, Value, Acquired, Cost Method" } } }, "localname": "TreasuryStockValueAcquiredCostMethod", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" ], "xbrltype": "monetaryItemType" }, "us-gaap_TypeOfArrangementAxis": { "auth_ref": [ "r364" ], "lang": { "en-us": { "role": { "documentation": "Information by collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]" } } }, "localname": "TypeOfArrangementAxis", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote7StockholdersEquityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_USTreasurySecuritiesMember": { "auth_ref": [ "r86", "r269", "r277", "r472" ], "lang": { "en-us": { "role": { "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years).", "label": "US Treasury Securities [Member]" } } }, "localname": "USTreasurySecuritiesMember", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote12FairValueMeasurementsFairValueAssetsMeasuredOnRecurringBasisDetails" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "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": "us-gaap_UnbilledReceivablesCurrent", "terseLabel": "Unbilled Receivables, Current" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote5BalanceSheetComponentsOtherDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefits": { "auth_ref": [ "r328", "r335" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of unrecognized tax benefits.", "label": "us-gaap_UnrecognizedTaxBenefits", "terseLabel": "Unrecognized Tax Benefits, Ending Balance" } } }, "localname": "UnrecognizedTaxBenefits", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued": { "auth_ref": [ "r334" ], "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": "us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "terseLabel": "Unrecognized Tax Benefits, Income Tax Penalties and Interest Accrued, Total" } } }, "localname": "UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate": { "auth_ref": [ "r336" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The total amount of unrecognized tax benefits that, if recognized, would affect the effective tax rate.", "label": "us-gaap_UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "terseLabel": "Unrecognized Tax Benefits that Would Impact Effective Tax Rate" } } }, "localname": "UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote9IncomeTaxesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r114", "r115", "r116", "r117", "r122", "r123", "r124" ], "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]" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote1BasisOfPresentationAndSummaryOfSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r101", "r106" ], "calculation": { "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails": { "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": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "terseLabel": "Diluted weighted-average shares outstanding (in shares)", "totalLabel": "Diluted weighted-average shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r100", "r106" ], "calculation": { "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails": { "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": "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic", "terseLabel": "Basic weighted-average shares outstanding (in shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2021-01-31", "presentation": [ "http://www.pdf.com/role/DisclosureNote10NetLossPerShareCalculationOfEarningsPerShareDetails", "http://www.pdf.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" ], "xbrltype": "sharesItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "http://asc.fasb.org/extlink&oid=124434974&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "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=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1448-109256" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1505-109256" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1252-109256" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=SL5780133-109256" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125511455&loc=d3e1337-109256" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537" }, "r11": { "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=120391452&loc=d3e13212-122682" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e3842-109258" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=125512782&loc=d3e4984-109258" }, "r112": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r12": { "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=120391452&loc=d3e13212-122682" }, "r120": { "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" }, "r121": { "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" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8657-108599" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8672-108599" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8721-108599" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r13": { "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=120391452&loc=d3e13212-122682" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8736-108599" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8844-108599" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r14": { "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=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8864-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8906-108599" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8924-108599" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r15": { "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=120391452&loc=d3e13212-122682" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8933-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e8981-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9031-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9038-108599" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=123359005&loc=d3e9054-108599" }, "r158": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e4975-111524" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=SL6953423-111524" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5212-111524" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5033-111524" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=123577603&loc=d3e5093-111524" }, "r167": { "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=122038336&loc=d3e74512-122707" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=84159169&loc=d3e10133-111534" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=124260329&loc=d3e26610-111562" }, "r17": { "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=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(aa)", "Topic": "320", "URI": "http://asc.fasb.org/extlink&oid=123581744&loc=d3e27161-111563" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=124258926&loc=SL82898722-210454" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=123353750&loc=SL49131252-203054" }, "r177": { "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" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=99380562&loc=d3e13777-109266" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=120320667&loc=SL49117168-202975" }, "r18": { "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=120391452&loc=d3e13212-122682" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=121556970&loc=d3e13854-109267" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r186": { "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" }, "r187": { "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" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275" }, "r19": { "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=120391452&loc=d3e13212-122682" }, "r190": { "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" }, "r191": { "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" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "350", "URI": "http://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r198": { "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" }, "r199": { "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" }, "r2": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "http://asc.fasb.org/topic&trid=2122149" }, "r20": { "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=120391452&loc=d3e13212-122682" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308" }, "r207": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349" }, "r209": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r21": { "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=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442526-122756" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r22": { "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=120391452&loc=d3e13212-122682" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(C))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=124359900&loc=SL124442552-122756" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "http://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=SL123496158-112644" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=123467817&loc=d3e21463-112644" }, "r23": { "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=120391452&loc=d3e13212-122682" }, "r230": { "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=120397183&loc=d3e187085-122770" }, "r231": { "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" }, "r232": { "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" }, "r233": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130531-203044" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130532-203044" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123360276&loc=SL49130533-203044" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130551-203045" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r24": { "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=120391452&loc=d3e13212-122682" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130554-203045" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "12A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL108322424-203045" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130556-203045" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130558-203045" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130561-203045" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045" }, "r25": { "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=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130563-203045" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130564-203045" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130566-203045" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130543-203045" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130545-203045" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130549-203045" }, "r26": { "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=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123351226&loc=SL49130550-203045" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=123410239&loc=SL49130690-203046-203046" }, "r265": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r266": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "710", "URI": "http://asc.fasb.org/topic&trid=2127225" }, "r267": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "712", "URI": "http://asc.fasb.org/topic&trid=2197446" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r27": { "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=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(01)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(A)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(B)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(02)(C)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(iv)(03)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=123450688&loc=d3e4179-114921" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450702-114947" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r28": { "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=120391452&loc=d3e13212-122682" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(a)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450673-114947" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r282": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "715", "URI": "http://asc.fasb.org/topic&trid=2235017" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5047-113901" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a),(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r29": { "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=120391452&loc=d3e13212-122682" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b),(f)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r293": { "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=120381028&loc=d3e5070-113901" }, "r294": { "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=120381028&loc=d3e5070-113901" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r296": { "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=120381028&loc=d3e5070-113901" }, "r297": { "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=120381028&loc=d3e5070-113901" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(4)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r299": { "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=120381028&loc=d3e5070-113901" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r30": { "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=120391452&loc=d3e13212-122682" }, "r300": { "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=120381028&loc=d3e5070-113901" }, "r301": { "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=120381028&loc=d3e5070-113901" }, "r302": { "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=120381028&loc=d3e5070-113901" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r31": { "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=120391452&loc=d3e13212-122682" }, "r310": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r315": { "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=120381028&loc=d3e5070-113901" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(ii)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=d3e5070-113901" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120381028&loc=SL79508275-113901" }, "r32": { "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=120391452&loc=d3e13212-122682" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(g)(2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.D.2)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809" }, "r325": { "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=122041274&loc=d3e301413-122809" }, "r326": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r327": { "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" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "10B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=SL37586934-109318" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318" }, "r33": { "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=120391452&loc=d3e13212-122682" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32718-109319" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "15A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=SL6600010-109319" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32537-109319" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319" }, "r34": { "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=120391452&loc=d3e13212-122682" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=121826272&loc=d3e32639-109319" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123459177&loc=SL121830611-158277" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r344": { "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=122134291&loc=d3e330036-122817" }, "r345": { "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=122134291&loc=d3e330036-122817" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817" }, "r348": { "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=122134291&loc=d3e330215-122817" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324" }, "r35": { "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=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331" }, "r352": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "http://asc.fasb.org/topic&trid=2144680" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e961-128460" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123586518&loc=d3e1043-128460" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1392-128463" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=79982066&loc=d3e1486-128463" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "37", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123455525&loc=d3e2207-128464" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123413009&loc=d3e4845-128472" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r36": { "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=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5333-128473" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "http://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473" }, "r363": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "805", "URI": "http://asc.fasb.org/topic&trid=2303972" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "808", "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569616-111683" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123454820&loc=SL4569643-111683" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988" }, "r369": { "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" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686" }, "r377": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "http://asc.fasb.org/topic&trid=2197479" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5579245-113959" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5580258-113959" }, "r38": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "210", "URI": "http://asc.fasb.org/topic&trid=2122208" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "http://asc.fasb.org/extlink&oid=123482062&loc=SL123482106-238011" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19207-110258" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=123874694&loc=d3e19279-110258" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669646-108580" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900" }, "r406": { "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" }, "r407": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "830", "URI": "http://asc.fasb.org/topic&trid=2175825" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r409": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e637-108580" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918686-209980" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123408670&loc=SL77918701-209980" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971" }, "r419": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/subtopic&trid=77888251" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e681-108580" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "http://asc.fasb.org/topic&trid=2122745" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669686-108580" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r431": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(bb)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r434": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r435": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r436": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r437": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r438": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "http://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=123353855&loc=SL119991595-234733" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r440": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=123371682&loc=d3e55415-109406" }, "r441": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "http://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433" }, "r442": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "http://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959" }, "r444": { "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" }, "r445": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61929-109447" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61929-109447" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62059-109447" }, "r448": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62059-109447" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62395-109447" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62395-109447" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62479-109447" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e62479-109447" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=SL6807758-109447" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=SL6807758-109447" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(1)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61872-109447" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(2)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=123377692&loc=d3e61872-109447" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "http://asc.fasb.org/extlink&oid=123384075&loc=d3e41242-110953" }, "r458": { "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=120398452&loc=d3e534808-122878" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(10)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669619-108580" }, "r460": { "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=120398452&loc=d3e534808-122878" }, "r461": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(15)(1))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r462": { "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=120398452&loc=d3e534808-122878" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(4))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(6))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r466": { "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=120398452&loc=d3e534808-122878" }, "r467": { "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=120399700&loc=SL114874048-224260" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r470": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "320", "Subparagraph": "(b)", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=123599081&loc=d3e62557-112803" }, "r473": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630" }, "r474": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(1)(g))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r475": { "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=120400017&loc=d3e572229-122910" }, "r476": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(15)(b)(1))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r477": { "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=120400017&loc=d3e572229-122910" }, "r478": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r479": { "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=120400017&loc=d3e572229-122910" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=SL7669625-108580" }, "r480": { "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=120400017&loc=d3e572229-122910" }, "r481": { "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=120400017&loc=d3e572229-122910" }, "r482": { "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=120400017&loc=d3e572229-122910" }, "r483": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r484": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r485": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r486": { "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=120400993&loc=SL114874131-224263" }, "r487": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r488": { "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" }, "r489": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124509347&loc=d3e557-108580" }, "r490": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r491": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r492": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117783719-158441" }, "r493": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124504033&loc=SL117819544-158441" }, "r494": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r495": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r496": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r497": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r498": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r499": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067" }, "r500": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195" }, "r501": { "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=120402547&loc=d3e617274-123014" }, "r502": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=123364037&loc=d3e3115-115594" }, "r503": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629" }, "r504": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r505": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r506": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r507": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r508": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r509": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067" }, "r510": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r511": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "http://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024" }, "r512": { "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=120402810&loc=d3e638233-123024" }, "r513": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "http://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663" }, "r514": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "http://asc.fasb.org/extlink&oid=123360121&loc=d3e27327-108691" }, "r515": { "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" }, "r516": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r517": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r518": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r519": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067" }, "r520": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r521": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r522": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848" }, "r53": { "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=123367319&loc=SL114868664-224227" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=123367319&loc=SL114868664-224227" }, "r57": { "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=123367319&loc=SL114868664-224227" }, "r58": { "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=123367319&loc=SL114868664-224227" }, "r59": { "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=123367319&loc=SL114868664-224227" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=124098289&loc=d3e6801-107765" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3179-108585" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3213-108585" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3255-108585" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3291-108585" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3000-108585" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3521-108585" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r7": { "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=120391452&loc=d3e13212-122682" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3536-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3602-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123570139&loc=d3e3044-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4297-108586" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4304-108586" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4313-108586" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=d3e4332-108586" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=123431023&loc=SL98516268-108586" }, "r8": { "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=120391452&loc=d3e13212-122682" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=123372394&loc=d3e18823-107790" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r83": { "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=120395691&loc=d3e23780-122690" }, "r84": { "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=120395691&loc=d3e23780-122690" }, "r85": { "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=120395691&loc=d3e23780-122690" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794" } }, "version": "2.1" } ZIP 79 0001558370-21-015304-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-21-015304-xbrl.zip M4$L#!!0 ( (F":5-;;,;F:18 /3O 1 <&1F,14S#J,8L\<6]& MQNYB01URQX3@MDVN!;>FC)"K\_?GOUS5/IPW+NM75\0P0DK75$))UR&*9..\ M'J>T0JJN\Y'4ZQ=7%XU:HTZN/M;??ZS5R> NSG@'7$YX9LYG:7V4YHS-*0%9 M'?E14 ??/K55>X$6;C-LP!L9UI(]*J;,Z]$YDPMJL@VY%M;DW'3GJL;:U64M M1K0GMMC;H(LT6E@,L>PY5GY&+HFPD-L$D9F2.DNIOF9^3Y,XPIRJB JB#=R6E3\!C MGMIM(39*(0M7:(;Z^X+"[_;P:;I/S(X_#/R1OUIMEZRM/+'D!;,]&7TQ5K1* MZF%S)))+%^M%HC_*ZF2[R\^GCZA4H MTNQH]4,=Q/45.?8N^+A;+3;C#E1PP\*G5B$%6%.&/B"@!JB0@2Y N"0B3B/*O M%]ODMFOR84[0=WY3O\$Y2QBC*/UA-QB6#K/H2IK4-GV[1,$59^GEPJ^1O4J; M$93FJ4%8RW4L&+HP"WY(U^86NIEK:J/3'\T8\^2]0WV+*Y>%UBQ54F=4Z%"5 M46/"\+O5[]VT>Z/V#?X:];N=F^88_KAN=IN]5IN,OK3;XQ%Y$U?PU\JXN8T; MI\K^I.7.01;RD77ZGM,S!<4TKPV$WSWSX7##OH+JF80TF'KAQR&S MT>+WDDU\NPLM7=XPCW)[IZ?_$57J@/46@-78'BD@4^0M_+B^'W5Z;7 9X$6N M.[WFN-/OP6=DC@3<$7=" OY(Q""!80998Y&$/*KOWHR1D%,2L$H4K^1-R&V% MS71LOEL?-6!'XCKH30;"73#A+0$$;3#! OV#!FXEJ.@1]"X%0>\00>LC$=49 M]7O*-QDDJE#A(JZR D)Y('1 ?F>*T;6@218'01J%+ "\+0. 5661"ZEL?VC; MMT# QOX ",C\:!3\\0;K)8T*#H>$P^5AX'#YL^!P6<&A,!R:CN-3NSEWA<&!ZKK_%2]3RE\O>\R*IE4 M_[98%0JR45"O]9B'$<J]43T5#'J%4#1B"--=]"JX*L*4,8?@ZXQ3 )VA@PW,X&BKZGD.G=Q&,)Z MT#12^HHZ?KYM=H;D:[-[WR9WX$[NAV%0=#U\];>HZX_XP)UNE,2\$,5,!:1D M((7["Z/_8^ (AE?>LN-,7#%7W(?(R)-3'_ZN7:GUS&A+X]I/7,T,J)$ULO1:EXZ4'@^7Y1:]1N-^ZY]?^MV;]G!$VO]WWQE_KU:_7A(1Q9U%.<)9 M:,GI/0JAI7(H!4:3:KS4GPS6A(;^>>3/YU3 E''$IPZ?@!IA#&"JG6$PR!H M)DR8Q"6.(OY[;2:O3%IMEK]^]ZXT_M,!H"S5J<]JG"2BI/&D#TRQV>WPIV#5_ $-3WY MC7NS8%L:^($D,.0HI;=X(\7B.%T8MK^V>S!7N!WV[]!;C(?-%OB';YWQ%]*Z M!Q]Q!^ZA,FFJ22]'8 ^/3;D)[M)SP!@SOFA.!5.^&*W4M!ZAF3+IK38K8-;E M6%!'@BGQ($"2V0]$60^-RQ1H8(QJ!%@8MS]W6F30'(Y[@(,OG0%I?AZV52<2 M8*1Y\Q7\0'LT5EYBV.ZJG@8+?"=0OC<".($/J2!4;.M-WOTR&>9]FV+>M$TN ME96*KC 56"K*L-6[%%OIUGPJ>V4%_S4A_0Q[O$^QQRI07VD_5?N_[$YNDBR1 ME$UOE5]2K/*+ZK!V9C25B5)-]*$]7]CNDK%KY@ 3W@!\5F)S2N;8BZXFYU@KU=BFZ#EB9)]T\]6A:#+.BS\R="KJ8<7-W<:9H M*;T!4Z,J^#F:2*LYTN=V__.P.?@"\ZI.[[8_O*M&WJ76:@NLOF;8+BT^HEM/ MK>R5;J]+F//,N3_6%P[5WP;VG+:[H@#Q;?)FXB1:DEDGU#W&+>CE@QXAV5U M0+BL-5)VVN4.>Y,W03V5G8L%+],MJ\FMM^7;%%NFGM:K3%,&>ZT38SZ(V48V]R99)R@;5T ^FRZ\WU(<5MI5LT9 *K,7#H2I+&MMH#>H&G3 M!^TN^\J(!Y@9UC7G*PJ4UIGW[?Z;HB!?O3HB<1"#-_8R>".OP9/C0D4,WJ@, M?BB#JTOW]K7[!I$?8?ZPR@H&!X$!Y*?3J<"[2SF>H0P+[(6*#)I9(-DW9*A* MKS& 9S1#%BK0_+#]M!H$';8"/9Q^V.[:"EHE0]5];\9$P3OJ-LKH 5!T_RU\ M5M0K>_[$*PM[5."%"X^Z?NB'U9V%KX++(B]SB2'4&O%=(;?\RDN6,\I33(^7 M,GO,*Y^TOV5;,^I,6<=I03-9AO[DL^M:3]RVBQL]+\4L/)18E3-( M4#GA#HFJ)T']Z%$B#BJ\Y%^^RVKY2=GTELT^O5"UZ_W.,VC,ID,6/_]0-<=];:H:77^AYNJ[SR*3'K"'\*[BIKO$!%=\#CZ4Q48AH%DB2+PO6@B2NGZP8")&C6*AP M4_:$I@8)2=GTMLU[7K.R4IF=?4W'XS?<]C%P.<+++WG&9< %*6AM6Z^E'51) MO?L5:S.LL#JRJJ^R_D'V"&9-"@M2T%M_WP.CU7SQH+8/U^BA79NHE2F[7M[1 M?[EBM:]@'USDIIZ%F12/D1\ST5Z$%2OD84D4,R3FIL+4(3$EKY>KY*9@]!!0 M2B6:A: ]=RG'")*(FQ4+!'FH<',0W'1=9XH+JU:P.'M0^.2DG86BY&EI 10A M'X:-C$1+T!6<#KDG/G,LDZ.8'@1E;DVH!BV'ND=!9]H\Y?2V+7^KPG^59?&? M!RK9D$W(L_I"A8EY-TS\=*D>9Z]?75U=J%P7B^ )2##'143B+"0P$VSRZ0Q0 M(=7;[;6KR]H?-GTX?Y[;49:="M0C\%A%HU:[#) $19C=7;$7E?5 B$]GDL\7 M-HM>@__A\H#%BLJS9>1CE K@5%2J300>HU#0+(L*M=V2;(Z)*1 M<.=:&(25=VS^P,09<>@<^"E6A-LV'O.**I8^<,(]'TM]%JZ_^'2&>N$?NJQ_:9L3$(WR0\0[N+9'W(/!35;*F M@O6G!:-]FMO/"J[DS9E[2[B ^X#'N>M %RZ6*]XS1->)%J0]!'O8(($]<*^( MP&JXN"L'U4B=5:2,7=,TDRS>P>#O4'OI<7/;6>U\/@ZH)NR)#OUJ&]B98VMK M43D;T*7K>V.W!?T0U!NMCL76W)_,"UK8!$PEFY@[$J"6 >X$V?;5S5$KI31P M8JF&#,$)\Y=]U9.7T$F!YXMK6P_4_#/8?JM1PT[&TX+#:E_+^F.V>4Y9!-?( M23"X*N%8D2]YQI&>%CHO6NE)P:RT)EJ^P$>$UA)2GT]]"4,4J_Z_PR3CC:$@ MS %LWPJ]XDN80%_=SQB+O:3&8_FB4Q![JC2)WLL.W6/M%!^YHTWQ/]SQ_DAM M##^.9C R'S,Q[ZCM1IMOH:[BBY&6]J)P;'I)'=:W^)QY@C_C;B"Q9W,_O61LW]SVQF#;T2O MN=B-@:6F'JFYQ 82IC0!;44J<*^&NY/7@7G/B M,?&=47'K^C$2]B-Q,J.&SLUHMQ5L?SP.S,.P1>#TZH8%_]=VA:D=Z-Y4CB[0 MFZJ@CI,Y+2Y6Y'1%'Z(?ZT_NY=;*1HER1QSBVEZ1 7[DFJC)B<HI$L?JE6*5#V-+D:![ M43@=B&/PA5LP+QC/6*.&#V#5ZGT1CB6W%IMSYCT.IQ:>:HBC*9$0"=_WG@ A MP<,W2CR-J73]S17V5E0P)>TX5*_F@]^2N+^UE1TJ?6?>.Q81J M?+7Z[@2P8)ECP0K,QV%\,(<2I,,\$XPCE%NAAJR/!!!2N';!'')/&4SWQ+K%Q9CUC,1BVWF)E9CU3, M)TA>MFT<0BD!.@Z.@?AC0G0^9][CZ([N'1CFV[A#S&3\43W@ 3.>*'B,,]IK ME:[.TL /_-IQ>C"U S'M1W;G.MXLCMX!=H1*G)W=XJ<> .=166U\<7(E@ K?:!QN_.NK@)4X4$T*[+T#W=.:B M,HHE&*M?CNLQHUXS@!/#=J4TH!9#C;H-H,^C&S ,&=^ 85C1>;A I0>G>GSA MFX(BKIV@,MR)P:C O;#K.?9381'Z)Z],+WQQJI2FXL*GI(:Z889+;M!8+&,: MG]0V^.IP.4CJ3-5"K!&ENM907J:'V8O4>7K4[D((EK&(K[0 S4PQPL] MXO(%W./+5/IJU?XC$)ZOJM>GXKQ.MB"U4U)4PYA0+HQ'W.MJS-?N:5C_'OJ] M,-DR0%@*H(%!#+)K/%#)"SB EZCR=:@\+QYS4#@AA31B9S\1[MPPHT>WC"?N MS=:=_<:S5S@$C,KEA=XA:WJ%"LX)O\+D3DA5;XV'\!@%R!6?HUAK;A+1$#HG M&AZA4)V"O9H=8SH>3%'?O1D#?:F@NN&K)VW4I43Y_>5/8:DRF48_QH+BF:\9 M\SC,28_1@KLE_."%;\.]9OJ>2(0U###YXE0(SZ4!%U,PX-TAU!WT8I> MAWI?!+FO'Y7AS4M+U46P: 7W$+K+I/PZ%)BSB\E#X804\MZPU=M?P?] &ID? M,_JRIZB$.?5P;6:)#M:--FN&XJT/QPIKJ#CA4U1?SB:TF_^$A/U@L/"0G/$0 MK*0:"]RJ:M#XI9P@9A MN1H!,ZIYY$?.P:IY#:IUHM=$#!&_)@*%7?-/P\?7 M1 P:OB:ROWK+5/4:5!R(Z :O^AQ0GYET7Y_R'J/GU()9>_CUP)K,JN0UJ#5G M=Y)=_C24(3EX\@DW*?RFP15/.$A8N#;'JY7C'SJ%%*#Q\P_41*=L;Y*O1;A) MV\>7M5$O0Y1MHY1EO^_&ACY'K"W-EG=14S8EPCN<6F=CC0/@+'Z;H3R8, M;1\\_K?W 8H=7(QQ&2:EDCP!(N#,0.!.NY9O>-XK">,O5 M5O+DQ&,P 3^A/UT!*,KU?>HO]@\VFHGNB,0*FRQ]!JX]W)CJ5N80[ONPQV M,O=8#.(<^7X2)*/=S0E2AD=)L4$INT!S"J_IBUH5GFWP-IO6ZFAJL7)[R;NM M/)W\*X\WH;9,W^Z=JI#@>("/,/(%^4RVI8]BQ4Y''4WK M7WYX32'8V;+4\P[4QCL1.DZ++KB'Y^=CV?%?I*R>:=:HZ[!DCT:=Z3W 9G_? MCOK[G0%"G+)GSU].JB!O*OO8H+WEAC' Q^&EM"'H>ZYC4CGK"SS)R*D=_JTZ M<8S%8&VKJ\0.0>T831^\]2'-&9O3W_X?4$L#!!0 ( (F":5-<2VC6GA( M $$3 0 5 <&1F&UL[5U;<^(ZMGX_5><_>#(O M^U0-"9GJGBF2D&ZJ"%! ]I[SM,NQ1= 98S.^Y#*__BS)%PQ8MF1L+$RJ M9G836Y=U^;RTM+0D??_'^])07I'M8,O\<=8Z;YXIR-0L'9LO/\X\IZ$Z&L9G M__C[?__7][\T&O^\G0P4W=*\)3)=1;.1ZB)=>J"(@E2[BQ31R8H''XXEH%UHN!;U2"]3!<(NLY05Y=Y&O6NN,YG?66B.HL'PWHK2QX)S1]0#O?8T0S+\6PTM%QT>>LYV$2. UIZQB:U 0\J MMG]7#0\!L5W' 21WM7][V$9ZU]0'6'W&!G8Q,0 U M._?(5;'A< CNP/14)NFKN&T@WX1E$CR,;6N%;/<#J.X!4RL"DKS"R].%;/+H MFV#^7_"S@7Q5%RP+9O-'(H<[U=#:)0LCZ..()-(Y@$0Z\DFD:YJ>:G27ENWB M_U!3.9KW8?!QP3-5@8>2OZ7;"H-)>H ?M^-AO>]X;1W3WY- M1X/^?7<&?]QV!]WA74^9_NKU9E/EMZBC_Q$0 A4!",&PM WR##+-M^Q-W)#F M'&B/MC57G6?:H.?JYOIKI]-J7\5(CR&K:V]RH=I: MV#[\W ';IK:"$AM,\5S@!YK M1?I2C3/E#>&7A4O?5*(7,A.&20GYATQ,7E6#NA7NG6K;'V !J'U@Z(NKKJQZ M3-/6KH;SLRJMYJ<+-S5KB6;J>\080Z7L"L>D M2$$N O5=2Z>^F,)41QV 60])&G6!F;GLQ@X>R#49:%:FUF4A<8K!" MC#]IE9N\'/F1/21DU=L4PU6GU:HZ4"&NYGQ,RCN_):-@3 I\XWYBA5IH5XP[ M::>[,1;2PXN[!>N@1DZNI)TDAX'OL?I!HMY\ZP";A:568QJ-[&4 #@:E'5-[ MRY5A?2 4Y--R?Y^9]6JDYWR\2CNT!@XAMZJ9Y6ND8C$>I1U>&4Y@NG[3*]5( MR3D8E78DOK-,UU8U]P_L+NX\QX6YGJ]=SL%A_-WDW? M)$_2*;S%AD&23/MF[UU#CC.:3] K,CT8C33KQ<3_66X6E%KAW(%+3K[D]KD0JY6)-VAQ/>K^@7/_WGC(838]IPV:"L?[NO>(!5PH-\L&S#+SQH_IP0CZZ;^#) MM)%JD%#W+_ H2(8_3/^(5D;FE)S3X#L=-G;@U;U'3FT8(QM;>L8X4E9WG\@^ M@#RE#8\#U6OA,I"W448^N B.T]G<2*NL-=T/( %_ N(! (-E>/#S;]$<#',L M,[GW[MHJ,(1-U?[H@PQIHB-9PK/H2EW?=)&-'-886V*/FZ+_VFFUJH[P92-C M%TV'%E#QHR%C"7WSB#)_"TUP@N1Z-YN:='R-:'7Y@'!HI6ZML.\KNTR,B"_X M,$ 2): M,A@9PU-67V,2.2V3YBM*1PU?Y$T*[$-I#T3WR_XWPS*9&G'<-+&C:Z1O\#6Q^KC?PN58>#:X$9EL! MYGVD)^UZ%S"D(:13CX FS(PH:3#P(UO#SLZN&>YZ\H%H3Q4FI8/ED<%10*'O M.!XYXITF%(7)S!Q02*QW8E#@EX&T:U([R"8G@;(&EN3")Z;T#,:E#9V-U8^E M/YS2W.69!$TG69,%EIG)F82%G EB)%(V\H+F03 M^)F@E6>#<^7P#2.9%4\()()"D#?0YGO4HWG_GSD>=^CYV5Y:C&3]OR M5B0JB1W-#VHA?1W38L"M>L+D@W/UTRQ)M2*MH\8P0/X]&GM$!1(:^(0K=U2 M5WKR>H4QSS:XYPYXH%<\?$1;953#<$9S>G>+RW6!S9ZMR@? /=6?/J,H2D+R MQAL"GF96D @EI4/G<4AHEX S6&24'"D#?$P)!4=&Y=7J-\@L7V-0Y..=RT5=[W3H5#9BK&RD82I,^&V@8*MT?*\/<]C( MKKHIFA:(IE,W6.060_%>!.< $N-VXWSD76]3M'J-U5V(**0]'DMHA9QCD;=> MNL_!>/'G9W'MA]W=C]GEW K+JEECM>XK!6EOY0O.SB7N:.B\DJU1'&,Z1\T: M V)?*02 ^"H=(';'K:T;;=@[/=+KG0 8\LD@@,+-$4"!?>D--RK839PD0 3% M$4:2FD< EMWK/&1VHK)PD5<8F$ MJ)$OTL@>1B=(0_@UEQ>RKGJ2^. 40P@*"9?+=WFBR0%8#U=D@A!K>,9,XFQV MO\9.$CFY!1-BJ<@U]9QARPGI;S0'X;!C'*)MU!@,Q$AXS@4(:([=E"-%UP7BK'T!?31OOM9-R1G,AGI,C6\F MG-56X%$79'^#83F>C8:6BRYO/0>;R''NK.4S-FE3#RJVZ2T6SFCN8S(,X<)@ M%K],P0$1TX?!I!R$-_>, 7Y%SCVY",>(()%Z-L9E\[+95AK*FC+X@Q"G7,*/ MVZ=I?]B;3LE= K?]87?6'PWA,2%2\:E4K+GBTZF$A"JJJ2LQ4I6 5OH M6R$>34[JHN2VD,PD3Z>HMC=-0:O3:KF; M8Q/T3ORLK$2*"B@XS2]!%D'S['>MVP<1BN4PX(]Z^P3ZH83*DXE:+U!GKU^7 MU)L\H#[@]*H*F7)M#I;;$]_*,R(YY7[N0+!+ M')2&S^^E/+\HG_#%IK5U^%!"J@A&< Q*_ 04L57L*\8J]A59Q>X.NL.[GC+]U>O-R%+V M>#2D5SPTE+!CNC8==7TTB]',XV/8*\KI5:K*8DDFZ:>=FMF24DD^\\.CJJUD M%E'^I#U6#N9ZWM*C21\\N\M%CY@JJOGC!TVIDJCF=B"N\6-[J4-T[+C,,W:L M.PTSH(YEV-@6%Z"I]YZ>DR-6M:A+;S>Z2AH-V 4W(=P!"%>=[R@B]?BEM)R\ M'4=&S@-[?3)FO#AV=HLW=/R(*)CWO$L*DECW.^BO79F)__,WTK_2+LW6EV(5 MY?OJTWS\K&KR?-'9JN'\?H_=OF?DH/"[&6+-'"L2"N'S.)+:4D#/CE9D5:IT M^.;CZ$0^_$_'KBQDE.C251;P37'I.E6[=)W/Z;MD!B3O^+#YB5QV6F3O7]UF M?"P^CV/8D,)?/&9D%,)Y3@_RT*-&US0]U=@\X3"^=KIO&/@JSX#B$Z7$J2*; M8N-T'7&HN%RO71).XKH+$A(G:*EB@(D]FC\ (E3C?Y%JY_!8.5N6SQX5Z\+N M(P9IES7%&";\S=ZL0C 4M'5ZJ$EC7-I+"<18',( -7M#QBMZM$QWD2,VRM'H MZ2&'2P+2WOXH_I4\6%XQXU78V.E!)I5S:>],RF%0H7]6'G7.UDX3+&S6B[\H M@;$\Z!-M)!!-Z-2V8HC=N8MLAK78M[ECAD IO/-?H5#:O/J:[C)Q!OXU4(Y@ MCNTU(\?V&GX,>MUICTR':=L*:?QHYKB1.!@V,/:^D&\TNB>X:^J_JS8-$;!H MR*ZPB;4K";ZS'5ZB3TJ<$6DG?YL;MU+0LUOP2#0FR #_]*ML\Q9JPA#'4J6X$=XD>T]?_5*/E]>\M*C M-H*MR/CABRDY;A>*8%Y:\\[+'&>T)F]SIXD8+BE(&^X3^2Y2HC2BS9PF5%*Y MES:<)V0Z4Z(SPNV<+DC8[!_LWM)46<@E& M9&TZ?X/U0$U)A?H007>+8= M<"463VNU&0L)+?+XH=N?*+]W!T\]Y;'7G3Y->H]!IMWZVHF_A6ET(3T*F!U5 MB6A2*%'EFQR&HT>.GR;_)_OI7U6#R)%&OF?(7O;-5^2XF[)=2R+)X=NGM6J. M>W@%H9/0_H-E3X'@*5%+$'9]=M=_,0P*;W5Y;$E!2M\XR6$?(1Q'ZC<15M?4 MMV26_5$(UZ\U4/:30H&)W]\O?"4%AO3O_P]02P,$% @ B8)I4V7$V"3I M+@ (1H# !4 !P9&9S+3(P,C$P.3,P7V1E9BYX;6SM?5MSX[:2\/M6[7_@ M-^=EMVH]OLSD))-*=DNRY1F=M26O)2>;IQ1-0A+/4(06)#U6?OT'@!1%200( M\-KTL"HUD25<^H9&H[O1^.6_7M>N\8*([V#OUW>7[R_>&G]W]__^.GBI_=7'RX_?3+.SN*1AJ9/>V+/X$->O;],?KF. M1\7>S\;EY?FG\ZN+JTOCT\^7?__YXM)XN$\:WE,H%TYN2]?QOO[,_GFF4QH4 M7<_G?_[Z;A4$FY_/S[]]^_;^]9FX[S%9TB$N/ISO6K^+F[-?[2#ID&[\PWGT M8]+T9.AO'WA;BOVG<_YKTM1WLAK202_/__?^;F:MT-H\([/_O\ MRSMLF0%G6"X*AK %^^MLU^R,?75V>77VX?+]JV^G$7<[ZXW+H.??K0A:_/IN8R_\,\:LBT\?+MA\?YL%E.=,J*ZQ M9R./R@;]X&/7L9DL)+_ZT\4U7F\(6M$VS@NZP[[_Y)FA[=!6[PPV_]/C^ !@ M.M=["Z_/V6_GU4S#::,D/N?-T6468.OK"KLV7W M7.R'!$UP@*X>T0OR0G1+\)I"'A#3"OS?J5ZZ#OT KRFLES4*C^$PL%],+T!^,/#L1^0RA,CWZ;[Y['@1DX,5(D4)DS\@*%QO38?\9KHAHCODP/=1X \L MNCD29%.VW3GFL^,Z@8-\^ANUG>T]+Y]\M C=.VID%):AVN%YF(2N.OH) M&LE/ 6N-]C\,39>9]K,50@&SAK''#< RBUII3&@8/Q"\053A4H8Q>W?#%'/% M!)!. 8T>8X\>^9;.LXLB*:^8%L+A6Z/#CZ='GJ(XRX9J#;^?1K0/WB(T1!Y: M.,$#94NY=:XP(BQL.5NF&VY,,1W.%3I7U)M2YEVYR6#1:."ZL=N)6>\67GK. M7]061<3!]C7VBRN"DK/!HM($>W0?I[OZ(_V7.!;WGE!^/WD.,PCHWEY"?50P M8VO4NKR8H( YTB@/9RN3H($7.#>.&S)S9X:LD'#KJ"AI=(=OCPZ7NS,QW>T_ M([PDYF;E6&-O@Z>V2R;]>E3T!*8T+#./DR MXE3\DSVE)JJ9I9M:G&"6,2:T>]^.,QY,A?F^]12(]H['\\ M;':.Z)']/&Y__LVAUOR91X_N^!LB[W*YD 6A2T@R'IOP+/Z#&B0?T;/6K9)F#,B6JZ#5TI1O#8=+W9F^^H2I#'8(7'4^9'0 MR_&"<]M9)S0S73>?R*EP+8MW_L#A3_6L'"J;(W^V1NOGO6!HPI631?46 %PU0.[XH.2*SP&9TE4Q8$63)2G52.%D1Y,A^.(X:8-G3H@8#M MN_3/N#D#JF(U$4& 7@/DV3PB''WK!&RF3Y\^75P89\9^9/K';G"#CFY$PQML M?".:P$AFX-CL\*&GPX,9^6D19RPR?\<0'UGOE_CEW$8.3Q1A'[@JBTB*G#_O MT-)T1_3<$&P9 +NQ7/,9N;^^RVCQY^41@H(VY[6#'LUW<[#H4G"G?\X$^KC! M(<1[X1F00]BI9.]&6Q"\SJ,2SIXM].E0F'L_S$0;QXNFQ*I*\-M!_W,F=,8< M&UE084+WVE_?5<"_A>D_<]!]$D0,1%2@V5^S=_H5W\^$&R'5C E M,T1>' MER**HV0EO90U;PK)!1K"ZKG&'G/:D<@CY?A?A]LYG52R M=B0]A$*4TP<0^@PLZ>J1]%!'_[!/Z96DQA*L#%#CJTF*0'HMY0 .=$4-D6>M MUB;YJK>L#KKIK*V3CI"HL8--;Y4===.@QFG'.M:;B%>R19 ",]#PK;92,I:ESH/J1 ;*P#1 MZ*%( O3N9"0%%L).E$Z5VEW^D>Q HN9"72OK MKZ5XC[J"%>87[BP(GL"HP MC>\H8N#3.XDM2 MVX64O%AA]D;WB2QH=QN$%$H(&X3H9LAPF_Y%LF6H#R!4I7I#P*"5=#LY;:B$ M>X7;1R&NX#RP&M](=-!(;RW9X$-8;[O['_R*A^_DV6/9K<5&B;@]+)2C"RYR M-UMN/RTRG/0L;Z+E,@=K@M2\H29"X895_NODE;,_<'*7I'9- <14B@ N.47IMY+,2E MP&M\90K02:_% FA 6)?\XLLCVH3$6ID^HAIE2H -9]0(4$@OPHMAFS)P_,J,SU41L1ATU:A\CN<5X MT"@7JRKMP&QJ8MFDS=MV!T >&'$GP$&0XL$WD]@Y9Z>#-F+SX[A5RPJ?EQ%D M"5F4A5%\(K5S#[?[-@_FEF_U#/X]$IZMM!SJF$J^P=0P6>FE*9*0X[VH!M@; M7^%'N)YL6S7@"$%1W"#BO/ "-&//#P@O\\F20R1Z0]9%*.-YG2!08%?'+->] M(NNB0('L3J57JR)?L#I(C2]".0KI-9D'.H2U-?8LO$9)-HI"&H>DAU"NVW@L2.Y+?,C(>#7UL M.M-1>/2K&/ *''LB$N',:1K-PDB!M4N^. ('@BZ?.VO'6TX7W!6X0&2Z^(RQ M+;NQI]%3[!Q7ZPN6+%)=K]2W*&DJU/UZ#,0%0&S>(:Z"4GI/4$8%PEJ]9>@B M7FGFN+;@KKJ1:_JR.X8:(P@%5',,D.3:@YGK,=$.7JUW-!&=O3*P7H3!G&!TI%)/&H0);4GA]OL M 63AE_IF% =SZIT3&OMRU5->-TU"5AU^:41"L!Y6S0=FZJ3"00J0 O805%52 M)I&BQO1J[F%&U%YL@\MZ $!<7A_RR+2!HG M^8FFINGRR5[#A.7/2 I2A)O!I?FCDQCW@X-2C3@#4SS)QR\.(I2RJ^T=>D%9 M5_;U.JNHI)SN .B36=0V@59-Z:B,D4\MU5&J5 ]J[,W2%:K0MJD I-AE:@-5 MK" LH$THZWDOJ2@-2!D<^Z&9K961[C26Z)RTF,E,%JX M%9H)]N$%4"&XX-8'>Y6$/^K%=G-9"#"GEYH(9?=K^TK0 8CR<)^H?<[5($&/ M:M>0E"E8$:1VUU,6"@/ 7\-&\Q&V"8*R7GGIFX@X;T MP+B#E@V7YLI1BA'+.]6P@N1WU_( K"2LN^UY0$.846=[I/#[0U:($*0S2!G M?E0MFS&[NX9E)!Z@S0LNAQ#E7&W):BRYU")J7H,UF,L=K (8 M0A,CA!1<1 M LXCSR3-#VPE2CP!M)4\#75Q<\:>!DB'IY^OIY&8TF8UNV*?9]&Y\,YC3 M/V9S^K_[T60^,Z:W]*?[A\?1%]IN_-O(N)O.9L:_)5/_^SOU9^$2"6WCQ8LY M"_\(%N%QH_,*(*W[(9H4E$J+77G%93[7M5\#6:HCF\A'K[<<07^D%IHF>;E7 MW)=S2C+@])5"]LV? SK4-G"L[$H]V4WJHB1',WG5+Y>, M8H%@M,P&O0X2CKT +0G3_7\XR+4?S?5&3$Q)XT;)>E6&K!(D:E 2Q7<0NJ6C M,?V8^U!2JF%-7.!/:BKJY!.P#\H)'&GN8V.-/XOXLX4IBUZ#DUD863HN%F;ZT2/5Z>P;XC#3XI<"""L ME1C$*$DPNB;^NQ.L=A6=Z1G7I6:CMV06-OV/&=MR1NF-U.96DB>(&9S40PX< MLUD C*GWT2NKT9&[],3-&V7;AS)+4(P#2.ZP\".7- E+4FT@+)\\H3KF1@I\ M<"Q@ 226?/^/T@N2\4^T,0=_I,%$5K^JX*3I>KC$)G+_BFP?38(5(7& [=??) MY,G F4=/G>Z-,NEC<2;I8U8[F]B!CB">'<-!B<&/(AP3=&P@*/9IE"$_E&1( M/CK@5%\$&_,K[^Q2QPM9$8(-BMZP\X=H@0E* E7L4A#%GE+,\4RRY4;3!'OL ML$@IRS3&C@K2B&--,S8J+G\OKV1K)0908:-8Q*09TKUEX<@%):-UHTS^L2HF M9R "CD%41^TE4L"6HS:-,N.G\LPX A\<"_C&<1#TVX-+89\N6*@R"(CS' ;, M>S?'#R9AE3#EY_#RPT(PC=3.Z^5Q[8Q4W-*]P5EZUR&A"%CI1Z#H,0Z3I_(?L+ M=ID?]#/E$R/TU$O=)R>.SU+JHXLKB.)F[ZB@*;7EIX/@E6E20,M3K#.RF"9? M=8I2>50(KJ(F)4N9,. $* .9''TD[0'!QJJ#\5*DP3'UI+B)Z3N6@)V"MA#< M5G4P4H N>!;>L(HS^^3('"8FK2&XDYI@8X(P.$;^3FWB%05M\(*(N423D)%L MNN!0^],P\ /3L^.:'Z(UJCD&!/=2'4S7)$-71"&6W1,T](1!/ H$!U>#XB F M1+Y _'+>>'K\+,#6UQ4]CR#BLY<]@ZUN?OR'8OGQL_GT^K^_3.]N1H\S8_0_ M3^/Y'WV"?)V01MQEBP![_/U(R?.+\CY=2*%71 6"7CZ"3'KQ2="VY;QZ+5D[ ML*.RT:DCO$XG66./J[N45A8GBTT/HT EZ@/P3C M0,Z@ DAU:ZV-UAL7;Q'BC1Y"8JU,GV'C%5I\LM$@Q-,J6(TR%+O">BZY0D3T M&)\W%H2(6BFVYR'8%:9'XALYTSB _N@5$)2#X/N4,TRO9S/J!"" MX%B^S_*GDLJ]D7-S3+QU(^ M+"D>L/D4/4\6 \LN)]ZC8(65&";LVBSG2GFRU! "Q\*4XIAC05 [6V^D#\BFX,]/K>,N):OGNN=O5E!*N1Q:YPFX&2QR_=*+DLYWDI>%:DL M!?7&\5G@,"1H@@-TE5&\S4]7;_,O;UBPW]WC),LZ_7AQ=7%IG!G[2>@?;![C MBGYX'/TVFCR-C-O'Z3U+09T_#J[G,^/W\?R+0I%,%B9-R M*8T2!"Y]1GA)S,W*L4Y E284*?2#D+6J((1I=BE@!8%I&4(X1)ZU6IODJY[N M.^K6@@+,\Q[H*, C;&"R:@>CGBH\Z097'V:*HIQSQ\A!X-S,=)G?F1N2U*:5 M:D-!6Y :4"" !U[9;'3:>@XBT05[]6QF/:N>T[8%Y9;G4LM\BT."0FLN+"5<$*,!03M-L/0LJ*,\W++2OQ%A 98G4HI)U &)+Y8E9'G<@Z:<' M@C:FLZ_Q&-?8C>JE!?SU-KGZTAD @IV5+Y!I]NE@!X&='#I6N5:9?](>$*Y) MZ#%,B@X$#O57BVJ]6B3(OM_5X8@/2S,<$NOD%H2T)82EH)!1+P(?8"SNZ+S[ M0$TC^H6Y1)>"%2'OTIU[1'(\('+JY%DEKE$XB]-9%?O"OVVDB1 \)F:(WIUC/CLN>]P\,7W;HZHX2/H!30*]T4T"O2J> M7O4IH)6$H^-WZZC^BL\5VXW>2#)4%<4L051/7':#LG(%>D]N5< MM'%K:YGE$SF6.?8LL>J1-&Y;Q^2*R/YY9C$2$,X=2@X/ED[ :B3, MG35[E781G7ZC9^GHLB;!#5W:DL2EJB?I0L9E7;A#$)H^)Z +Y49+2U[DT1)% MMZL;'GZJ0O4XPW9@+,S0#=KP8\13]_Z,WI_1^S-Z?T;OS^C]&;T_H_=G]/Z, MWI_1'TW[HVE_-/V^CZ:TO;FD-DR$37)K0/>D^J'T2?40$ ,OC!B4_N1:.:0[ M89T3T_,7[++(9XQMV:%6JV<7SKE:"$'8AG, E=ZH5>P+Y'*MAG1J>5-J[7QA<8$P,RZ[1^V@;"8E"X4GL*>&L6_8<9NS6*EH[U8)+ HQ;\ MRMDD3DAFVN_="8FSDC7=\K4;'4Q\/?/^@Z"F*C/Z9]2>GX\^CZ^-A\'C?$)M M^2_C!V/P^7$TNA]-YI&=/[CY;3"9CV9S8S"YH2>".]KEAG?XPZ#])S-Z)!A/ M)[/>U*_!+Y M <-M^A=IIHGZ %TR_'7P@K"MI:&2&OM9#8%8]OK"*.)8K3&Q M# U[B\D_F+ES0S< %V^89+'@$:N^-T?6RL,N7FYGV TY/I)8665C0S#\Q3*9 M>M^Q*H1K"3;0N6TV_^4<'X7Z]..@)0:#8 -UEY(7ONBQ6^H?_9XK=3"HW4G6I A= #R.Y,H_PF0FR.T[_KG1$%0W2G5I > M7N X*RVD(F!E3I\W4AZH10?>QV'H4[A]GVX"SXX7A=U9R4H]G]Q'@4_N(_TP M?)J-)Z/9S+B>W@_'DP'SK=&O^2R]BZUR2'<,Y8_Q^=&:D)2<%K7NDO-,B 0$ MM9<%7/1.HCQ*KM /B!\M1^+R.'6$5!V.E6N*44"<5_;0'-E@Y@.RQ9X366L( M?BYEB4H\)3*,0*R1#M?)U\X>S\<"*DOZ.OEPDG;Z.ODG ME*G7R1*]^R2'CX M6.T^ #Y$'J6C@#_ZW2%X#]6XHX\;A*76.^J[X*A_,+<,)/:$=&0,[X>D4_/#^QF"9,5H=_UL%&77.>'D(.C/TN(_>:X;A1MH\F@[YS71#Y$\7D1-G=VX9>/8NGNH@G_X6 MKOF7,3)//EJ$[IWS@C1O&WP4E+V21#89D$8$);LX',%I[ U3,\V4J :,:S\ M^V"%C!AB(P+9X##W<=+*(;UETHD8=:E!&9C>TJ&P1+P:;J-"&:[I9Y6N*31" ME^*I6HA!4/,2@/?@LA(HT@B&]BA PAH%)%F1V]EH0^!XG*R/['V*_J.S7.7$ M/')[00AT%!3F-$MS\83 PET:%-_OV-6*E;.1LT_: X([M@+627&$P#;VEAT+ MW00HN54AYYJL P27;05,DZ$(@6=S8MKT>$Z^LD H_X/A(V=;3A\(SMT*.)># M)03F=3>AKWAJ3)_0UR?T]0E]W4WH&WLQ.4L=L+5'Z=*[$=K(=8"O&H?M0B,! MT8\%I5N#^W /WNP]5&Q19?6(?$0)N*)V4^KFO-2D5.P+0267$/1#-BMA#(&Q M?99;%[+<,F(B^\?'QS:%UEDX9B*GTN@(3_OR[!%M\F*Z[,RJ'@2K=%((KIO" M@;-**=%&=+PP O,#E9C<+\[($&MV:@A.I6+1]GKHT86H?&',]SMS$]KK8#8( M+K#FU=8!"<")EM@EN,L 6(BBTFI=NY,TJ88/. Y6*ZM2*[X1A9$# ?R?!]SG M 7^/>(Q8TG- ^W=3X<5DDUT+4VF$9J7'(3< M68?NF(LR+&J/96=, M3@TQENK!JJ?.\1 -^>]4"5QC^H%]._8F5)+FWY#[@NZI6*TR0]-5C=R1[/^J MT 477KG&GD^5 G^:C%]_6Q)ZMOE,L"]2HM(>W4FREZ(!CDTW:$.0Y>S*[P_6 MF 3.7_Q/ 9ND/;J3%B]% QR;=C&P\7IC.H0C)UY(HL;=R3$780".+SLGC*0$ MS>^(E=RB&OP%$7.)L$/Q-=%1-HSL?= M435]2M7U1697A,WQ1>XFYB'T9.K>.=D[)WOG9.^<;-F1UN"7Q3JYDI[0'"+%>24%*\Z M?-9WYC/+C,*$&?V*T;;\/A \7D7B;OF8U<$#1;*W3VF!^ZH(I<&&-[,]U3G& MFJP+!.=388M-AA@$;O7!Z"X$HX7B)XM\Y76"8$8K/C&;@PD\MZUEA>N07V)) M1X3H9Q=EA(:$^ F=^54-#\$F5W7L5X4S.&D1PBJ^^"?O L%^+[FRV[V!)W#O M'P<@=%W['XNX]O>3[N[1]5[]ROT<_7-M_7-M_7-M'7VNK MPBM[@F/-]_+*7M>?_JKOT;8.//WU0+?^O##!41L(!XL*F'.$%01F=/?A0T'T MH'L/'_HD2/&+_G7,*_K5GX\4DZPLGZ/?NO >WA'(K5(T4]1/?FW9QL[D_P$E MVY;.>TJ5=;@64O/H]S8M70'K=^0\@K0U@IJO_MZF[9E'T$-((>QY_3M^ M_3M^_3M^$F],_XZ?N"\$+TW_CE^?+@ Q7>#[OC]6*M7@C=T?DZ A2QW)[P;! M35?VI2JPUZ<%6[VLMQ\%Q35_I!]F\^GU?W^9WMV,'F?&Z'^> MQO,_^N2VRB%E5Q2FBP$AS#G,@)$X4P5MNY2P)D !@MI+ <72 B84E/TW<_K) M-_E5$7GD5WL4( Y1J1P>G,%U$:S#8I@%K-[YTK$>3!)X5/FMG,TM)O_ #BOI MD3CGV$5>TT7^/DMGAMU0S,2*QX;@!2THU8G14ATU(*SQV>3"RY MK*O2#8+Z4Y&K_:U=%:QJX\+512$NY'4#X=W7YD(>5B!T5A]NZT"XC5BB",('\@CH4HX/P[ MF7F0W;X[X3$)$N 8Q-,DD.W?4CP9Q.R*YG1QC==K['&I$S!*H5]WHEX*R,!C MG+GEQ\/I(E$.#&Q>[TK$,VF7[@2XY'B X]2<(-,/R98#&^F&74J$R&4HZ]&= MH)44#=AL2M[LBA)2F&CE[%SJW>$'OO1Q@LU-_FSN#GX&^#T*5EAI]0F[=B<< MIH8/. YF'R4'(067L(?V!FL<>L&ER)!4[=TH'S^5/@2HH-015D9GF+%WBXF% M]/AXW+59I]5%]5P\1JBUX/1/H_7&Q5N$ALBC8P6LBDR1!R!_$L2H?Z(?1O#2%X' M_:@1D-!'EJAD4;O.\,9.!7%5^;!3E'1BL5,]MPN$L$:V7"0N]%P<:@EB?*-K M:SMRT0N*7!UC>I+V ND0_$3\0-"+@T/?W48.PR>Z MG1(>3;FXE+- KS\$]VD.*_00JB6G]68FI_E1 P@NSARB'D% [-IHN MHE#L)>/4E,032W)VU/I!\$OFT%@-$0BFR>";26R6-28Q!8_:="EAY@AT"!3G M2FU(=W*;%;VDB$8/&:82O(;;?9O8M*2T*;I)%YX.Q.I7 M3Y"IA0;P0A\,C^=\5)^/44T<0"R!Z" 9Y8':S>*'#.J<$((/04/":J)"[3=K M"R^/Z6*!]MF!0I]1%4-#\'PHW-ZM#%^X3)^$C%;312*YU3-?- 4$UTR=0B#" M&]XN(\L/%L85"N5/RT;K3FI:811KUP/"R8]J)!UM5+'O//XR<_E7-3+\_+5* MT06WV!/$$'EQV(,Z6=IM@KT7>D)&T:G:G^/ =-._L]2O"0[^0,$CLO#28PE$ M>>ZDZN?K3A)=C43X?@0L4K*WF,1?L7:BQ*^F@>A.'F#3E $GGZ7MN3@7/+@1"?E9;XV-PXUU0YU)37);L,@)&AWU5$@'P7&:58(2MW2+8 =.$Y7 M952]F([+XJX4Y\^TKS085,MTSO"]1'A[8A7E![C4]06R&%KR!\KV"]5 MS]2L4)5S(->!_YN3)Y88&Y@>*[P:+:::I"ECGF9EJ=0UZQJP?W.2Q#5NLE1D M#RW4,E.STE3*4UT+_N#D2V+;_3%-_KB&ZW?.NR+;S1)=1U1:K(41W^S[WN[V5?$MDS,R)1E-'K=(';; M=([(NG*+7F'"CMWNJXD*,,^,18[*,F1_PRX=QJ5XUG&15&?FCMWXJYL<;UO\ M'AW_ZRU!:$PU.Z'GZJ:$+WM>^#<,&R3&VQ:\W7*[<5X<&WEVTUKO<%[XMQH; M),;;$;S,\.;173#^XPU%/"%0(T%F!2@Z=+6R:=+ Q@, MO##V4!@1& :'HW?U5@[IV*.2@O;+)&:"Q/,K[=$E1[ 4$0C[A@! J9LXIP\0 MK[&"U"EP"E+!.Z:?I@O^-*VT'%I&.PBN9B51.\QL/\$# AM88CTEP&K@V:E' M@YF=Z/DHKTY=?D\('BUM5BEA!H%Y,^3209>?J6E"3)>".[#7E,H^>QG:>4$Q MQ/+UI3D&!&>1-D,U<03!VC[ZT('H0VR$(SO[0!0+EH!SJITAZ% UOJIB!.LT MEY11R"HW.K"HAJ"@ZI[H?M _T25P&'M XH0>#HJQ@Z4_U56_D#M1,[WPR:VO MF=[73'][-=.[7EV[Y=KI?77MW@IN-UPS^K^0FC-CC\IAR 6;/PXX7YE>'"=( M3*)Z;I;JS]\=6[Q!HKR=^&$N[H>!J\;E\7AZ"-Z8ML7QF";?D30>7HQI7!J/ MI_\.LGFT:?(=26-<[J)%@'K3HU\0$3[C@0^54D.GK3K =>=&OQ0 M*-9:M/SR8H*".^S[=$ER3 =>X-PX;LB29F;("BE4#M)+=KZ\$)2UN+Q@GT9S MXVXZFQD/HT=C]F7P.&*9SG36,SN>UMC/VX?!JP^#4U+;)PP>O5IN2'EY2Q<1 M6PIA$.>^CTSB.=XRD8_A-GL 65"]SAD[%:*ODQ 0=L=L^'*#]_G=H 3BZU\[ M^?("+43_QIXU5Y7A_HGRMH.D13A59T+$6ZW$(P@*ZI"_@=H\?3K*=Y2.4G(C MEA8)KFAL"!I2,:6[&H3;.\->7H=^@->(##S[,\)+8FY6CC7V%IBL.="/K!15 MB.*GO^D9?+B]-_^)R:Z?YOGV4G2^O:2?KI]F\^D]/=L.)C?&Y]'T\^/@X/]X/Y>#JAK6*(C#U(QO/6X$ 9"53]Z;=R2*\QKT46O4'%:G0,MT/D M6:NU2;Y*CK#YW;IT#LW'!L).? KE#D;I83*_&Y##I*HHRCEWC!P$SO$;L+&& MFZ! ?C-&E3CRB)0^*H M/0&]3A(.\TDXA&!Y%B/AL D27N>3\!I"Y* 8"1/0JTL&RZ'G33X];UJAY\1=(+AD5%]_E^$! M/X;D#[?[GP<$F;JAH^PZL/JA(Y\%C/:@& R6/F#4N^5J#1/U;KG>+:?+I;V. MTG/,*?3KH&M. 2L(3'M+_5LNH+P MA*1M5Z(4$A1:XT!T2D\#) Q62-H""%;DRE+"!3$:U7'!1];[)7XYYZD/9!LQ M(OZ#\X%S(/[BSZ?9$;G3/[0=P,@5$4;8-,!M4?%Z(J B^Z'M&(86%1G ;5'Q M'P\"*K(?V@YC:%&1 =P6%>>_"ZC(?F@[>*%%109P'5$*=B5HNIBOT.^8N+8X M5)'=KNUXA1())?"#L(/[H$4'@A:QM1[=!V'FOA7\[@2KG=]\[+'[(HZW'/@^ MHO_9<_-5P,9"(W4GQ%$(/7"53KH=HRI5R+2S,:H[["WOG!=D,]$*2H>J/I8- M53%XSEP&D!%!U,>L>@]&Z?A4[\'H/1B]!^-[..\4=5_TYYW^O%.:2Q-J!8:$ ML(IOW'81\.BT67=.*J>PMV?<7B7E\.Z1R;[=E]73LUNO+BZS[59V:?]V,'XT M?AO<+BG^RI]\@J8A*JT8>F[V@6 MBKP2%8J4NZ(8+ 8'YC]V<=,=/ ;V#--(8#(X4+W7JOHCW$X$EWL;>)@SHS]BS'-?A5EP:-^D1H[[I@)Q. MF^0K"FY#SY;[;$2-(1Q=ZEXC:9$0T0$"0Y]F<\)Q MW^YK6DN9*NL P69NDK$R6D!@;DIQ)1^_./3H3:S5]@Z]H*S4)]W.77+QJ>($ MBGF9]G<"M=K6K#8&O/U606PS^:N&+R@VZN.Y&:R,0M# M"$SKO8-=\ Y>F_YJX-GL?^PARA?3/1#$O<-!P#R-_A L'\6L?76DP'D-!R^F MXS*AO,6$78U/O[SY'.S_$O!3O7MW?(CJ.-5?QY"*U)%8S5:8!'-$UF/^7/U: M;?V5'JW-"YMJ["N-8B''\"_G$9ECY^9__G]02P,$% @ B8)I4X6SS<2C M=0 D74' !4 !P9&9S+3(P,C$P.3,P7VQA8BYX;6SLO?USZS:2*/K[JWK_ M ^[LUIV3*BDY)YG,3F9W[RW9ED^TZV-Y;9UD\U);4S0)29Q0I(:D;&O^^H<& M^"D1)$B"9%-GJG8G/A+07^IN-(!&][_]W[>=0UZH']B>^^^_^_#U^]\1ZIJ> M9;N;?__=(9@:@6G;O_N__^?__7_^[7]-I_]]]7A'+,\\[*@;$M.G1D@M\FJ' M6[+R]GO#)9^H[]N.0ZY\V]I00G[X^H]?_\L/[__T];????CA!S*=1I"NC(#- M]%S"07[[]8?DF^L(JN?^F7SX\,T/WWS[_ML/Y(<_?_CCG]]_( ^?DH&?&)5K MNW*D8[N__1G^YYFA)(Q=-^#__/??;<-P_^=OOGE]??WZ[=EWOO;\#0/Q_KMO MXM&_BX;#MU:83,@._OX;\64R] STZW=\+./^AV_XM\G0P"X:R(!^^.:_/]T] MF5NZ,Z:V&X2&:P(M@?WG@']XYYE&R'^P2A:(= 3\:QH/F\)'TP_?3K_[\/5; M8/V."8Z0?_,]AS[2->%D_SD\[NF__RZP=WL'J.&?;7VZ+J;"\?UO8/XW+MW M[PD8?@ ,'_X(&/XI^OC.>*;.[PB,_/RXD#+T0PY6-(F+4>EG_*8W?E;,E&@C MIK(S:W,FE!PFW[&_(F8 >@D0CCQ2R(Q Z%M(78M&.@"P/3,WP 'M\_QSD06Q M;034_'KCO7QC49O;)/PQA3^XI-@__G+M,9\S>PY"WS##&!*G_]]_5_1]37D MU0!LYN=)-WPS1L;^K)!/-.(;TV/FMP^G3O3;\.EKW]L5DRK0>05?_L5Y;O#; MQKSD&/%IX!U\,]%;I9\Z2[],U@F-; 0L =2=?GZJ0?3_N8E7!\.UR-P-[?!( M%N[:\W?<9?V;(*-+W8HIR&!=&<^IC6=8+QF*6..J&(R53S8.J1Y6DMM:)3.0 MR:\<]O\,HX_,2=-%2'>!FABRP\>EEV>,ENAF,G8\^GE.LEX=!?B$(^A345<, M8@G_T=*!]\A5[0].N1[JQX03)#>^-7=$Z*QF&7LN*&%Q8(%>VV+>[Z*95L^'KTF5[":UV')8-3:6T5S2[UEX$D> M?M\+_\RRF-2"Z#]P8/E!*HSBL>B5M(3%O((6#$2MG&7TME3,".8D_H/PH^RE MVY\7C1!?LS^7_LI[=:O$D!LY%J4\9Z]0)=-A8U#( FIUJ2. AH4=@/>MBCRJ M6/H/OO=BNZ8\/I4.'XM22A@MU,R3L6-03QG)NG0TB3YC#'TKZH,7A(;S_]G[ MTFV49/!8E+20R4(5S8T<@X(6$ZQ+/05TPL#WM2T"ISWSJ2%1QY.O$2M@$2-) MJECF.Z1*5DAB4[7B*S% ZTN+(&O6>=AZKOP8O& (8FV2,11KU.GW2+5*2F93 MS>( "8?8WV[XB9H'GZGTAV^?5W98F&U8, 2Q=LD8BK7K]'NDVB4ELZEV<2C$ M6Y,/W[Y[_HK$\'M0L95OP+N,I^/NV2MB]?1[Q,I5R$JL6;DOD:I5,8V-=4I M(P)WNH2@3NF(X8BU4832_U2P>BU0KE4ANN=V,H),$/!'P>[Q;#BF\ MB+%?Z(T1&A$])=>4DN'HU;2CT"ME(5OG^5W)$-0J6$RIABPOG\10>].WIYWA.%>'P'9I(%^T M3T>AU[="MO+ZEAN"6M^**6VI;QPHB:'VIF_S'?4W;/G_Z'NOX?;:V^T-5^[G M9*/1ZU\IFWD]+!R*6A_+*6ZIES%P(J"3"'Q_#G%+':=*+T\&H5?'(J9.O&%F M!&KE*R2TK2\$F+UK&L.W@Q1(S_SM:6LP22T/(10'@:,C^2ZM?!)Z351A^F0K M73(#M:8J$=YV6\UQ$(YD0@0:DL'3GS*S39)O. O7HF__2>6>\WP1UH9 M/8;GP'M72C )-97,CAR-0IZQ5ZR.R;!1*.,YM;I4D3M(/8JX-H)GCO(03#>& ML1?:2)TPB#_A:CE]_R&J8A5/!&Y#>.");W-_/[I_D-87\]+>\6-[,5^\?5[&YV?STG3S_. MYZLG\NZS:QPL.Z365Q@,H:A8HG306)3[K$!B\8@Q**R>HH@).&V5$#6HWIVD M+F+IP+&HX!ESA6IXA[@*H@*Q&M3Q3F/1P^8Z.0L"&@;1EJXB$)"-1:Z9I2QF ME;-P(&+]+*>W[?;>X-#_/*!N7AO!=N9:\)_YWP[VB^$PNH)9>&WX_M%V-S\9 MSD&V@JO.1:Z[M420U66EB8AUNQ[]C76=@><5O$WX@Z:(3K5>"[_[N.[?W7@8 M[S,\VGI^N*+^;N&^T""$55(:(!4/16[,90SF@J2"<8A-M93X3E<'QQBQ%/8D'_^TP_ON9?^YQ_^^!VS M \([_\ '[(_W$P8UV%.>E.VTOU1N;AH//MT;MC5_VU,WH&SQ6H9;ZN>B4XGP MU68B-Y0:[&?M16$:8K.I0WU3ZXEP$"J0!%SS/![;*,4'A\8.R%S++ +VD/TQ]9E MJ3,JG8+]6H[,OEDOD:NLJ>,9+4S_@ZQ(IZ1V%3G8D## MG>EJ8^7*Y@*IZ&&9 27PG1V8[.+.=D*$#\QNZIFP;;T&?AQU=&6^) "2B*IV W)RK MFJ/_L#<8J>"?KG-TASPS2 M^X%[9MNE!^:RL<@=4BF+N;.!HH&(W5 YO8W/ OA-CNNY4S1GSX+'TE-W_&J8 M9^+\X@:QHIT0J.>J9L@[&DV7,X,;QIUM/-N.'=I4,5>X= )R ZIF-FM4\M&( M#4V!Z+;YPTZ*8L@DXC@%Y\$X0OJ-6L;6V6#D&EO.9%&65GXD8DVM(+AU9M9> MP!U00^>[O>,=*7VDCA%2Z]PT)9)1F8=<;Y59SZIPY23$VJQ.>PO%]@]LT\>V ME) U)9HEPJVX+U"29^K2M3UT+BW0J*SI9>.1:W@EJR?.N7@P8HVNIKFM)I]G M_65""S19$+$ CN6J7#D)N3ZK,2U/A#B=@5BS%0G7E0J146HR352=5X7WSGHX M]G,6VYL$./P)23!,M-47;_'ZT'/YANAG.]Q>'X+0VU%?T<@5IR(W]3H"R#T] M5)B'V.QKD=_Z*L*G+]0]J)B\BNKOK77 ]?G]#]^]Y]H,GY2S=&4[#,(F6+CS M-Y,&P7+]*&AZI*:W<>V_4^M$4KI@(M5_K2(#P] "<&"+L:*B1GP_T84^M&^' M%R,C1ACZ]O,AA'T]"3WRSOZ*/$<4P"LJRFF U"+3"\* '%R+!9=8;+F$'BDCYSP%3&>6Q1OB&,Z#85L+]]K8VVRG(SM6EXY& M;AX5;.9N/(J'(C:6*HH;9R$G< D4(YW:[M04H =4V)5/#1:$'2M]>.% Y&HJ M9RZKH>>C$"MG";%M#YC.0>L]9_I!<.?2#7^PTB^3,4BQ9$$:$R0?3<@/DQ^B ME>2'R???Q^L5FO7DD8:&[5)K;OA0Q"J8I>E1-W1MF[9LHZXT$;GYJC.?->?J M68C-NP;Q+1[#)!EVEH Y;,9(3 T_%F"!Y=ZG6^H&S/1$OL&=%T ED^5Z9;S) M\Q-J0D&N^@W%BV4Q$H@ARM-V@&;41W/+GMH518E'1M;E=>X'3 D;G.#@M-W''D1,]=2 M=IH*TY"[4%7&)6D5A7,0NU=ETC4F8!0B&CPKHQOVSU(U^&X9F;'/XA98MYY_ M$S7 .N_'55$;HB8,Y&Z@D4AR&X@Z ! [B&9\M"X'E&W45M&A# M6=KBQVX/U.>W]TIWI263D9M*/2'([[9E,Q$;1TT&M-V )S>%Y)WM,HMP',,/ MX&FI.($=,GLJ+Q*1O3)+[B^5Y%@P:50F(&-:KOJG,T:C\E+"M:GZV14X5WGQ M*38]7_!+^1J"2R:,4+_SS%;IMA@],KT^(5JW3D9EFC=206G[6"#6[ M@.TJ];B5SK:[ OR=D;8;!>AWH]F7V( MP_2,,!1C]/(9XU%XE>B\9/@X%%Q[7)Y7;*Q!^9D$2B-R^>BQ:;,\%I<,'9,6 M:XK""S4850A^QGEU_%TQ96QZ7!%YEXT?DT;KC+D+U1I?P)U+2A52D$BK>"1R M32YA3YHL+88AUMLR:O5D$B<*BT-)138R+O/KG&P;+;3U*C9@1]FM)K]ZU2CV4=_>? ]ZV"&;*-+_1?;I+,W M^]3GE@Q#JL-5C('RRL8@U-I*4IL?Q7&@/-LD@DM^! W4A!)0779Z[A'$/;##Y1J*9PPJ)D M"%)-*V,HJ6Y^\CWV8N4R_Y.]%K:4Q]> _%JX!Y3M A3SR6G=7.8 MP"._"H@ZS67AAG3CPZGX+S9UK$=CMY<;3ME@S"94R61B3-*1V,VJFG#]!I;B M)$= 2GR&M6=CZY+OA#L.F@#L5B:H[8FK*!A?L5HS2"-0X6;B*= R^N MP6\(C;AI:RO#5-4=D&/1=R7&RENXD!COA"2828R:,-R#7H %?+,Y?X.6J96+ M6LEPY)ZABM'\I5?Q6,0V7DER\\NN("H;&H,>L72J MC.MF@;OS_1( \I^T2VSKQM&C>/M82\8V8-T"2J?@UPKE5C. MATPE$Q!KK1K=S8," 9T[4"N%/V0U#LH;HGVD+O4-A[$]LW:V:\-R =6CRK5: M>3)R]:XGA%PE#Z69B!6^)@.-2QL+-!.R$8A$L\0<*IVW#CMH/ ?H;&-0$-3^]C&TQ'JMM-!9'>9*C/Q7X$&E&\;RC V?O>B\UG',F[0\ Q?Q5W>O+<@!R"N*^K[5J,-+:=%9U+^[[0 MZ?''S.*"7T64TY+_-IJO@ICRM5%G.W0^53<#N MEY3I;QYP1BV9 VZXHJ$Q*+(=81;%V+E6QZ[JG7 37TW 9PQP?]2I0&($A&$@ MHB56A(,()(1AZ;MN;,^L5_SD@Z=_0C'$^*S6=@]LU5DFJ] 577L^S33RG+^Q M\-'S+=LU_.,BI#O>,PW.6ST><<9<2\+?;C$B=;8]BOL\E;43=(@W6'UPW;8T M6(9&*)%YXIMTM?2VMSRT:/P=U(VSWW5V5#T M?D9.QY=@COKL=X")F+_IHVUIK:V+&AC M$,7.[\ &OQHR"T4FG5L6X=L;5U1F-8\KWW #)@RV^YBY%O^7P_HULY-'4S$57$C,@B84H) M,1)2 GY."L?HX:#9FC+A?G9]:CA0%>A'SX'TTH^&[8*O7KI/E/$FJJW[-ESH MW;!_NIL'WDRBHDM1A^A&ZDYT"5K%<[3%-4(GH8WEQEF'6S8/(@UR2$CA,3^% M^NBBPQ)1C>/TQ1[J4$=J_C7%5G>S M<%DK?EW.VIZ>M*1CF/.6H84GFJ44-8W+[;:&+=%V*IR*L*5\!G+7H\#N27TV MV7#$+D.%ZA;5V52UN!\3[X_9@0\GXQZP<6G?*R.P38E09&.16V.)!!P5>)^939&]LYA-*:M?+1(U/6$S;+U#4:.B*%/:6XJG^ .AC+]5EYTS*O6Q<&<@5O))*LVM<"@-@8FO'1=L-5 M"^LPF2/]"D8L=Z\1SJDAD.*M$"R13N0"50MBUX5>^E,.'%PTM+%]+/O':EP^GR*'9=,9BO261_DBI0=U;G(?6TM$>3> M8:M,1.Q7Z]'?:0GMI]7R^C]_7-[=S!^?R/R_/B]6OW130[NY@0BQP&F7Y\)] M?$%A;=4Y8S&(,I8+#:%HPA@,H)3NIHHO@)(4JO92W/5/G?)\%I;DKAJ+7'E+ M6&*\4@54)G5Y"5YV6#LK\B5:&]< MN 7 DG!K\)H2P>%9/)&#:A6\[%"FU:=@]2N:[&<76!*)R!>:-3H;ES= M)(%. /R4[8(C!!CT.M?\JE2;BT^+0#,?*93= MIU9\Z5BJG-+!R/6SG,E\K<>BD8BUM(+@YL5V!%@2P\6@JS.318\'GJHL2RXL MCQ1JS$>NT;5%D8L@5"9([RM5+J/ M'-.-8W=WBOW<&N[YDY2Y6UCYJSLFKPPVT2QO[*J1OZ?0\$-\'/9Z.<&B4]$I M/?L62?!]3U_Y5_);"L7)V+U/+2'D[RU49F+V4_48:.V\E- -DP?1DRC$?E#@ M(0(1$9@F1.":$(9-C.C>$2H4(.E), &7".QL MQX$WSBU=J>320<+V3X9SH ^^_<("T@?',/GU7]'1;LWY2'UD8U$DEQ1U)F._ MM&C$2\N;-7NWAR9,T2W%"Z""?[C,1XC["UOX$DOX$A@DHINOHTY-S(M$V4/1 M2&8N!MD+12EWNH0C)!%&DJ#L=PWJ7R*-O2W68'6^VSO>D5(^ MZ('],EO&)Y.7VRAZ+86&U%5K$I-R?"L'-=: 5X$CW?8&SIC]IB[E961$JST: MD1&-V$>$@*LN#780Q,D=2E E<([11[]%/D9VG?A,SKA-T3ZS9Y7V)Z_4=^T ^E#VD: QFEN"L)1CA4* MH8S/T%28Z<7*(JR\NX\@I+O H+H5R(!22R"-8'77X&=*X8S3S52+1G5%OQ G MH\#+0#X&GUT)U_)(@]"W37B1!\-FKX9O??3E%><; QNGA2D*27DQET(:GZVI M,M34X'YBD&&CRGM QT@BFSNX=HAF4\HI@'S:6\]?&6\_,P^P%>4KV0=Q-1UJ M0?(-=8.B _*6H+";5@L!G2>QU(.#V:S:L-/4J.+-+6^M'L:)MM*%#)K O*9T ML5GNN3%N?,-%8XUI_6CFFGCFV\IK9Y3M("*W30WBRC^[: P.L:7JX*IM^D<+ M&KK(P/%UQ?2I!^1X4@AO75MO==8P=N1_N^6>0[!J[ M1(UX->A; JT2B:;PM\7;1<14Q)V"->:0*XDD/9F.KV? IP4J.>::X2.U[LY$ MF>2HZP2./8>]$UX;/[G=>0>7YQM;U(2EGO>M,M(2'WM&%C_GB$I\O)L]+*Z_ M@B.-@\-O5D!%B,5B 3-DUAS &:[# C:'K"G;%!$C"#S3YCVO^/D(I#7#M/@* MQJ(^@F1X7+])2@Q9>>2DW@I9I/56?B2W=\N?GY#47KVG M(8CBP?=>;(M:5\?/+.A;N,L]]0U8/69F:+^(AHSE!M ($'*S:"Z&+5P6@M&@F^A. MX7&Z9G$,W'TN$[""G)EK6+ EG06O4[)BQWF(?:08UJBOU VS?5YS9:Q^N8[OYMG6@%%NLWW# M+ AH>+I_K#<3J2TV8#^]=%*:AOXZJ1X7+9)?&/D\'LNN,7!S9,3)<':"%*Y] M&-:^;W'Z$44-7$/(-75.?KPIPPK,RWN8B)+VB+EW;LE/*ZEG( M_:$BV_E#B-(IB/V@*N5M?6 %GJ',OVOV8_CPX.N\8G*/MLQ[,L2'N)S9B%.) M8,K&([??2E:SEBL=C-AFJVENJJX<,HE )Y>.$?3!ZA5US.^09LG8X>F4-U%: MY<+E)*5W)GQO-'.M.]MXMAU^37%/PXJ+PO90D9NX)K%E'4%+D(C=A2[.&N\ MMFP>E+5VL[=N'"F_C'!2M$/>P)V+:6::D/8=\WJC,HX3\MF&P"K*AEME>!!&#A+MZ";^#VOR#3^$M0QRW1X$& MD+0&-CJ_4$=(Y9Y"!=*H?$/Q++\**D,3WJ2+F$(W%S8//NP8V MOX&0W+06A%QQY','_WZT-]MPN?X]'SO7?Q0[ZOLAUIF*G 437[E^A-DX_9'3[3![JFWGIZ" :ZP.U=.*D8KYT!_4%:(#T\4 MUHTXQ%&RZ[G3]E%6YR<\#\:QT?%..F]T'D#"NMK!3C1I5%8OH[V[(YT(TS"Y M'=T+(#G*V1?S.:AEQVUVHD*@F:-M97F5@AB=O5<+I-STY?-'Y044V-#O$.1( ML?B&#L7"W(1_.$UNAS,87^ BSR+7 EUD %0W\1N%4T?G+^0"J P13N:-RC^4 MD-_6 -)S1T?N 95^C@#$BIF7Q^"T-M1/Y;$45F$55!&9PI*8BFWBE(0HS(0 M-4[TKZ&E>+$LH]T*)TDFC)*$N[RQ*.7D4>"/JCW^_:P:O!Z(2/V$1G%)[S;J M@1O;34=#[MH7+RRZ_;!=\FSS(BD\0XF^F30(1",HD8GO)Y20<&N$Y-5@.U[V MI>T= N<(,)V#Q5\TD6?#B=NV><^.O1&Q;N@1QJX;,.,E&\]C08!/ E$U%;XS M(PF0-?O\=6N;6TC^#VR+'ZRS^;S>4#)JR] _4^I&"124@[,#8AWHP-

*'D/B\OIK91\E]5@^IB6#05!*-]_X]EQM;[ZUKG[4KCU MEM]U9S9JR.ZX=8KH] X7Q_94OA %X2AXDA(HX_,H*LSH M*B-KQ[B0E*%CLC IM8);1MPG(V0Q$E#$4VB/O,S>S+6N#<<)ENNGK>>'(?5W M0E[\6XF@VT-%;ER:Q'92Y;8-2,1FIXNSY@GA K^PP%U" >R# T X!8R1:7*4 MPQPOCU].?3JN2"8K+ZIEQ$6R4G-/BG.Q.Z$Z(LBY&I6)F!U*+?K;;@J4L V5 MW=F/*'+-CO&[ N;(V$8E/#XP=D/F-.?LTWU!KZY& ,;F%"J%4>H9I+/'Y!ZJ MF=#N(Z0HT3B*[H22\Q;[" W/AJ$R*;2X:\C$1[4=0", 2!U \$[+?'@/; M-)RX; :_B#9\2@Z!N'D&<*[G[]@0IA/6P>3WW<^'P':IJ(+/#(]]3/D-M'@# M&]U!BW^X7@@U.:D+1WM #?L1#(?^:WR_'>38$1"-(Q\)M]6ASU!&A ?464^3 M#R'Q;8A'@OW^WAELO!F?P$=BA(1C) PE&\W/WZAOVL%9FG&=><@- M1)EUV151X23$ZJ].NY[K"QK!Y1L4W@_;$P@QZ3M$X"IWJ+G!8]/L').EZLQ' MCDF'\P1K4MSH96:DM2YWWA7R+ITX$A]4S7R1MY'/ M&H%?42!>EP>1HQK:5W0HA!1N(%K; &@1JR")K!=!<(!7>4K&KC /NZVKLBX+ MO0LG8;9T9=I;&WH5IN'S!+L10'Y'$N, >Q=82'?<*_3PZ9M_.\-_UM]->! $ MSXSC :+1%U0?'L7!=.N32OS>L;XPFAU (_:7#9CHZ%*K "6J2ZTN1%)QJ55T M)#^@[YBOU]0,E^OYF\F;N#RRB'/I@JS@_R%1X,5PQ&XT"'T;LCW@BYEKY3_( MC%SP?!+&X8T=[+W <#[ZWF'/9K!_0]-#VSU0*WK!YDE/0U$0AMS7H9#1F0\= MGBK$OAF1<)HZ.,$"/_J)F" ,-(N%HBY0+%KB_@]R?O@?-*5UT![0+63\P L( MG#_9CR2?_36%>"0_?^]$(/=@P_PH^2;7?5* V#,-)(BVD6>_9 \3O8[LI^$1 ML%@8;+$63,X6@DE4(#8FF@\8Z^J@)^+]1VRK;670$,7^(UX=3@R#K@DUB>YD M11#UJN9NZ=W/J'Z::_55@!@AH5!)>1W5[>I0Q$^AX8=?JI"?Z<9V73B*DHIZ M+"MP1<:U+MB7O&:6Y65K 7RIJYRV[&VH >J:MF,;\4.[&K$S+T*[I4F%VF!+ M:3AHLG=>8!+)GPU";F+%3&5M)3\"L=)+"&T;?.7!#A<>:6;O,6]NPR0"=,>3 M"!U6/8,+K%BE5>?C=S)U!1#UOLH3D7L MENIRT%3YLWB(Q0)RQPL./HV77?Z,BM@IXB&74K:1\'9T!2FY#X8M>R5U/@JY MGDO8.FFTDAV"6&]EE+9ZR\?[FI\7LDX2M ?4R7RUZC@152(4?!)EAHI?)^3OJIFBHH8 0F\=?@*C_(L^D(=C]=7$EGIPYQ0H)4G$!+),XIU MR,SW(4D!_IZ0J(=8!O.@=R&R_\A88E&\$: MTY'[OKJ"R%]:J,U%[)UJL]#B_4M!H;:T QU\;$1=;ED(;YPTAL]]KZT+KJ3^ MY\QZ@1L.>//XD+QXO+7?F*_@90A742L^)B1X,,1+U-GQ=U[,:561T$ZP(+6V MCL6:E!O5CP)[3=(..6[QGI>QRM_Y&Q%U?*N>K=NX!@J34J0IC>)YW%Y0F7SO M2>H\]EP/%*&L8Y((HXG$1)'EFG"RB,!-,H01H(Q$I"7?>VF9T0X+C%:%>.B% MW(T6#Q@&?O0\Z]5VG%C2,['LPO&#]==#>AO M>VFOA&V8'64_@OB4.9".+EFRU;J-!!5Y]^&KH=[!]R.*1RH.X7G3X'R.$7.> M!_YV=1-1 DVIX\RCK+S2(F8^-,%.Q3=D/I*]V8;+]65X.X&@\OYKQ: M6ES$A!]VQB"Q&0000>)$).E3R)2DH\RQ QPEH!!A(N\&HIN-VG%IUSB2NFI M=Y2(.5%R4<&,X3LW>Z*WGWHCX+L\M79SOQZ-53$ :3=2EO_"X;4,!N M+4%"4BP#;LQNDB27%7T+KQBJWRHRJ\IG(-7I&NQF-TXEPQ'J 8 M9J?3)=-8C7?I;PS7_CL/0*\]-_ S^ACQ]_O1I]O@+?/>T^'B_ MN%U M94?]*M]98SIRGUA7$/EWN6IS$?NPVBPTOP+BB,31:(Q*M+6-D2'P-[V)@_N1 M;YD?>9S_-+__/">WC\M/Y'IYOWJ<7:^>R,^+U8_D^O/3:OEI_CBLH^#M.N"X MY)@Y):D19]6#@-Y=U!9'WF,H3T?M-.IST>+JF+>+X3PQ;[&:?UQ>8H?%P]D]O%Q/O_$8A+A168W/['X8_ZTXM')X_R. M3;GA$WXA;/[]$W,X+'89TLE<13W'K[W=,XOC0'#J_D5Y,G+74D\(6:^B-A.Q M0ZG)0%.[B=&0#!Y<7J0G07 '\@?8Q7Q^6MS/GYY8Y/'I:G'/-S%(BG5QQI#APQWSF)3F$WXJ'47E).2N08WIK#,H MGX'8_!4);ZK: OR$I)E= @,"$^^8?/0UZ'LD?TT([4B81D<0Q M?V/P M&+T+B/N0?^&'$7*BPA<49>N[9 W M7:]R)C5!('_M>8SYB!]*(C<:5J[)E-L!IQ.A(A(]PA C<1J]BX2[C M3\QES#\]W"U_F<_)U?Q^?KM8D0>VMQ@R#$DJ[JD?/U9,0>X55!@N+)XXK@-& M);(;)_QRX(1!QW68V"G3W(9_8#:\N+]>?IJ3U>R_!]U S T?WMI ;R(>[529 M;=EXY#9;R6JN_I9L,&)KK::Y\?.&"#)AH$4$C\!.NV-79"N]9U9Z/U^1N^73 M$WF8/Y*G'V>/\R$W^W0#FY!'NO?\4/0R45QLU68BM]\:[.=V\=73$-MT'>H; M[]4%#I(@P;4>]R$"8?&0H!@G#_%;_X_SYA)]/#7>6Z2(2%HDBSQ$\ =(VK(2*=U,U 9T,HW+#ISK264 MKXRL/WCD;9^@Q*6@52): M%'V$,E0K;@6ZW$>/&!9,%UG@^4+Y\X52.VL&";FEM1#/V>O!>F 06UL;;EJ] M(91WBD5F5:?IR&H[GNI9R*U%D>VRW/KQ;&)4*=>79X]U"3G)R:US7J8Z%[GB MUQ)!64+ZV([#ZM&O+2D=J24DZ:N9OG5UK*'.?.0645L4A5G;59,16T9]'C1D MB-A8Z]'?5-'S6""?+5YD?N68^@[I_C!] MCJI5.LAO 06A#6MAI?,X=(84%)K&C M+-X)>3YF/QAH^?E^^BQJI4\#*)8._F3ON9"0VF0)4H&&U(@TB:EZ*:H$A="4 M=''4OMQ^K@'!=8)HR ?'OK>G?GB$%(D0BH4RD]Z#<*H6(:6)2*VE/O.Y%\F5 MLQ#:0 /BFZI[C&+""^*&HE9NC$;30J$]*(O3Z-1CKZ(9R/5=@=WB2.IL.&(- M5Z%:1UR4)%XBU>A;V[5#>F>_T+-45*4#J6:01F,!M<53;!G*8$9A,?6YT6%) M NN4HSW/5\9I7UZ9K&X/X<&GLQWD"(E^U_,W2$]5.PG6C&(D%JE3H$6FJ@/^ M"&Q8*YO=&_>$")I(EB@24370H<(?IPYOS=3D".%\+E+S:R2"ZN.!DXD(#:89 M_>V;T&HM ;)1R/59T4V\RWT"H() MB5$/%-7\:4JC/E#39]$(:KJ'9W%-HIQJ6$@-1XN(JJ.@"D (C4"X+ 3G]4\:=.$!*GU=2O4XO,Y M'1@0VFO'C.K8^!<^E ::)H1312*R)B0AC&0HPQ6(IG*.7=03]5]L:-)>] 1] MYG!BHD1 T]NX]M_9#T-]V[,@RJ[N?=PAOM%XAXY$7>PH-",;A<_HBN>.:BM, MXH-!2[2",/9V:#A S03.#P]X;Y>+)9MUSC,SM%]4-[-: (_&#;057E5@4 _J M* R[-7.=6;! S^PUPC\NBWVD0>C;9DA%8/79M<. QS1:S;<^EI';W,Y%."HL ?2-+N >J>AWUX/W4ITUHO"*9[ZD\#SD:#P[ *0$A- ML[UPJH_!RJ @-# -S&CH[4M#S5 MA8;4AC2)2;(?K0,*H37IXDC'4511!3..G>\C(_Q8(]&9&]H6D&B_L(VZ"7=( M-@WF;Z9SL*@E2E?O]H:;JBW\8W]UC:GMKOV_%WC5]=U(2,U M[ [$IQ#>U@&+T'2[X$Y#J_NX$0(LS1\3I&21(D6Q+$=U%ZZ.GXR_>GY2SN?J MF-2&C(I%UKT#;@$8J77J%U[Q,ML4*D+;[( Y'\C_JPN8=XO M":/Q/OW]()*3O,[QC\(_]2@&'0XK)9)X[JGO"28$*(U>M47O5&V7I-06N["( MXJ&.$;Z=K@W;G[Y B>[I+BW1W2@)7 4:4A^A24P*1P15H!!:KBZ.VAT%0/W< MXGKR0Z:#)[7TACF*DL'PE:/FUEZYMN63] 0-FVPS;-5S3-IRGV('+="P[ M^.WJN&)(9V_V:82E-@.IMM=@-^OF2X8CU.XZ5#?5ZAQL L )P":_ O0A#S7. MF :R;KR=8;NJ8LK-&)LBG[-;JLCI\#$I<@'5VA59P!^TB7.R@3\3P">Z>Z:^ M1%PJ\Y"KM3+KN:;,59,0J[@Z[8V;+J?'004Z_ZO @LIS7QVOJ&MN=X;_6[TX MY'0:H]#4M#%ME8Y"I=RF+N9JUH(&+E+:>WJ<;&%^H9-=4> M=@1^F%%1]J]3]60?_24Y@4F#(L,IB#&JQB)53R4603U+!R)43S5ZVT?(AJ,] M3E#32Y&#EB6D,"BH&HM9+ZM83/12-A"K7E;2JTY$,>CA-_E%#)=N[TLGC%!YY5MZ^>B1*;"FU5VFPL.O\P\^W1NV M%16P"F:NM0RWU+\^^#[4ZHO21$K"@%H D"MY?6'D^V^ISD9L! V8:-Z/BZ.* MBZ<%_&4=QT8B=$FGE>&C%$X7"YI,9<,HGX'<$A38S:I^R7#$NJY"=5/E%GJ< M M>ARK*\M@- 3![:/'$9%>9,2TGJMMQ!E\W$KI/F(\/K"/(G7 74C^@=UA9'/)B]('Z\(&QH1]4 M[]CR4Y"ZKCH,EUZ&9L8C7DJ5R-9S">HSZ/T:Z0!, O0)2>%WPO +]9\]-"P7 M_:[]>B9&B1G^;(?;^/DOC]GN:1AM1^0R4IB)WT^ILG_BKJJFX?9:RM0W5?(: MN ;S:IT+(<9!7AF2Y'5]]"1H0HPUHY) 0?=7?DRVA@H>/K5L47-R$I\'3,C* M"X=]0I'6=H]Y@EKS"Q8MVSY$^D"O3-"*<[%[BCHBR/D*E8F8O44M^EO["Q5L M WF,7@21P4(2_P%X)B3%1(JD,'#4D/162T]_:KC>XMG8?4(],51%$ 53,?N% MFAQT$4D4X,,3370A#%E$D6EL*!<%%@<1G)9' 3ASI/U"?G_0SZUL^._:FZ,ZA M[ESD?J26"++N0VDB8J]1C_ZVSD()VS ^HA]!1%C 41X2 8123'%_=Z0!1R% M4GEB_QNL;6HMW >?OMC>(1#-\VJXX]J D3L4?<*K"E;J047LBC0RUT504X\4 M/(%.SR*4!3_%;HXDA$!QP9@44BS#X4]G[ZGT *9L G9?5:D#SJ+AR$U#N4,Q4_EST?@7#Q MKB"T\>H5]]\9Y-'VO;&CRW6.+>FC[;*QB-6ODL58"Z4#D2IC-;WM=;+%0RY) M]#2S7@PWI$$X8PALTUBXICQ,*AN,5.74F$P"'^E([!%.->'Z0YD$)XF03@A# MVW/LTAWC$O8P/!-3.H^&!V_0=GQE[]B0Y5J[E*5B (\6US'^+4Z3<%3>3=+]3PO^JCW=.W MT^@EZ11L?6I&1]'!%.Z>DN:^P=2R V.S\:G@9.JMDWF6:*E0%'7V@A6IT^Q9 M[-5MIK2A1.AB^^:\56L2Z%H5)Z_=BH[R$4'DY^R%;\#&W>1(RCX??A>U,FGD M)31%5K%77?F&&ZSAU?1'S[.6?G0V7;)K4IN)U+0;L)\-=12F(32Q)M0W-9-T M=8RQP-^ AWA^?/,Q_,:B0A2EY<=4YX[;!.1%R90FCM<,-)UI*QK"\)7+8O*@ M?]T+]1G=M+0>4]EX["I?Q6I.S66#,:MV)$((!FSM7I+=O-1W8^D2%'1 M;JA@#%)]+&4IV=>>#L!^U2BEM[&2;2G<+ )0" *&*0"FG:N',XZ&?$$>)5<] M&'YXY$8MSN6"JV/VF]+;P!H D-IC-QHPT?P46>3U<8C#[VVS M_)5N9 L'CDBSY5O4\U$CT51-F\\3C=2?5?4$U<;HQC8!@TO]8&OO;SW_/R!\ MNF&+@>/M88F=N1;OCK2BYM;U'&]S?/*< [?#DEQU?;"1*G,G(DQSVS4!QAZF M:>>SK;5!\GM,$]FG1/$Z7'_E.PLKI8NGA = &0D3TD@0T]9WACP682:$D(<3 M"7):R,V)!#DY)*6') 1UL7V;,;P6X/ZP\DX>%=1_E-,&&&;/UEI(:;9J4TC8 M?5=[QC0X*R,F@OS3!_@W%*P^>[WSOXW=_E_/WN\0(R:K[VS8P00W.Y'6V1,? M(:E>'_GHVB7?'"A<9Z^\[/?U-E8R$$@=51N!*.R5"^>/9 ^BS$;[)#9UI$,E MJO4HEORF+8-N0AA" GI+WH7>5R0W$$$MU[+Z4A+!5LU![C646%:NLX;8+ZC1 MW6D5-3RU1/0QKE C;6BKOCH$MDN#8&;^[6 '=E4W2>EHY)9R7J7/N4DCT^QBVG7J^(3$ M2+HX4[^V=S3T[;>%:WK^WH-C,$M^>%0Z&JFZ*K*9'/_(AV(_WU&@7/]SY1@I MR6+M^7RF0\8+V>ODD- MW:K/Q6[,35C1;]V&H(*W%(S)R-56>HXHZ?M$MD?I1+C(]:D,XB.1&!^&L]8' MXPAJ%:R\*&J(0PH:W--PN;XV@FWTC:Q6;$T02'U)&X'D&D/7F(\X=FW$1MLC MECI(ASEQZ54L,3)>Y44 )2D^7L@1\AH!9_R]I;^R8XR1N;-GV^7>[$?/L9X- M\S=1_[K(WZI,0NH(ZC&=A!*5,[ '$.H,-+\[2!H5PRTN"X[C1Z?\GXRC+1M' M]CX\.@JW1@@=B5TO)+QS//NGZ7@!!!JPF,*AY)8Z(J&%OW$_$L/ZZR$(AS5\ MWW!#.^I;;WHOU&7_9M_P?T;3/-X&G+I,SB+LMT.Z@Z;,G#_VX89]G=Y)$\BX M-KAH&9P@HAY,F+%-XY?\C+UG*B00W7Y#THYMVGM&'&.#,KMG7&W93P5/>B'4 MV.]][\UF\1EUCGQ&^$J=%SK=>6ZX912[]@L;:OC'6/39$S*HJ=)S<-:]YJFA M&: ;=/>L)T=$&103$B,9OH4!/#9\M1U'5*9@NV9FCP&]H>*_DF6X MT]FPLGP&XD!2D?"VH6,YFF&"Q8Y9C\$G55UB#%"[0?SU52_AX#P(^6IC023* M@E:VLJZ\:[$HSG=[QSM26EB_I04LI :N141E,:42H!&&FO7XTA2!BN"+1WZP MA\J$6A "Q))MJ^P3*O-@N'/2(;P?(,QQ,CJVPXPBS^A%4..ZDLIM.#JP(=JRNO)30EGZX$<L@ L=2T:O8BA>* M.*N@V[V#YBS7G @3,XCR(* ;756JMA( I.M%27OK%F4F%\NBB+/@?IO'Z.#53HJ9KP_:G+X9SH &41S:"@(;! MU(AR&Z:&:TV=Z/6)S8:P[UGX(3YG:^XT2C*;'@*Z/CALZ L;U*1^^"#D(75C M""65#Z$1T8;0!:,54:L:YW\@4U+DUMC'MXQV\A.G'>+[&:<]R8_B"1MW*>WP M/=#./X>X/7:%GSGM;"BC'44Q]%O;M4,*]%@+MN-R-_:S0P5W5T?1\,YA/T3) M^[=Z$)"ZHQ;BR(95-:8C-.HV7#2U.X%KRI&1%%ML8,]'PA$2CG'XAW8EHDD% M ]TB2Y_=U8.4;%MT9_F_!S+7X/R 4*E?CJCG(-5F) MY9-&&?()B/59C>X6;3(BZ/PTA_^3Q]$H]'KA6G3=^@RG/A3DNM]0+%EKJ D" ML7TTY:3Y0_X8'S^D+3K7&?P@IT(F-0YSFD$:M_VH'NHT #->.^KD<*?:EG > M\"S*3&29^\3H.I'7@7"M M.1OR8CBPM5)/ ]&+%+GI]2/TBH0JC1@1&WM/C'>0N*613#3)7IA$SU,F>+I' M_#:FVR<&C7E?Y<*XA6LZ!RMZMU&4]M(?:J1>=H@?H.QI0Q=X1_@$HE,QM.G_ MF3Z02[8N(O>+V#$N\73.3SB RC7Q,XI,1JF%HHP,2D'W22R.YQ,H?X;\HG>J M[^].%)X-^>?O)S^\?S]D"J!.T::G$WUL3?+8D*Z6/8FYJ\U(!M47L@LIXAC3 M]B-#W_CW'3J%G?>]N5-3VSUQQ2AS2$5V^)V]EE4H4YR*W!/6$8!:BF@Z#[&/ MJD5^RV10B=9/(!;W0_OO295MJ/#U[A=J^)<3@91>TO3BTJHH0&Z? _P@1>XLAI( KRBFE^1(BGVY_E'PT9)_>(VN)B/0>SB8[\;@&I<:#@"+82-UP M)R)L>WYZ!OA"#TCE?.HY 3T[^-Q$>"[I\%._$+52T\W: 15Q=1]?=J"-0&:L MA?'3Z^%=?^$*.3--,)O@P3CR&:X55\QY@Q8XRH7".B7@ A>1=C]&)S=UE=@O M=#EJ*8S&S::2]2I3D $6K8,/U0Z@7!FL6R(C/J#^BVVR[]D*1J/8,E[="CMW M\28"#&10" @B/OP^2"F?0O"*JH1".>"DXP%='?0_R7S1=?+ MV:LCNWR]U*]2GK(8D?^?:J MSY]I*3>$"]E>Q7'$RGB3K\6](D:Z\O8O_*YV3\58OY M4P7SF/9)Q:2.?W/4 MT4^0[(A"X^T"'76_WOF+=QKJ_644L%VF\;O%LX8 M]KYM4F(XW'\>!6RJ^.*(2^IOJHV$ZGS:L!^-GQ4 MF(;0J)M0W]3 [CQW$S7WB M7""L:OHBJE'U@OK1HJMK,L:K\.?M**I].&Z/* M%U#?@5?TBG_/@H%KC_T!GR[<>_H6KEZI\T(_>6R#5GA8I TR M4M/N0'S)@JT'+/8%7C.7[;,L_900\9YG9"0),)G,&PX.#98/(S*0FVE,7B V2.(E$'C;0, MD->)1(C%RQ>CA,SS1G"56DY"#[P:!8J(((D4"[//;H^>&X3^P01'QOL?;-@/ M%WSTO4!VZE<^ ^F*5H/=7+='^7#$X:H*U6WCU1(^U'O&MJY7VA_K-7;KP=\9GACNU@-Y(J6#W: M8WS[+Z^(&_Q,H9$[VX0PL1D;6ED9N25(Y+:M0V!9#] &'F(_H86M%F=$:67E MA[+*ROU$ L,*(\[ON:WH71F30"(:TD2?-1V^,'7V-UVN%6M)5T["[FR4F,ZY MD](9F!V&&N%M=PGE: 9R#]VRGO.&+.HH,/W&NX*ZB=+?3Z.#ZRD_N(9,R[WG MLJ^#Z3[*9N&ID\F=?IPK671ZV@D6I!ZA8[%6)Q0W1H'0YW3-::L$WN\A@3>Z MW7GBMSO7"0'LJSCIBV_UTQ21) ]WT(/WW?[ O%UY_E;U:*0FJ,AF_K"]<"A" MDU"EN/EYLX"+*ZOIR5N'KX8/-2;C/S,]JZ^]( Q*=;C.?.1:75L463U7GHQ8 M\^OST-068O#;Q@.7RJW]!G^56T3I!.0F4,ULK@66 M=#1B)5<@NG&3DQ@T5^L8. 8EYF6MMIYC+78L@'OAH5ZY%I?/0*[&"NQF];AD M.&)%5J&Z\9N'&#;) F^ER9)]\IWQ[/DP^LCL4?'I@\( MI#+]^I](. EJ\8ASR-<2G8OA+L^LQB<4$N-5M-?QF:B*58[0$+M0NE7.I,B. M0^W9LCKC"]56O3@9KN*$J70*4A.LPW!U8B<*TZR?V:GMU*DXRQ�DM?[Y9E M*E=.0J[4:DPK/='&GK*L2'A3U<[= R0KT(1L!D[?G9EL&3[P2B'9),4D1?$D M$U(J)6DJA3;PR$U%MR#S24=Z8",V/^TLMLX\T$20WN#R!R%)EVZ L/(D)B0" MO6,+^)^A75=,#K$R](@7=R7)WSVG-9A;QB6=VN[4-'S_R';F4]&"%JI)Q0F@ MNK,F!":_JRO!T#%+3 M*F4IM^_.#D"HX.5T-MY5"V@=G \%?IA1./:O4V5C'_WE$5:N@O*4I]\A5:Y" M%D"IZN3 MKS"KEJ[D,9ERM2C'V$*]/MFNO3OLI IV^CUB%2MD)5:RW)=(U:R8QJ:*%D$; M:BG\9+R5*];)]Y@5JXB51+&R7V)5K$(:&RN6@(;A#J[D06;9+9S"-*3J6)?Q M7,)KQ1R$REN;],;U"P#*Z7D33L7.G.,KU-9I!&B\RE\A'$5SD$ 9IX%4,=/V M7JP^ZJ%NP 804@8N*1,!#MVE6\;NMG5 MKK94Y),2(TF@2.^'B;@?[OFU0S>&$0(O@4\L[GL/F;>^::*-GQ#BCC<6H5_<&T ;TH5U;6%4P/Q(MQ8-K[ M%>DA8PQN2[OHF,/X=C2."7STZM73(LD4UD6YH1,1-?<^$:"+<3JG_/3K:R+L M8W QN@3%+/Z[<7D6"-;TB3""=GG>)2NFEOX%0%V6A\EQ-("/ ?RC\3):A,7L M_P^C\C.W3/;:9!@!NS@ODQ52.R<#D"[*Q^08ZM_% /JQ>!@MHF*&_[W&"S'! MA5/ 1=Q<-\O,#)I+2[R&!G!(_88N027732U@8;_JU\%:BU8R41I ]BZ*K#U? M) -,"(WS70XWBL@, ^^#^_C.FC3SONQ MQ_"3VSR03LK[W@ML+B-HT4[>^2=-W;_J.7MB2.5I2\ _=F'%!=;2?XHRO9N MJ4^YIFMX/\/8*+D- 4RDO>5V82B$;B'DE*64N62,*1V'W_N5$-[[BYU!3 MS\4<+P?,7#=\&"4F$)Z8P#U9SVZK4ZZ7:Q+!)0+P (ZFWY]5HQ]9LI61*:N[ MX23?V<:S[=CA400*CY2_7%EY\[>0A>B\O1T?MZ+^KD@,K:!A]DCMQ92XK>:@ ML/LV#9RU#VS9:DN\F!!A+RP*C4AAL9]XB\4B4<-EXWAHQ_Y!@2B^5$=3F+GO MV#^-D-@!FV4$GFL\.T=BB@+]42A+WZAOV@&U>O:G TJZ)?X!?/. PDI0BY5I M0A+LD[BFW6.JD0D)H,=\ BD261?)O7^D&SSIWE<#![^#:BJ_41:A Q?FU1C?]M/7\$"*0F6O]9/@\_5JF;TH3D.J=.K.)ART=C3U M5B.^?0P< )XI#V&%BH*/SI[M1BK+#W[%"'YHRV>P^9X;)<$2_CV\'Q-%N2/X M+Q'M!=#C8]63P'N2/?7E)[/>LV-OTN/GO7'DAZ\VG.GR,UF+?QYO?(& D["^ M[Y=KW?YZ3Z>_&7!\(NCX9WOW8<@EL&KE&X'CD;)RUE@1@5LI6][TZ=\9Q&%* M..ACB#^,;+]$=Q(W_DSMS19N'U[8IYOH<4/\)>SY/BB%,TI@D)M@4\'((])J M&(@-NC$K3'J368 ?EY_C*X9WMLMO98.OR#NX/,.S M.SN1WHT=F/S(A^UF'RC[S:1-BAJ &;.5E0A&V!X/S;8HE5R!/(A-=U#G57PK@$B-6)^P M\OO'IM 0&J=&IMKO4)N2,$P:]( BP_J^74DD-P?5E^TMP%V"1RH15&U_5 !K M[-ZHC*5>?%$! 8@]41?B&OC5NBK?Y>_5ZT.Y$.=2\D:])H@+<"6ZWZ77Q(O; M<5S(6_1:[):\0F\"YY)\ANSE>6T@E^(WM+XVKXUY!+[C$EZ8UV&XY&UY S 7 MY#MD[\GKPK@0SX'Q870I_2OOBCX8ME7Y'KH1%*2*WE(LR6E_?1#8,]]:<-0^ M'<[AR'\?P"UV=.U&K=,$-''I%J>A%5W(60?ZCP?+=>]S!OCA&^(=X&7* ,+1 M]"JYYU"IY0J*=\5H*H@F(=$%A$*][YV&2H+L21PB1W)]" ]LF=E%#8-S*V&C MW),^O,/GS%K.5E:,*\1&#RT2F+ M624O'(A8QWJ MQH/4O2$MZVEK^/21[MDOL65L/?C>QC=V)8M&Z03D]E+-;-8TY*,16X$"TX6I5%N-'I\PG9.M7YQ9>67*7NMK2 M;]]_^--3Z)F_G?%3&+/4F(945^LRGER/*LS!?A]:AX6F^KMPUYZ_$S>X&^YQO"/D2QBGGF6 IM6F#2;M/?OF]DTY73T-NT&N-Y MFRZ?,PJ;5F1!ATWO12E*_JXG-NMOWTM5? BS[E@:JRJ>6YFUSM@S6 3!@5H/ MOFW"FW+^65E,(QF/U.J563T+.8L&8X\W2VEN>W,DQ3!,\FYW# O(1(">$ Z< M,.A$A-U05<2"LQ _ $=' OATR'/S^-I]N>;.!NB&PF10JDAV$E(Q!;DQJS"< MM>>R\8A-6HGLME9=AF08P^Z4[1@XW):)I3F&3PI9[O/Z"VIY'_PC)VMF_NU@ M^TGA%Z"M8G&N,1VY>=<51.[>3'$N8K.OS4);%Z"*),NL'=PP-_S;%P;STF_7J^X6SJ*!U#L0"JO4)^WNA< M@H3\;OQ!'ADF9Z!9#')/(! 1%C-P5,,7)'U@+-X;.UJ2+W$R!+EY%S&4.P7( M?(_87 O);+S=9?,(0!L^T2'FJS2UX6S02'1.GKZ0'S$"O=.4HI#1//TY"?/= MWO&.E')W^Q![=(91?G=9/06IJM5A.+FSK!B/_;Y2E?RFRCF'CGDT(#3"$\ U M9;)FAUMJ^\3T=GO#/?X^@+]VGBN2$B;$6X?4)49(C+12,G_]#-><.\/_C89D M#U<&/=]J=BZS"'YT//*01#A@Z%WD*+PR#3G.'?I"77$0[$*]:_NEPM 5YV&V M]CJLIVD*"I.PVWTM'AJ?\W$DA'(L4:J1'>,A>U#G'X? .8JKU<_P'HDG8[S_4&[3->=CMNTFHLBT&%.?C-W6&_'2 M\DI_GV C-D<7O8D3&4KO/PQH_4.((\46)3N0SWEQ=.4/%C=/Y09_.@"S11*AFY1<3Y 0=Z8'*B;"[7L^B?6][^[Q?8AEJ<)X@"%! M=_9J^!8\K2XYI#\=@]3<2UG*O>K-#D!\7EI,9^.2@ "- +CA3^IY='C%R+*N MO1UTI^0>)/M&^>J8CHDRZC@#J4Q<2^F\OR-4R&V@2P&?Y;%KQH/8(CME5X=A M#_]D/G=(O-R#?$K+3I2-1VYDE:QF+44Z&+&Z5]/5<@SZ6\_Q"# (EGHN_W)&K_ M8K.A%-H$'8,ALG 0_& :O&U,4?3R:( >0E^.,(=8HNX/<$"U7"=+O_ZE2HKB M(I>LM,6D$R>7_)V9#XD<@ M42IX.J/_]!=LPM;@.>^3GR(-_T>W(%V >+MX;?$C-;V-"S5XJA)I.L"'=&'J3=2%25:ZD2&^ M1.F>Y[9W*)U1.,P5"EZ!5V;5)53%P3TO.,CH($<:DI22251+;$(XX9?HJ<4> MYM;SHX]@G*PX6>]$?*D^O?1'Z<71%U+P)7K_3EMS4G2!7@@?YDM"9:+6DMLJ0(';LW?$Z6#*KC+*1 M9;%V)F"MA_71(4RF/#":36#36A.#HM>#[0(1JD M3K5KP;:_:9;CP'[T\CC8TXI3BD;VDD*[0#7L&U*:XL.;\1[6 M\/_YB09ADM\K;3JB%\487*AF@6HYG2F C]V1ZF9SL#.9 J)&=AS3A5@U>%01 MI49TH7&JF6=[U\;>#@TG'^3?>O[M(3SX-.Y9*?FUFL!![AX;BR;K VL#0>SH MFO/2UIO5QCR,R^I?0/G7K!'2LZTPW+L)Q&GK640;8@UG[B^&[< 1%Y/P1WAL MV/$1?P$ZY,ZL:T%W<2MWB@NQ:^R<92QW=*<$CBPV[%K;VC%=JL^N%J\6=RU'6H';P9RTG#:]_OD'(5^7 M;HR06IUXZ [%? V!KU.>^(!\_>I0.AJ6KHBZ"[H-R["<^$+EE2T.I>K,R07O%C)>1UZJ3JCK!-'+"HPS-U.ERK]0LY MG!#*_TN>#:?JW$:CR)Y"PP]'++1GNK%=MT^Y=;[FZY>8SA4_)WU!WX3,A>I> M5?\$(UK_^08\";L^^EX@:Y/3#:8+CP%*Q*LS"BA <\%Q0!FW3;T'AWD)FZDN MA*/3M0KZTGT4?,)HQ.1.>:6'LI\G'C &YY5CYLSG\&^QNXH\D5IB?0YR0 /7 MPQ('%14F05>$I*TCF[]1W[2#]$R(/QY=N*%ONX%M_F0X!^V=..JA'H/Y]_0# MZ QF5/!B=UE]L3_TP8<*L>.,HWKY&70&5@G!V=@JH9<4_A1C>"P2,?@3?YL? M_QBWANUSCDISG[M!-P:WWZ&@M;PLJ<"%W;UWR?)@[TXJ"!S9,Y2NQ:W3=0LB MLWX;"&WNLB5OV8/0"#E=T_0OUPOI]$_3N(3S])FZ=&V'4WAN&TSY$]II]*9V M^L+HX3Q.C2 X[*)/+1H:MG-Z:M@+0J2>N#]A)R_=.\6&T!OWR'13!W'/*"%_ M(M.TU]J5H(47&@W8%Z+^:.H%8G+(+"6'O+L1] R^E6_BA!-_F^%H_K:GT#1T M1?V=]NA-!2%2K]&?L+5$<)78$'J-'ID>+(JK)'%D<5SW(H^A$<=>BW-4Z*L4 M?#7\<[;&9QAE0OO)@[\\U%2+\4SUS* M.RJ_7$3I!7CE3GX #I=,ZC$CL#RS&?K$MZEI]!] G>+\D!UTF M^LZ#YRS2+\5!E_*.RD$747H!#KJ3'R YZ[ BJ&-TS869KB<]Q/B7-TQDB6A[ MR;=5H>)2W7:[GZ6[=/A*$B[1I;>4Q-!Y937I[L3=,V3/7I_)^MW_/#^?-MI< M0YX!W(/27*]G42>;;*)'$=:!MWJ&:MS[]/&SGFQC;;D*AL/APW6NMY[Z2;^6 MJ2!Y:GI!J#E;H2Y*I)Z_3X&WR%BHA0^A3^^5[>ZR%F8)/> RTKY(<5T$:)N$ M(VUAX9K>CC[%,4YWS+"LHM)@P/I4^H;L#I188AE1K6"N6ZR?# MH<$G6E)]IF@<M0W_A:+,)!#!"[<24A%VT'Q MNQ3)!9N]G-?FX4$"\4+L.>,#3](#XWIOE=5J>\%^X;9?\V?HJ,-'&>H+]A-U M)3#T'DZ1WHOH$=+I#Y)KP_!ZFKM,(UQD#\@*6XM4IRAK%'J?7480B;VX.SE^K*^A%,!_>X7Z"SR]QZ M#>#5U+%?N/NJ^3-T=&O\A3JDNA+0<,,\5D_S7"WEY]HW$(\4WA*SSZ\]-_0- M,SP8#I1G_[;L]^Z=DC%XH&%^'IU=O1J0@=TS#22-;F[P_!@O,5/$2+H=M!!T M[9A4)O]N>PIJ(O#"79G^'U-_WT(=U%VPX^M 2/WL%XO]8\@H&;^3E,?)?7O# M9I1$>; J]S'P;_%=43NC@VF%7A:Z:H$5JZGT+OD4YK-HX$9I] M[ZQW5S3K/J:)/"8T196T/@--%U)':_ZW ^-AX3(6#SR'=!ENJ;_:&F[D@1,Y M=%//H0%^I*YFL)]"R_:E+G*$SF]Q>Y1DI$@'>)S!,\LLZ] M??\<'Z.6C)?NS<7!\6#>_ S]%^O-BW^(?KQY'O<7Z#6< M4]?\JT2W9)?NTZ.2# .Z]2(*OEC/+OTY^G'N9^B_2/\NEP)>%W]&\X5Z>?V_ M30+QXGU]<@!5V=1^N+,V%=*^V-6A_@_8\S5()5U?Y'K20#QX%QIU9B[Z7J7[ MGS)S77#VUF #Z(@%J3EKAE!DY5Q2==TOX8>XB)@B?Y2*+["H3]\7&UTT_"F' MN$3Z1YRA4T9X@XV:''6RU#%DSQZ.FZKN?]+H*NL?*UW5^3*^E:X^?5_L2M?P MIQSB@NT?*YU.&>%=Z6IR='DK7=\_Z4__V-*5'[%#E79\JUQ-XK[8):[)C]CK M':,295_DXM9(0'A7MCKL7-ZRUNN/F5QECG=96[BF3QDS-U3\=^&R3[P=71EO M]/0EI^H:#@#.I#/ MKL](V[CVWZG%J(V>I,N\A7PTB(0,,^&HB>>X&ZIO?V<8SV[[!L!/!=X4#J0?K M5*1)+3O=" ;VYK$G%4+U@G4T=[5(DYT2+>8"'?XYWNW!Q'J'C M7Q@<(18_K5\2-?%A\JT=JT7N$&3ADA@=_Z)8&CT>>YPQ#ZDF(KW%<;Q7"#$D M^S2UF4B]90/VL\<5"M,0'TO4H;[M\8,"KF&.&?H00H&I3TB"AR2(]!\92.N) M?W@_=2DS"2\(IGOJ3WE&U]0T'//@<*JFWGI*#1\ZE65'-"F6WQX74N_1BXBK MR^*W1(300_7#;ZL"^!_>0Z%[&K(M31! &@3AJ9_LP^N4$-C!SR-",F-:5;W7 M8^F&&]J6[1S@VF4:4//@\ZV81ONNQG!!5JTHSJ:V7 '^0BQ8E<([HT=O?&@LW M6>>F MC=(DSQFOMJMTSNB,HX!TS1H^(8"#_"JPX--T9?<@+OZZ<3T)[%':3$,1:ERP M!.#165]3_MJ8:!J1!IF(%$4)4M'P9KF.'AZXFR>ZX:\;)4(M&X_T)L!3#,.>^W3$L(,/13P*;R'@=P%H?Z=[S0VC=JFBNA1-&8J]R M9HL,]GST""RVA&A=)GN.8EB;[8#EU&A3X*VLMO8Q[8>I>0A";T?]J>%:TPWU M-KZQW]KFU';7GK\3)]L^?:'N@<*I&;R[,S9T^GR<[HR_>GXRO^$I;C<$('44 MP_T8"F? '6!'Z,@&%$*[$^0/<,D3P>:9;A\3VL@BI8V->A34Q:]DH<#&\Y%\ M NH2"$C.ETT3MBS!(S6I_0+>[Q,MZ5E<,ARIP:LRFMOE2L8B-"9EDAOO12/ M)(5,?A6PASPDBJWH&GYY-Q0/X!_MX+=2]:V>A5R+%=G.*G/%%,0ZK4IY4]5. M?'D. 0$,K51<$@+&Z&:%*BH9@E0?RQA* IV3[['G#'I<_+>ZOYV1Y2QI[&,D> MYY$&X7*]VM*?/=^QY"<#DG%(]::2M23L+QJ$_:"@E&;]IP50L4Z4WA.E[5X! M:\\'!YVP_)AABL/%>(@ A00=^X5:4U&&JN?#A'KH,;N# 7X(;8<+-7 C7!(' M$T%?APU0(7'*B8LJ!75[ZM#B/0FSD8/O0XN[HH**)<.06G858[D7(R=C$%I* M):FM7X>< ![H38AN]C(&:$2ENEP:#EJ:S[=?#-'X*6X@";F));4[*J8@-T 5 MAO-5^.3C$1NF$MG-2\[%P$D*??CJ%2E9T+?,-\QPQ7"65JZHF#(:798S7*S+ MY^-'H'&A!=&,8/X&S=G+7S J3D6NQW4$D-5JE7F(=;P6^4TU MGB,A62QQKXMW$:*O,-A &AU]9 $15+5:-QO0K6"\V?WZ3%^":6C3[TH .?M.Z@%EL) B[CNYS_UV MNC9L?_IB. 71Y%7UM33UW:DQ]J!+HLV!ERIBR&Y8"Z@(] M4H G5[?5Y M0@3X">$(R <,T<^U$6QGK@7_F?_M8+\83LZZ;^S =#RP>HGHZLQ'KNJU19$K M/:TZ&;$9U.>A[3VL,L9.[F-?J/_LE=_(]B<2L#(>L8:,_9,>$ M%\-VX"CNUO.?#"?3)NZ&/H?IOR3"JS$=N6NH*XA.770Z)^API%3.EJ,23^H7PQOB&I1/!:+G2"EZW5#<# !3/ M&/VV0^6B+6<_0W-A8V(D$(]/A MY,O80H]/,0#E69PTM++$BK2C0GTJD\D&^>3:9'.1$^A<=':-B2(LA 0?9+C8 M9)].:5"H6E037PC8:V1:IZINVI1G\*4##;_^T:C0PD)40 =,UP.LXB-4">DO MY#&2H2..=+ ?P^/\D#;K-!7'A*_E&P99#=Y4>>+(DC/WW4 YULH%_1!HUHL! M1T6WZ6_?5:VNH0<#&L?7)O4R5BNQM'>F-N#ZMKX\&ZT^\ IO=K?TVZ]_4$L# M!!0 ( (F":5//E@&FR%( -O]!0 5 <&1F&UL[7UM=^(XMN[WN];]#]R^7^:L=>@*2:HJF35SSB*$5#&3 .D^_3],LNQ M!6C:V(QLIT+_^BOY!3!8LF3+6!:L,Z>+@"5K[^?1V];6WG_Y[X^5W7H'R(.N M\]>?.C]?_=0"CNE:T%G\]:? :QN>">%/__U?__M__>7_M-O_\S!Y;EFN&:R MX[=,! P?6*T?T%^V9NYZ;3BM%X 0M.W6 X+6 K1:]S]_^?GK_=7=S]+BDZ[3"*J]_[FQ_Z<6UNLZ?6YW.I_M/UU?7G=;]GSM?_GS5:8U? MM@^^X%;.8>Z3-G1^_S/YSQM^90N+ZWCAGW_]:>G[ZS]_^O3CQX^?/]Z0_;.+ M%KB*JYM/R=,_Q8]_'#W_XR9\&HMT_RG\=?NH![,>Q-5V/OW/R_/47(*5T8:. MYQN.25[@P3][X9?/KFGX(0JY[6I1GR!_M9/'VN2K=N>Z?=/Y^<.SMDW$ST#& M6[:-P]IKM?Z"7!M,P+P5BOEG?[,&?_W)@ZNU35H??K=$8/[7G];6W&L3!*[N M;Z[(^_[O8TR4Y-^N8_4='_J;@3-WT2J4]J<6J?]U,D@U"-?UL^FN/I'?/O%5 M$\K&A>FGLG)-?4Q0TI*>ZUC P43&'SS7AA8A[H-A$^U-EP#XWJMC!!;$WW+( M6:Q:Q>4>&P@76 (?FH;M5:2%PY%^C MI%ZFOFO^OG1M"T]"_7\'N%]7HQCF>YJF&1D'.!7BZ7$:K%8&VF LX<+!:R33P+.F M:;H!GC:=Q1B+94+ PQJI;ZM-2]<3\ Z< #PA=X5A]9%A^MZO>-':"SS?76&> M"ZN"I\K:Y+V9XO;X8 %-W&%]!S=F"=?=!0(AATDKN]8[!@EX9"TU ;81]6U_ M,T.&XV%1,+#B.I'UVMKT=OL0>- !GH?GT#?H<*]/.2JI3:;/^RLFLC9P'3*. M"8M%K:;*(PJM%X!1;F;)K:^;ZO)YU>B/6ZS/CS2Z@&/Z*E5J#%I26595JZ]&" M(N;45O?:M*!4!Z756M45E(E9ESJKHX+24>M1>*545%3NBE5;-145F%V;PK-D MYQ'X!N0R#Q>O6F'YKZN3_[H)\N/GC<4"@478+4?SN$!U6LE[8<,MHD45)_GM M2JU-1_X2H***R:]0*5FW\P#>6W4]#^"MIOGO ")@8=B>H?$&;>CCK1/^+5B% M7\98OGI@'MC/\!T4YE#E[=%.TT,#X5Z'/ZFF\N.&J;8;*]6IN>I43>(Q0J@/D*U?316QK. @R<'N;J!CJ+[HJ8B4;S;ZYK_8"V+5DW MW*]334\#Q\]-^ M29E%WJ#2Z751L5E5J67U+-5/.6I42]H0EM$ZW':2U6YT@D26M.M2&^%R+U-+ M1UW;CAWVB9W#=!<._ /OV@&"KD6&+;E*XG^;6EK:![=KXDU/B=%"_ 5JZ6+H M.GCWA_>"$_Q?!,W0L12W_M6!?C7*$7NC$GXV1>7/K$.=89N!'7?@OH$< M/+5O?RPJ<\&WJ*.5+EZ@/T([(,:0*3#)VJ?$(DJT>H7/YDHM-T2K5U@/\0$" M!M0DCBP+\+!Y,?[EHMV)0V4ZXG^U^OKS'C:[G[L(&)6KC?Y&A;7U[.+]%AXK MK,A(<#JE\;Y8M1/U\XY\QC_&@I(&E+Z+O*=&\.$#QPIOB47?0I^\X.KJZOZJU6XE M%>U_Q)6VHEI;Q=R00P&QB'C/F&I+N(=T41I34IV'ZPOK\H#Y\\)]_V0!&-ZF M)Q]"P$.P\1__[+GO>"![\\+C_Z0FVW@#]E]_ROC]4Y5M230VPS5F-&7_YW]^ MN?GZ]?KJ[O[F\_W7KYV;SO7GO<;MT2,-0?S$IW5X4[)M M+J&]17Z.W%6FCN*WN9RM=I$%T%]_ZOS4"CS<%C?<_!KV3RTLQ1P@/# \1SJ@ MMC)L8JBH$P'TC\! /D#V9@+6+LJB#>7)YL'&(T",X'6#$(Q,37W'>C1\5E]+ M/=<\]/*;'V-WTR#L0B\B&*W.<[K?X:/-0Y!+@AC$VP: &"T$GJ -AL'J#: , M\ X?:0YH7"V/P?K<&+ F8 &)O(X_-%99@V768TT#C:/U,7!?&@,&1^);TATI)8SL%*>3ROC&BNC MHS2R(F+$F-XU!M.N96&%>_$_>#L/.E0\,YYM&I:\(L0XWC<-QQYQ@D$S]X>3 MA^+NR89BF"- LMF_:AJ$X=PQ0F/DOL,HTB$3QX/'&PHFCQ0)HDVPWZ2$&[N> M;]C_#ZZ9JZ&LAQN*9KX,"99-L.20@8:<)E'0V_^Y.7CEMCI!J GV&A(!UAXO M78>^U3]\I#E(<;4\0:L)AIG8HV33N7Z;D3.=#+0.'VD.6EPM3]!J@F5FA@P2 MTWJZ6;VY=@94J=^;@U-^LQ.0FF"%25C7_S##"T$4\UG68\V!C+OU"7+-L:ST M D34$AG>"2VQQ@./NE3,?KPY2 I+D2#:'+O*P/$!$9W<5C5\(Y:580K->KQI MB I(D2#:' L+.6Q!/1*.P$4;YF'2]JFFX9??^.0 OCE6E>G*L.WD0CH5MM13 M:%+XAMP?_I)<6#4<>J_+?+II,/(+D<#9 M!.M)3-$EL.T\%/G[FK%3G*=,W?PULAWBCP28(;LF^B M+TT9A9J&J; L"<9-L,+$(@(2CLH>.!;X^#N@=\V#YQJ')$?S$_":8)3IKH!C M$:>M)]O(ZHNIWYL#5GZS$Y":8)2)MS]/T#,-^S=@(+H3*.W1YD G)$&"8A,, M-(E[9"19Y.;ZA+_+VDM0GVT.CF(B)$ VP2Z3EHQ0E _&[9-I#=S>=#JJ>J2) M")! *-40\Y=/AY>$2EP=*IC>;T__U*M$G2MRE6C[ ORY-QH^]H?3_B/Y-!T] M#QZ[,_S'0_>Y.^SU6]/O_?YLVOK3]D7_\=,I;A?-#>\MK##PV@O#6$<4![;O M)=^$7&]?=>*4E?\W_OJ?6]E&\R?H8$U!W*O=R,^;C=L0&XV^DGTN_"J)X4& M7&65HP4_O,?4*"ZQ!E29+EWDSP!:#<)(+DG6ELQQ+N-1K8C +: RU^M*S Q1 M7A9O DR *?]F@R'PLT_?>(IHQ0-A096YLE><#V,$U@:T^A]KLG+$PV$8)B&E M10HM.$IJQ8ZB\BIS)5#2- MQT'J*$ OHA4+A 55YI)B<3ZD@\5.X&*)MU^O7A0MAD((9AFM&"$NJ3(W&HM3 M(@F<3D$_^5DKH)E"*7.CL3BFAT',\8C6_S#M@)SCYN#-4U0K+A066)D;D\5Y M\A@W=!L1=:L""COH!;3BA*"8LFY>^@!YH,[EXMX&:.@Z)G-[D/EL6CV?L7IJ M.O:3LAS@EE"=BYIEMX3,O:!6Z#)$DG57L_;MWUXV"+ZC(WH!Y; O>GXD**)& M%N*QL2$F4#[; MEYS#@D1L)5+V>*IV.T:\_MI+W)5KGF05T8\/PM)J<,A%67[E&Z[SRNE'CV(B M:W# %9KP]]3'=ZJ162"MHB\WG:NO36>%F*Q5G'*M$71)A*-P:5+WLB)_/:$? M!_*$DW6R5?L2@I$8BKI;I9;0CP>BPJH3SK3,3;'#E.)1O,G1/ I^,#;B5&JQ M9_ NUYB7>Y&L=,W*4:SH>5M5NM# RCI.6AKJB'67*^-)!0E2#=#'E.+5A@8' M=WL169AW_0X>.V-R<*E"A^,ZRX)1J\<&Q#O_GK&&OD%SZZ0\?<8\$=&(!G/- M#(6I8#>Y0\GQ@V=,$DYEE#W6NX_XX8!%Z')0(TTF)$FN ZR^@1QRT- US6 5 MA)X0CV .34A;\N87/&,:%52.,NGL2EGN$TE#'9* @0@L@>/!=Q"9JY]=CWA6 MC^8SXX-NS!>I):W,KUB9M^?"-!F:TN"P\%CAW#OU,R8/IS)T.57<,YIAW7%3 M)J_8&1.HD&HD'44>TZGVF%SC$)HE\*%IV%LS_'E@'P4Z>([^TP>>N9*H9TGVD+\'*/[K$$S\%0EN:P6FCWET:-]1[=E0$=.EC'SRJ#F)#R,S'C M%$X2<)0H!UU30*LXO]9=+?> C4I M1Q/(&$-KCRC&C\$ B)*$&,P>1=QO(BH'Z]AGE MH!9"+!MPMG :=/,)1@5KE"1H?,22VFZ8:R?6&'6"8)31C07BPFK0]Z<@#&CW M#3@ &386O6NMH .)XGSX#MCTX"NL&T]*2%VG:QO-UK)RD0__"/4_FD%!U+DKM.]C6'WP2#XR3646"V1.?\X)0U7&:TP+R1L M69>US*O)N[!=-[5EN$JN,B9;*.@$>%2,(]VYCO< YBX">Q$1^Q]8TU@=T#'0 M)ER/DX!G9//EA@-JHE[F05TE;]2%I76I2I+77>T7$K?ZB/7^@*?X.?7&/>5I M/ TRE9 \,E38FO#@*& M36X ?'?M,%NL 1T"X,B9 C- 41@$!#W\TR/^TUF, =XW63FQ;JIZW:4/G$"? M&EAD>6"1-]QSUGHAKSRU25K U+Y\SE!+SM#**'&N!!-5B22[<>WD22+Q);_^(&L,$JKC7$E67DFR0AMFIKA1C']Q%^2]WBM8RX6# MQ=4DR\#-9F%-=TJ/HT**7BJ]*7:I=#H;]?[^??3\V)],6_U_O YFOS7H5NG> MM>5C#?('2625;>2-T[O.38?1 3ZWB-7>N]L+;;$W0=&OWK&>5Q)*9&%A0IG]L)9H"HA*-52K MF@:%/13SEM<2]G+24^W0]5B1TVK(#/;!?%9+A/DEI1J'&QW?0"D<"VUBV')I MX!?!:R?-,?&I!#0;LPRPN4239+%8A]XVN*W(K_.@6%8FJ68#SR>;I%ZN$O)1 ME-=]_Z^H$PS!C_ G^GC/4U@SAA235Y(_TCM ;ZZ,4S>*>8PB8103',%WK+BQ M;9BA]K+,92+EF\\+.2++\C92ZCB6V57ZJ[7M;@"(0L\'R%P:'E&24VB@H=?6 M?(95H0 -\CNP^AQ5&V+<8M>55NRU?LPJ(+X&:2&8W2PZ%@FE\OH? )G0HSK& MB5>D/:-$9=?@FBNK;TE@$[T>[J+)$$RM)Y<-#,^2(S&971=#'^1., 39[<5N>P>(LRT"XI5 MI1&M9$E?27J-DSMC)-=J<8\*C[5F;CERE:A1'X[)5D)"M<*6['3LI-F>%:)^ M[Y XBUD<,XS'2R1=0A_:B J9T*+)AUDIF<,58R(RB=[R ORER\4)2E%-R2$B M;<*2PF;MS,!K=4]7,Y?B(I<]K.YO0R8 Z\V#/H@S($3KR@DPW84#^::V*M^N M#V7K5%C"^B:G3:[P7GF3:24J9$*%1AO3Y?A\W-QTKCXW%'8^T1*PRUJXHZ/_ MOE/K?"?-Y:/1N//)E@!?UA:=#;QZ5Q2C.Z%+X$/3L+*)+]$_\B, M4U=R7L-;/MGN#^&DO+<%D_)VI]];3\^C7YN4C'>/C5M]\8\U&47J"@I,FC)& M[CO$B#YL7CT2YS^.I^TLNJ8/WZ. =6S9Q"M2>7RA(GH03UB&R!KNO]:(N"<5C>N3(+ EVFG/J;?TF/1)G'VLVW!O,7&+@<4QH M@U08[IDK9_BI^K7*T59TL*I%01I3Y-#X21/4>5X M50M/CNE:6'<:S*;BSA\YI\X76A70EJ2Q*ST_5Y#8[#@Y5Y>5.-=&"HDP2)4!SN;+/7Y"]>RN2:FL+)WH'(2 M4=9E2<&"$QL;HY!A*2M:J'&-%[2!5 MR*]!XJYCM71-TPU"AV<3P'=&"%6>HLK1I@H:\)"-4S5EK1CJN'@>JV",P-J M5K*>B$?V)/5PYN:U7&47\I555EE;B 0Z4E-['ZDRT>(S^7M"8J:/YGAA0K>* MB-9Q9GR2IZ.R\Z3*H]IVR1IF/O0%A[',TF?&,QG:*6OH4)EAR=)A;&P*K<;B M>7;6S*0DS$M]GW-,M-['H55PX5DQ%DJ*Y*$@W MW-E04(QFQT4O]!)3C09178YE3PY R"7L7N#Y[@J@1!&T:Q6"M5QX5EA+%22: MJF2_R)1L MZ!$X#X:N(?1Y?9)=1X9A2K2F.2 L)4X*R1MW&FSXBBQ2]4$E>/ M#C%?^!V82[ONGQG%)"FH=+0755);4_0P<-Z!)^.R"*,BY9@GZ;*(J,B2/'EJ MOBQB F!Y3UB?+X8?H%#J\&QB$WH>X.[:,VR;7)==NLC':\!5I*;P5_H-DS*U M*LT8T*ZP.!0X;JZ(35C-> M,_@;$L[9Q_V,7%U>9]SE%J\@K"5S0E)WBWA L3!CQ"O0G MC"2=5'*D6'^N"'YUEU[#ZT\U23J1==JHZ#[Q"3J&8TK8)S(J4HYKDO:)HB)K MD&]D?Z,B$K@_MYQR')&$.7NOQZ\*#:[0'@G.2G24_? 9LX0NOP87^I/]@Z3X MZ$6K.R-ZR=20 MLWR3S$\D_ .L[SA!<)[FH5Q\O-81R]X/EQ2U 7^KB)[H_= M2> Z+A+EE3LC#A521<576Q4S"V1HN?26+:W6K_7'?ZN,825U(LLKM&ZS0'\^ M!R;>!_<_\##M+, $#YXCAVB&_#^QPKT;=K122))!D1^ZCI7^8N_)@6/: 5E% M/$)O[7J&_0VYP1J7P'^;KN-#)P!6?$[O4C< ]3?L?/J"HKK6P$6VE ZC) S' M[C2Q9O?1BA"D=*73-N)\NHT">I7ETEOW-*3 A%/[<'?I(Q5.(F6]D*.,!5/? M0/ZEG]2):.?242I2JRR_:R6RNI129\X)J)2ZE9L"1 ]%J]."I+UUW>O^T&.Q#:X'X:YA9DT"NWK'+TJ8X.V=0KIB%)QZA*#'%I;5+(E'XHK9,[K).: M#*IX9M6M7M*1H>TITG&FP7MOA2LBPDY70P)F[:!71 M)R>?$%]IY>@JNOPK(Z<&AMUMQ%W@D9QE%#(Z"5 /*8$C[0:^+&E;S,G MW@X4!F0_K#D1!(36P'EM&Q,Y<2AWK*TY*(S4G.=0S5M>/=:(^E&7DE3264>= M5$E"3\59UK-][+IVV(0PI\4NQ$9T7A3FO]S+.-!=D7!IM"/T:MZ6!N<>@W-; MLTVV%*TRCL-/J#<-YL-8T#!RK07] !-@$(6%M!X"?^CZOP&?L4;B+:X][4HI MHLYYE)I7^9VX[1$_T/'6"_0)?N#^$$8 F2'#\:*V$3>_.!!R_)N;7 C,NV I M_RW:$NV4^JHTOU)=CIC?7-?Z 6T[45P(HE:M2>?K)U4T$HXA(Y;BCS,!FH_4WB M11^N39-UQ6. L*"QED=H;" ?&G;\=S@38-T>W[.256U*I_=76*=7>O"M4@55 M$) X8QS\RZ=]_3]CR:*O#[^-I3Z" *O@9]-=1>\B)PFVZ^$E+5[&@@[>3$%O M-!_O ^Q8TV"U,M!F-)]"O)F:0Y-$@MC.#V/7AN;>%8>(!^##QXOEW;5C'_JD M'9TK_'^M=FOW7OP'>76+?/O0G0ZFK=%3:SSI3_O#67%C:_KZ\M*= M_$9^FPZ^#0=/@UYW.&MU>[W1ZW V&'YKC4?/@]Z@/\4O7-F.QU R:<\;'D%^ MDM&'2=OQ\BLFHV%O+2\TXQ)WJ7J2!&YQF6$$'_"K?L\QDC%**#.*""*52N0G M*)XNP;U&:&$X<9;,GNMXN)-;R7BP/SR0+SMQTCFG9^N*?/3-?XPZ?_2'[[V6T^3T4NK M-QK.)MW>;-KZ=3#[WNJ]3F>CE_[D,@%=)J#+!"3#B>ZH/^]WY[R)A;>X,A21 M-V&4$KWQ$\'-%$OL@P4TR>;-P>U8PG5W@4#8U8@B0D,K[HI^Z'L5AMD@CV[V MMG>\D\4-9;*XP1^F>':8];\->JUQ=S(;XIGA^V#&\3S1K=QU_P M/J8_G86[G$G_&1=Y# O\UL+EAU,\P> ]T&524752Z=QT.C4EFCO%I!*+I\^D MDMW=^36D;_SL- !GM=S5V^XS^W;8'/FBEO*7'%+ M#%^OT\&P/YWB3<7+PV 8VKTN0_YER+\,^:6)D-%A^4=[OL+*T$/>0%]"\,:/ M\9\?#)L<#$V7 /C$L\QU]MT'GW?G]&QOKQ:(BW M I?5_66HOPSU^]WIY3CZ,K1?AG8)1'C&:U$ TAY@N8,YNY R=) W?!<0N/$#]M7RF#]]?0>#_J_?W[Z/FQ/YFV^O]X'?1;O]]ZZ _[3X-9:_SU%-.,?[>\IX?X\_#(:]T4N_->O^ MS\5HNK"+*4$'>*"XL;N-'[<[5$/C/KD?"[(=[%;ZANW-% MNS9V13[U9ZWGT73:&OGW[J1_&<$O(_AE!"\?%LE #G06V\Z:-WQ3GU>& M!/+&;C%9FS]P=Y(+!'B[\0VX"V2LE]#BZ?+T#X%"Z*;"5B[R(]B#'.NT3E* M*D.,HBAG6-L+2MW\@?_ZR8 HC-S_ @SR;2J:4LYH3[M.VR'W:9^Z@TGKE^[S M:[_UTN].7R?AS:B+^>4RPE]&^/)$V'9; ?]'9AEER"!O5!>7M_GC^0W)U@RC MB&XD64N826 !'/X@/AW:O=<.N?C:&[V\#&;A2!XNXTF@A,'P6W]X"<]S&=LO M8[NL U1:%^9?R(M5H@Q=Y(W^$A30_.F@3,PWH=AO>"MP=5UI[+?6GY(&_<>) MYQDO&:W:>Y]VFFL;6]6UUW$3MQ^R9J!R]=4R)(6JW_#.2Y2GTWWL]J9S?5WC MG"0#U?WQ1D1H76:JXT$CAQGT LJ0HPB>QVP0%%2#A 3Q5',@^.9 C11>\!56 MCB."*!_3I(3<&E#FE43![WL^7.$!F!;"/?V0?A3@D$^'=$W@QYZFD.O@CV:T M!109)T2KT8\N4C0@*4]$G83*"83'1R>Q2O0CDP3Y&1DBCG:Z)Z;(#!D6P-O= MD;\$*-:5-P$F@._&FPTBZ2C,X"JK'R&*B\U(RE W#Y+T)UBN <;#64 L2I1; MY_!O)B>$Z]&/'W)4P,BE4#=7LM/.C=:QY6R YUJLOW<07L)@LJ5 3?KQ1982 M&+F+ZV;,H:L@W\HCIY1^3"@B,"/W:-VH'WH,B6QBN,KJQX#B8L<\N%>0!UGN M4R)9PD*5J?AJ21 MJHJ$1%E&5+42G,S(]HOO*/;FZOKJIER:D]:?HO>I<-+JX):WK]LHTE";\*EM M)CIJ_\!*:IN)EMI^2DUYAZZ%JJ['E$%>GC=,I!]*$_YSS5>S)".;LEGDBZW+ M>2ONTL9B@ MN8GAMOT6JP /'5L=%)D'! MFG1C33G!-?"W2U3ALE3Q%/AXN=A=D0.^**EY_X.<^O-9J&2^0B_^5:81AO>> MBIN;.(&+T&;F"V4SLTOCHMS6Y4O;#N4LLE$Y*MO,;=Z/A?@E*>505X P&/418338(^1E8[F&1IOT(;^YL7 4Q+^EY,5 MPC7IPA@Y@E>Q5SEU4@>A*?V.,J734SLH-\7?M4&LA?9;I(;VFNBAR)2?6]=E M"2!U"<")W9DN"79[YJ-T-=T?!K+"E%Z1![A'W/\B/#TO6$7?"5HD9+Q$&=Z5 MFDY.H!,-UBT[+273T!2@=T@.S+*N*G3ML#&Q&XGI+ASX!U8K0-"UR&(O/Y=5 M5>_3C;2G4(]65MUL#>WW\J[IPW?>97CYBG5CI%0]:&0"IFEF CP?0=,'T53S MZD#?"V<>J3P4?,MYD%*&4AIF"SY*-B*RA>Q<4;:0E)0CRNT?.U=M!_AMW'BO MO0:H[1$-%-D\LBNZ[!RE[AQY4#O[;>/A35$2(\GL.M8CM ,\P E.(D*UI37\ MM?ZTX677U*6%UVK'UW5\:!'1X3O>9IC$O@J!U_\P[0#/$='EJ]4Z\.,-AFB" M'/DOTHV/E>JE86;P_)P[0@N:#FU!PYEY1[T53F=[^ZMM.%9[L551&^YT5&C) M(U9S,]= -0X6%>#*NRB2.VLIM"B*K[ ];%Z,?[EH>RWX8;,-IQ"'5Q"UGQ>M M6!FV"=""-35)U8-6JZ:]N^E]//L@+,A6/5W?1_ M7$NZR=5\,G?V2I=JO3^E/\TE-/'*2I M65G(XN80Z ,"YO$DP5NRGD5NTIJP7]"6H:F'TN2^P^2^K3D]'#\NJ:5BOE0: M[,5QUR5QD)@$,CX$7%9#* C4 )6U_=%<& M='@!W950#E!1;#C0S9%6+71W^],C.5[ Z@T@"L:YY=1'.@>G8Z2+R:P6WAE\ M?P".N5P9Z'>Q,3I53#FT90W4^5)2+8^*X)L((#9D'Q13#M]"4/$@SB&W6CUZ M:MC B_=.0^ S1^W,9QN +0MM;F$K!=1#_AZ8^*]#(/%7N^%J-\<8=L9X MS'Q6.2"%!F%QT:BF[]/!%AVS[KK&.M6VN/*(%AJO2HD'?7*A#(X,E>H] +* M82D$"Q^JC1E'QPBL#6C%49V\)#U?E /#3XXS&,,L?P6-P%UH*"XINUI,")N. M)Q>3&WI&B;2\]UC>3L.Q%A56+3/#=KIZA@X8X(^T"?CX0>6@+#3UC$R"NI%3\*"2O)4;-^FAAK MZ!LVB662J()$,QFL\-(5A0IU/>HQ$D]9C:A26%Q)\0WJ)TM&9]F&#=RM?@7& ME8S2&A&FA,"2EIIJ4R9>K>W"*15ASE$E9T(@/KD9">\;Q:.MM&133I*X A3> MV,2KN]&;#:-\>Q3Z<)75AS7%Q67DNF\46;+Z3:86IOB_WAR2R/9C!-ZA&WA1 M1#>!@4BLXGV]WV&-=4@:Z4;2K")=Q!R\:SP'LU>+>%LAMIK&!33BC)B,,1?N M->7"?N(,,5+LE]2>';G")A:]*^D\J?6"S+7H!9GKTA=DKB\79)2Z(%-K?Z[L M@LQ1QU7G@@R7G]@8N59@^B,4!PRF>/9E/:8,N (H[: 5DJI^-\RXJ>3D/6ZL M1_7GHSZK#&)"RL_$C%,X24(GG]/3,=Z8@R?AX_I R.A4=/3IDJ=0_A0FAHK,!H MGFHN=>RD/JL,7@*J3^,E)EJU(V?7>C<<'Y -$4#0- :.21\BJ0^G&][!#;^O M#Q,Q]1Z,A6(BJN5.QV6C)9Z#)+#Z#*[P(Z-Y9$C#^T1B5/,-Y#_BT8?A+BWW M)T*=,%P#$C>AZ[JWH\^E'/V:"S^G7%4D)&C:"!/9Z&G>8[*J5Y=6 M;(94,+*P-%)9'*E:+9SX>6.!-RR+;5ZEL("HW3,[?IR(W3/=D)8[;\5-J M2HU4=MU&4=/:A+=M,U%L^P?6[#:^L=>V4B*UW?FVG)56+U=$.HEO;:8=ML:1 MZ<1\X+7ARAV9ZIPJD\%XA@S'FQ,W\F^N:[',NP(EE:&1 *;'1"@JJ%J[KAPI MF#<6N.",P9A'=U7?^MXT*S,Z=<=4;5IVQSXMM8VZU?UJ;D M\!EU,6.K_\!\S256PZ+^WDS)33NP@.;80+Z#]QU+N-X>29*]_\YHOSVZ)(]N MPD$HLH-X8OO_&TI@8&(5F.(-_ZS_;=!KC;N3V1!O]K\/QJWNMTD_C",?&0*Z MC[]TA[/^=!;FJ)KTGW&1Q[# ;RU>ZSFCRU?A& MQ5)IL*^F]6^2V6CW"_, B[<"98@A@'"6";F4O&HMP_>;S-Q9'S^H')HE@6$C MS9"Y8E>LC,GZR45_(UN 1[PHL=TU83!Q5"+!%V? 7#JN[2XV4YN)^)>^X5KDP3'LB57]-MN +H%IJ^ M.>72(;F=[YJ_#SPO -9C@*+#;NA:8:ID;PA^A#_1X>E^A&E'W;8Z2BF;O_NY@-(K,*G8A44NJS M"'E$H0RSC#X<$1>SLJ!&%1YIW#X$'E:,Y^&I^ TZD:%MT@3'^Z$5#E*_O "PHKV+=4GZZ%B60+3:ZBDBG MEJ6^HG0M2F I! L?JM4/IN(505<"TVZG'))LE_7N8\=&QLBIS=SXT5FLOPD M9X;^:-XSO&7\"RU:K4@5ZM*#C73&.%Y6ZMH/72ES0(8A\KMK6V^&^7MWY09' MX]S G[D]@'R\$.ZOUK:[ M =EYWXK6U7QBR!>_]JPL!?BR#4@CDSAB2L"53-]M3EMA:0W(!Y)WCYE?0?#9)DKFR1"LG=L9Y,B#Z MQ; #X(WFD94VV=UW'2OQ1X+ P[\%J_#+6#6O'I@']C-\!X(WCF\IF188OCRD MD:VHE22Z6-3.5M+0EN%8K;VFMN*VAM_[2]"*6]R*FMP*VZQ>:++;]EL,3]O< MX=.>8]G;[Z'L).R4$-F+9VUC&MKV3G?Q.9 ^_Q[*W421[.PAEQX]BV0O% M,#M]\TB_^]*Y^WKU^?/7SM?KN[O;KW4;CHNZ/=4X4#8"53%WJ_00W&1WJR>\ M^O4!&9#PCMLWG 7$PD;#V\,F"NQL8^4RO 0$:E"&D@(8'Q.CK,!JG3DSI-G) M0N)\,QT,!&M1C@AE,15B";=&U&)*?,\96+O;S1.X6.:X).24:A(3N'$[9D,1 M+:B%?G)#(%S*D@OM2[AF(\\H<2:HBVI +6<%DN&:N%WX8'N7G0TXO<"9X"VH M .JI5EUA%RVP,M#OQ'4J_(/(ST:<6>9,0!?7 ?742AE?_9(7+A3 NM#*7D0X MM<;J$UVX4 !8$8SX$,Z7MXD7+A2%*E_9!\.!:8E[:P"-:2U@L) M1/JY@6.Q#*'56F#E2"1@;2E0DW*DD(&O,&NX-:/:,!)&E_&\"88)JWB)5YI[ M4>>82W2NLDUC!S>.60PIJ@^U."'M*H$":!>:(#CETB 57,:A^028[L*!?^"N M86$5P#DTMIV#>7P>>L\[5A\_\F[8Q$#![Y$A\:7J4I#-)BXOCJKUU* +#H55 M,4N-]]O 5QGN\:=\=?-I6[NV=+FR(5.'N^7-*4;CO;WCB M6C>GN1KQ%-6'7(6EO2P^#SH6XU64!P:F:T!@C7Z2R>222#O1^J'MT%FM)\EBNGO<1. M?W49\G=*34:)F?%![PBG>W'S:5^SKA*2-S['D4S]G9;9%SJ75%#"X=*'4G+V MG?42.MF@9VIR" ZCU%7\MK,G="$%)80N?43%)G0#(T4,#416<.] -&3$C0HA M(_!;D_9?PD?87COJKDO@0]-0/IK$46N;&4FBQC%8>4097HIT36H01:*".V2W M-YV;CB)3/1T[^C3/(YQ:'L4GND.F + B&/$AG"]O$^^0*0I5OK(/C(*"\JK5 M+:4Y^BN 9J$1E5,N#=*R:^_HKQ(%V6RJ^/",3T^5.?I7N''_O)_OA:1M<1TB M7X&4JY\I*5<_DSUW][D[[/5;T^_]_HQLO,>C87\XFU[2KBJZ:ZRQYU>8=E5N M/ZTU70URUP#YFS'NO'X\-(47(A\V,_QRQFZ.HZ0R5!# ])@(1055:SE)E8+( MP-SG<914#NBBF F@GR-]M?N^QZ?!#'C^MC'T/5_VD\T!+$?-!SL^ 6G5ZI[G MLMNC]K/SV>V].GA78!-_.1/@;0"Y;A9['%$@IQ=0%WK179:@C*I>ACP*3-#^,?;+ X'K?D.O19A9&B>;3IJB0NMSY?02XP7@''&+D6-V5 MBWSX1_@GA0Z,$FE-?;[I=.X;2@=1(6M//"?Y>N-@M38@"C5''QBR']:'! +R M2;K>^@[0F[MEP,[#ZK8F.B1&:T:DW%\!B5N.IU3<=F,!+W%JFNO8Q%"-S:0B% H[5:)MS3SJ*K&$:-BO'F/ MM=)CR>58B^OD0*6)AHZIA&.M/':H!;3\8RT%@"Z*F81C+271)XN& *]9V.=@ M.4\W!^4<;+*L7?P2JX7LU)W[/["FL/C)Q[UHS6%V7";6W.4U1K^<#M1*=/(4 M(+R##D)AGN '^<0F +V QH@+"JU6GH0PML+2M:W!"B]KWSD2CS%*: RRJ-22 MTDY1=JEX*T '-]'W7!?S9!AD^#%0E40]MY52O#\TJU4C9,>H^(J0# M%J1]=1[G4N6F!PYB%=&'/\)2RG(XVXO@4]=!;F]I. LP<'H&0AOH+'!'"1Q_ M-$_\;40/=;-#\>0]"U\,")?!4\'<>OWTT^/0=J^8ET*'O MGNB2Y[;(DF?WTB3Z8).6-W#;^B1FF^2E#/4%A)%?.G=?KV_N[C IO][=W]5M MY"OJR];$:4@,%X9AD*X/#2Q #$_RP]SIM)/QHMG75=J'TS'..!4O*;!:GC$, M:;+2HXN3(#_)^M?ZLP&5Q52()=P:48LI/;ST=E< A2&%<4.\)5SG' G22S2) M =QX99P."FI +<1C]RY@S8"Y=%S;76PFY'81&_6<4F>"?!$MJ.4C-T.&!58& M^MTC[B7D#Z($-O;,,F>"O+@.U'*<&^,U49ZK7.J9,\$U7V9)KG&26+4NFLR0]#9MM6+@Q>\(BP"E94%%*_JX<#HUUI)/+E M4 +XX.-Q?[O3<8B5PZU5O0#QP+ST@8_P5J4P;>4T4^&T&HM\W,D$C#^%:A) M.5+(P%>8-0TU!(9N[B;PO F&":N8Q*#?NPG(W&-PE6T:.TIL.8KK0RU.2+M' M<'?3N?K:P F"4RY)$=_J=1I7.+J72O1A,^&80M*UH/?Y-.O:2EXQ?4A32%(- M;C,QY-Z[9,$1F%2\HK,@CXCL9;WLU+EXPE (_>H)N]!9L(4FIZP MTIE1,_9 M#?0_3#NPH+/(\>(5K48?(DF17%+L7.DQ^WF6*?0'FP^RH&RR(M >75 [^:!P M-"+R#P3Y19O/B]+2RHI)RYY+3N_4WW6A-5?'BC9"-76R/MT(>E3' ], +&&XIX[ MFC]A$AKV;\"@!EDK7W-ZY+AOX+T%*;SDW>25T6KM29-JX7-.2=&7I49>4404T@M]/.S$J6-N%J3*82M6D M+OFLQ'7RY 9R5K5)91>F2F J59&J&@\C$>T,$9-LE/N2=N>X 13VE:WNPK^T M15.V*G7)O%7YB=E94Z^$PBHPEU9N(?T2!B/W1OX2(#$SYY>K3J:9\PO^\-SO M3OO$J!G66YN1DK1GYF(D,6>@86\-Z'%S9EBVP#@\(Q J*64*&@;$Y9!8?\CK M0(1(9JNR'E2K[XJI?#O6\TM6NPV, N)H#9!!(F:%;7_&(PZTH;^)0A6&E]%) M7NL^Z4U>>. 0/C<#:)6%=/':M*"#9/%U,3M1U-(+$ &!,O.S"Z7T=7U5_M.U0_N@?O/[SBJ7& M9-:C0-SH'9HJ9YT.UQ3V3I=X#X)'A577L7XQ4+CWH*&: M7T O= O*JX'W=%Z_UA1P/O$JBYE>ZRA^<'4D.N=/?B2+U0[7&)]?C9Z4D:(% M#6Y_,?5 %G/AI@AK>@R0R;L/R*_F#$G%JP5)9QEUDBJ,C#::OWJ137/TAC7F M$%-G_R,*$/WD(LJ>BL*O$C7J2379"I%T?F&?=JOZ8O@!?9.@G+;7^&7U+1TQOT' M4+K*V-B$4<-$O%Z+5]BTD:H@B](K=ZG*JMU^?TI2/@:\WJM%J[L0LIRJ=#D: MX%4*VQ=5L)8+^0II2!?_4B%=,#Q+A>M):[6#M7I[X1V/CG3Q%A71!L-/5+2: M"^^*J:A.>PEE \:4:^8^@+$!K5QO3_%:SHA",C6DB^\F;W R@I\%ET0T M$;/EOB'' 5^GOFO^OG1MW&J/)%'W-V)V_Z\4?_.O^,-T-NK]_?OH^;$_F;;Z M_W@=S'Z[.)VKE=&R]@Y40RH-XG[.\!M&\RY"Y&B22,L(2)_YK#)P"^!V M##:_:&J%@]YK,H +* Y-I#OX'ET"==/+OJ;"\DPM@UACAL_-6S@[?+@35T[H(,OM6[E*"$# MU@.C1J6Z4FM8F2ZQ@B=@'2!SB5=(8^0ND+%B3 WT FEIKY7.14P?)03E4RL= M37;CF:E&6$740U0,'%YT&=)6.^#/EN#ZJG,7;IV.6D4?RSF*-00ZAN8/QN2B M,I\ P.NK0@"RB^D)8 &9%1MACX*TYFV5GS.CN2J!:*'YD4\N23X0=6Z80Z8. M/"\ UF. H+,8 P1=*^P'WA#\"'^BP\]36%U*L-'-HD5A>77Q&(QDC70P1M D M5PS"[U@KKZSG-6*%D(BZ^.J%^<> Y3UA)1+92<2+T;SGKE:N$_83"B%RR^E# MC&*BZN)8EQQ7C^;;89,H@%R?I,TGK"(:T4)42ETCI)?3A@ZB0M0]6Z >6[J--]@,C771HK #CC'__$67 %4 IP["0)Y%:7AE)CXX."VB(05G[K_P$)N^C9X M!Y&U>."06$[P/0ELA)ROPX9<.5>D #//+EH1Y&R E '_@>M,!H'GE"=0@# M1BAN%-_\?!K*(ESMC>9YZ1CGH"JW/\T52 MS V,#,X/>!UDD:S3P/%B#>]@FMD[P8'W 5K+9C8/#FF0B& M&B"1LHNN2PJ^3EW:L1E48($B4T-:>5&_Y2OM[5!I6\LD\3-.^9*RX^97]T+- MF'PZ'=7N",ZR8!;IT*,Y;O;V4@35N%F^ZN93KG)M5.!$OL8O(Y&!PN&W7J8E MB3:W'4\^X[)?<>[,$]!*!4[K)1AXBMMRU"/$0M?GZ+4UGX15**!VKWC1T_:# MM#T'BXCX8"S^,G-LDU-S6IF?L3*O&\:FJI6AB^?\5D4 O6/ALR>!H>N\ X_H MBXSWWHP$ ]W_G?B.#UW_-^!/@.DN'.(9G&>3E?V^YE.V'A7IXMA?F=:BZ>?) M1?%7Y#F:O_=I&W&AO$2]:7-;H>PR/KYLN+WB(=L(2GN//FP^C6HJNS11UP8^ MDGJ"<4;O>.T/3')7#638X:MZ3?,9>%+-)';W*RV&S"(VWO['&J+PX4QCD_3Z MFT_0TZ@D8:8>1T)%NG+XGU_P:FEK/Z%>493X"LWX6:56$HHV/N3/WL%6SUA# MO"9/3R-X[?T4^ $"24@3"@^%Z]&';')$3QC5^!A!LI;/[P:TB;L,5M\W7)9Y M"E[!Z_3AYTDUE-"X\8&-BI_DAA)[6$MS $FW]P8]H1I&)M?\!D F]W.0+AWC=.WW1)JVL9/F,/'QOI]"Q2]L9J3$K[C; M?54QY;5,%O &6(R5<>X!%FODA !*Q]#F2J16S(32 185P"E7Y724&!(U.\"B M0K P='S@JE9$0ET"+-8]!Q;1_0%\A85FS'7);;[KNM%ZE*/S2*)^_YB.M(J>$@1 M"R!+;;^X-J[&QN-Q%=%P^-^L&;MK4%;M<454I/D$>K\_(0 &#I8+>/ZI2)[U MW@O%RZE*EP29E0P0C_ =6L"Q3CV*[[\WC=K=3:>C^,G$:=KK4)ZV2>21>V0G^,IF'MK5.&R=D@F\ MQW;IP:C)QW8#!P]98# >V MNR;BDPVAXX&\' 9Y);5$N:C2%S?(")3VUS5B :ITU#Y^1R/M MZXI\H'D37 ML;9W0ESRU:E8S_OZRTA_4LU*RGY4^RVV\K%_R$E-I3W@Z#T7JE>C0DF9C)K, MZ;W.?^!BG.SGDOM6A85NZI1O>8#.M;/?.+4#,N/:86#59>2 M9:6EJ[WKR#'9G"13&?5]9]H-3J9*66GZFDSV_*FXNUB@T+GY))VA<'LNG:5> M5IEK5@FT]>\L)GT,LJ1X63 'G-*7%%J MD4-6+$4E:%!D(N&42X>H.46M(/U_!WBI-7 PTX.P-XW\)4"SI>'$&\+MIJ2: M6Y&B[U>7F&R.231<25'9)1P:GR[3D;=.SO[TZR_DEZ*Q"K( [A+V=K3K I&% MO+8ND'[]I0M(T9C#N7+J'^]N#2'PKI M3%)VP69?NN)7Y5($V907FRS935.B(?!\E_YP9'\ 3GBYLRP9 %!Z-C/E[=D7=G$$< Z>@31 MOP-G#T+**,0LH\SP4 "U@Q3B@D)*MIC6C M+5X%)_"U$* _GP/BK0ZVPD^POL@=8^@$T%F,\+P2A06D<(*_ EUH4E+BL@?7 MJC#GU4' =!<._ -86 =Q9Z'1A/*T+IP0$:_L,:WB!,!+8_]7-["MP6IMF/ZV MM\3]1(P?.95I3I\BTDLZ]5257=LQ=PRP5#X$7M>Q!@YN+MZ#=4T3!=1TFB5J MU)QGA54@Z5"P.-DH&[@2<@Z<9]=9D,@JS]!X@S8DCV5M]62_(ZW@F\9Q['1* MD716=CK6/<;-PE]V/0\<+9($2^O-%#YQ)1WJU#[-'4E++(41=K;M_L ZI:V8 M.$HVG2AE195T3J$,2;;#:*2%(: 9:N@%=*,$IX2RK.Q91U85VM@[5UB@9]?S MQ@"%QQ,]PS8#.ZQR-.\;B 2$V_XH9(7O7%&L\)TK\JD_:SV/IM/6N#]I3;]W M)WW\Y=[+6^Z\E;R^A=_?"AN@7E2/SE7; 7X;2^BUUP"U/=+,MKD3I.W.VR 6 M9.^)(J$\2K^KEK$%$RSJ0X1FE.$D]8Q:(TC5R.^/.?EJD'0LH,#!^,%A9N1G M/9J'W7P_/-^#X4&30ANA.LZ75N75I,MA!$43C] .2 B#0X6(T8Y6RX5X910E MZS3#]0V[UG.P@[44:US+?/9\:<2O#DDG'W6&J3A:=A9,I\=,7KO H1-)) MQJD",Q[MU;J.#T/YX#N8 C- H453=)-V+;A)(V]M6_%K6[OW-F5O9N#V)\UO M>]OF2]R1Y;ZAF7$4;YLUC'#BS!LR\5;J!JS6D(E[BMEUW_Z':0=XA'C""B<> MK(%/,0(];+(K8 5@K.Z-RE!4@$/'Q#NU@M0*PI;=^-Q CWG%E*/&J5'FY5F. MRM0B2Q*=.HPW&'G(,T,Y4I]O"#URP,E8 0L)K!:X%(;L@5EIEJ &MVP%0%$"VT5..42X. J267*]V5&S@T M_P$I=:M+*#8WI*__&>JH8K]:I8VKTPL\WUT!U'6L;\!=(&.]A.; F;MH%4E/ M;D>*V;@Z-$<$\G7O=3H;O?0GK>[PL?6M/_HVZ8Z_#WJMP?!I-'GIS@:C(7XJ M?.OENJ!DSX#X/"B^S^(LIF 1WH"E>0G0GE=F("CI+[6D7X"WH$3 #S)F>1="_"P>3'^Y:*DG.!)1X=VTL$_ M"\0M:NV:U'K;M,)&M;:M4O BY (P#RSR"NF'+Z%H.)!G$-N MM1"?&C;PXA7 $/A,FW3FLPW E@.4C &=6UBU .V:)C&;X*:; +Z3X8N)*>UQ M76$5DE?2Z4)UDV].BDA&">7PE37E,@54'%#2=K&)=E=".4!%L>% -T=:M0;B M9.M\) 5S/,XII3[*.1AEH%Q XDJ1]I"_AS+^ZQ!A_-4_TS:;C#$X^R'E\!,: M=@5DJO1\EPLA:FSFV,I]5!B\!U:?Q$A--4L>BV/*VME&Z_\3!(TKI M7TR5!TX2/(*=1OL/^=I_T%7[+,&J]27:3G/YVN]E-?++S?5-3<<^TK3/$HQQ M(ZYP$JT<*![SH7C4%0J68(S[9E5!T<^'HJ\K%"S!JKC,U53?NAJQ+F6DX)1+ M@UN>1UNXW9%RAP(ZJXBZ\+.1Y+!DY$FIG8-;;$GW'C:[G[L(&*+>#C>2O!T\ MXN.P:TJ+M*7I/@X>.;/>>P3SV3B!9P/[MJ>IN0= MI*@T2=$Q+'&0DL<"-0"5=Y"B *"BV)0X2%$2W=TL+7:4DEM.?:1S<#I&NIC, M:N%]$B>SKWBW]EF/@3I?2L6/O:MP,E, WT)0\2#.(;=:/5JRDYF2V'* DK'> MYA:V_A/O[7"UFV,,FW+P37U6.2"%!F%QT>H_!H^OV.RWEGH,3GU6&=C$$3A M3TC"*CJ=!\R?%^[[I] -$6TB .,_0OQ"Y.(O_ODZ/8!I]X-:F CI=8=)CCCU M ] ;4@#H#;4"@"(.XPY>X:/ $FC\;4Q!XV]CK="@B%/%;"(&P.Q7"@"S7[4" M@"(.]8Q.RF$X"7\SFL^6X%<7V1;]1#SK.2VT+R8=]6R\V:S!%A*24%C3AUPJ)<_PF2Y.\9O@,K2MA4UHWBMJP;!6E/VR8-:D4M MTLF?PL;"A;*UC5"V$_M5"+V^F?X5=S<8L@;[5Q1@"*^?1:P:]6:UNJS$-7)% M *]"5N(\K)ML):X1-G$$"EF)*T2O(BMQW9@(Z37?2BP7@,JM,@W5OIAT:OD: M2+/*-&T2$I1+@\"^0[Q5#!!18F:R<-ICZL+,1NP8:B[)*@NO6>7N^/K)@(@D MKP8OP"#?AD$C"\3,O:;%S"5!%)^Z@TGKE^[S:[_UTN].7R?]E_YP-KW$R55T M#WE_T^G<-3(0*H=4ZFW_A %^! B^&R3X]\#Q?!00@8D)C^'#R2JB#/@"*!Y# M+RRA6IY\N^8G)OM<5WM6$>4P%8:'A3"GO&HA_.0B !=._\-<&LYB*P/39Y-9 M1F&,.0$ZQEA<8.5 _F$@*VFWEX=NQL.:PLHKJ5K;W(&#E\Y@MW,@KR*:I\^T MC!+*(5MHHA45L!& ,B=:9AGE0!7%AQOAQLRTX:X2;]K=)"]&)%#_8PT;O@;YCF)-'YR-E]-P2T7&*Y MY=0E AM3UHY)1%1=$@7M21KGQ]EM/;WO8*=M*D$HY70DB(BH%>0/VMUZN*W/ M[KW],C+SQS]9(V="SE$_]LM5VG;;11(EO[C_6Y\[ES^_7^RW7=JYR"%O[;*]R1U?02.PUJ0B<'B;8T.#G8 MCG /FW!0Z=E8E0QC!O5Y9>@D@%^&64I(/+5V.IR3U:OCOGD A0DY!LXZ\/'/ MKF-"&X;H[ O.M(%4]3KEB"3&"0:G3J$HM2CYXCI@\V*@WX'_%#@6V_B=_;"Z M=#@%G,=L$M"26EQXG7X4G9M(BJKHHAG;K6W(O&M/GCJ4 [_$E R>%%8%6I-%-NF MAT.D%ZJCPSXVIY=0%_K":#$8P"F_6GC+.J%1 =U" SNG7!J!-SUWM8*1U&3<=1WB^P+P+AT(GO/=T&[ MD,0:O='+RV 6G>V1Z ^]T7 V&'[K#WN#_O1R_X7=3$+.T7R,7"LP_5\-A S' MWV2U*O/!-'$[-8='$+_:(BB9+LX;XP#OBS#11V\V7(3P4*;ZXP>;CKB@9!5X M8\CIMOA7;^G:UMC8$('' _M5IS4#8_PF,]Y&!>NI^D4D"NXK&FZ[C&!.+#M M9NA-US01UEO7[^$!<8._#)6$E!!+FC?/WE4P16O*SYK_\/ M4$L#!!0 ( (F":5/0-7?-CJH" "H1(0 5 <&1F=[^!Y_F?O-5?5) \7 [S#L.%";W/R0 9ZXI(%6R!RDN=Y_*#(:$JJ@4-$#0#)1&X0Q$ MD; ,952%(M4!3,@9L--3^)^_QU[(W9##EGL_58?N/[_&GC>]__U[L5C_Y[\V/\ENT#2U=[TOT"VW:. M_.Y6*X(R!J8,:9;KR9;R\)JH6]5[^I;-8_CO]8_;IMK2@\(!/'G)=D":%8X? M1!+Y[3FRY0YMQY2]4(IA1P@.A5)X9(3K>"_Y%GZYAV?:\C6.(=C..[?-'3!\ ME MG%)LRPL-TS^_/+#T?J_IC1Z&P,S7YO_\VOP.><$T'.GO?__V-,\ __[]>_O? M=5\#6PW^_5O5YBG7"PSPSR]3=D::!7GV]!Z#I]Y?X5M_AS\_::-J[M20@WO+ MMD#40%O>1[T!9_VGIJK BO\,&^0=68EH3OF6YC4CB(GA'Y(0LE"5'542A9P$ M.0-B4E=G1=B?#!R,G2-21Z=#UKCWEF:$)#I^2$-,T7+=!^U*_%"B) R6(@!) M7$Z8TU-D/F>!*OFU(3ROSZ7&KY0EF^%X-V;EGK%-4_,B>^[2ELJ$_84^(/0% M&G!_I33UGU_%>.B2D.9<>B)3@3YSV_55JU_&%U0CXL13FKZ"1@25,"0B$I9Z M]3HQ#"BU P=V+_"@9I93B_1'B0S2 Y(=KP06EB=J+2N@%(["]+N)S&ES304Q MB>Y8=H K90II FV,%A8,LGY^@&24)4F.?J5<;63]\PMZ2F3.=V*5D$@)68NR M9>_(=8&,!H2DFQ0,\9H_!KGVS)Z&^@XG+<@#>Y0 L57$OSQ4" M!, H)Y;&D.V*"D>?@ .%%JZU.FJ7$E&B,EOP3+8Q6:TYD+D0!Y"]&#"'@* ) MJ".Q!:F5(TG!9DCR%!A \ED!)EHY0>1GO3(_QTBA,J$C#F#41U5]0S^A6LH8 M57D!%MHKVJG:@[G5:IP8^A#VG.H.T$;CD$PZC +E$:CYY@ X_'!#?,P(E_>] MR']%X>\3;M0[<]HG2CU59X0M82150BQS,/\PFO$.(#P]-A8/VU'/FH:IR6(YF"@9JBWFBRX:0"&65T*FN2 MBP@C,$%>AB//, )/B+3JM88,2^2+ 5[CU-!=CL['$<%AI+QG#"JP:8ZR3$") M@:E'',$(BG@_1Z[4F]KCK%@HLODA3)33E5F^F(9',OV3O.F\-!&5?GNPU%&_ MS1KSG#CAIS_*FT[$[,1O^NU AW)$M6CG>S6I,#KL34-5 XZFG&+\ZP&',\I[ M-HQXO8 ) V!'-CA+!@,(6DMP/>#/"LXV5\QPD'F]=<139Z0'982\W)'G@8LC*UF4H N1AJY-BL*;5ET2F(Z-U0;$AZ-MH&],M83 M^K-C9[*''%C= 4,0@D@5/%O1#SLL/T^.&TX=*XJFS18RA=*@P8TB0_4%OOOH M&>VIB.T6T6; "K.9SM1G/45K0DPYV_@$L5^9K7A*:%LV?/"$. P;JDNTQ-*Z M8-M(Q\X$/-]?7$F6XBWB2"Y=6H[L$0<+JLHJE^.]C\H"^U M>N.,YCKMNEY0T2E':/6*5(E]Z:/Y_-X8T/L2! M!X!/?0=(C1%3%&L4H.#RLLK3K9X_ML3%^4.H[:RB"::VX\D# PA@%&?IGM"M MP&9/JR]G"#O++RJ#HNMT_%$82;]*]%G<)AT.3(W]IB%O+&I-=ARI413ZY+P0 M -'OV,6R.%)1@PQ'-PRI!B]\Y>^GR>!8XX&E /??OZ.D^[T;Y]/#$:?B)/Q] ME*K^YY>KF5,C2J['WXWC58EH90G:KB+=+5TU,@1/^UB_;O<=\4?7]IWX4[QH M<;_A4DS1&US:"$Z*(1I*+>QG++N@[M@C1S;II>9*T;"DUAA$JA#;L1?-JB"2 MNC2?F[[AE*6":#95)F\RMMA>1KG6]:A '+%N/X7J&GX>:L!)Q=2!O6M&#%=^ M&K ^?WC;G;N&V?JC&KYL.34T1?/60TNI6OAKO#3Z -77*?[U;T3R_1$D__U[ M[^O^W8[S852_][%@&@=J#Q1XLN-%$?&_VS4N&'GHY^&W!UZJ.TTI"(,?7['^ M9?MY^Y+?3Z!Q$"FXA%(A.I!,!)7P0V9M!=\%%21S$"K5LF,T.'/DB'RZ#^!R M9D0JE2N'RF&2SP45) /!.(12QT %CIMF3@@5(ISP;/WEP]^GM"DC.^.J,U]L MPIIA#)I2Q\(&48QPS4"YD$T)I4] %S7" MD)I\56K/:E=N0KX.&>OE?6^/L+>_?,(JI'="#>)EJ.&%6(H&RL[\*(5EFU/; MBA=R'^0?K>[:5LR+G4GO1O!*PUJX0JXCZD27;$%4BX>ZI>2:A$/4;F1_B-QS MAACIXT,,XK0A1GIGGD4\S+-.A9 )6M7S>2SHP9!#P>*LN&I,0K*N@?&4SN0&RV#89\H.=*T)J@?) M'TO^=:#@O6G)-VQZE;"D"@8/@*ZUYNZ\W'6EVO!FT]\G7R(!\CULTPFG-L]V M"+@A KZHS;JHK3C!M::-+FS3$R'MHVUZ.'&NE0J]49Z=S;PAL;#,?(:_=@5/ M@$T_#PJJ[JR@-["%"?/5?):M#Y9#YORQUT6)?V\&] V'IHAEDZ9GL*67,P1J MD87&(FM<>_3ZU0YM=Q)Z*?D>=FAF/9WMX576@LMF.^-FYFU"R=PLE?WJ&=!P5$5;.[4VPT8 M?ER4^)UB^Y-X-"J8&UFX7\JR0&B4<-* $;]X[1'+L+Z\("/NS2,@C7 MU)9&B1!-9M(N+1075,UKE_,E7%IBQ'VT3W/]60,E@86)@E))5\J&"9'&U8O^ MPC[MQ#!X[PKL&U9=#J39Q)_753%(^S+<3QNM1>8V3WF7?,^27C^M4<_UX:&7 M&P4+6.A([7DMEQL45EM<6@2LQ,>##.-]K7KNQ?;=//D5@]K4TW)7DQ;&?8 M!@Q4K%]TN9[)JERJ..VO7+6 %7YVA4\ 3;] M/"A@)*W5@*6*IPN+$EEI>UDEUSV[M"Y*_'N+ -]P:.IPFBYQUJ*M X,9Y.U! MM0<6UX[WKW9HYTBLGM:A430.S2FG,(8+-,'0RW;=7@0WAW:]TC[:H4W;L%>J M3DL6+!.#)6B:N*8L$2F1[LZGH;1?#UY#NT#;N'J17]9GW9J&'RT MEKWE -GUG2#>PK,M839,X*WJ@YI8J&@T4FMTA_S@VN6]A]#SE7Y<_=90:Z5EQI;"%QJ*G+2"Q MGLM?JWPOHK^7K$A_6W]SY05P:_D $?UIT*ATPY7 X2 MT14\IJ>%6F<)KE7 E]+@A)03[E/@N90C\H8U"> 9-VI/AEG*%[UKM="74."+ MEI:]K;]ER8/]9G\T%/D!"]OV? A1D.\]0LS7;0_JHI!V&L(%^K@+]<@2^^1ORV!J_& M,\Z&S1X),S33E*@"/VC?'Z=B,D&@7O<#DA:KJU PZGTO,Z0^180$1]#Y;ET_"(WN6WBOQ -1!3_?1H!RH*MR:!;KHG:5&AU,<#FN.0FUA* M@)UH#X&B_Q&G#NH/.NSU=<%U!\PUVW>-@'-='ZBBI0(GMG(PLB-<7)G5-=Z< MIV&!+LBCO(>Z0G(W6.\1[GNH/8^00PT_=4C_Z:!,G(YQ= #G91$,G<%LP9N]5-$?Y96XHDO7FLEC2?;G$#,CE?!+,K@D*%XW,$G/ER,GP8.$H:?K% M*:S+D)3#)VEAU)U>D\V_-![><<'(22/UE[5*]$)VU"AM]6PWGNLYFN(!->9. M=/&[VQ3$C?AM;68@]3&NLH#*H/2LR!!6+<=VHO#M4;T? MYUZA@N^9B>V7[Q/7R$^CKC:R_:1EZ"A,L5%UFPS,+(E)A6H5EHR4V!G<*]!X ME3NOPN):;='S6>,!6_2\Z^>3KH;K)LFW9+=PCSF?RD!/.-EA%X M=0XUDGL>4"(P^H2!YTQ3'^D8GT^$3Y>F=AU/JLH3VV%\U[--X.PL6=+J/#37 MH=^@P^\U10X5=0.IZ*FZ8ZN^XO&. )RYINRF2>RA%TH15,)O+1?0EMH$\=;0 M34N7'CD@7BYZAN1F9!-\T 2FK$4[Q>O &=J.*8<&@A\8VBA6(W8Y!9$;:VEF MV(0?"N&W[E!6HM^$+0L?!Z.$3B/ZT+TOGT"W::"WBG1MP;BA?JMOJZ1I\5!*-OS='RGVE$_ M_SZBZ^_?YWW3 U]W&)B8U9(?:UI"XQS-<20BD\LUTW6>9WF+SE7X=DO2EC?3 MC48T\1%9@%+4>VW+5]<[/![B\[. @YH$9<0%KV,[_S M1A@Q8E#0$4;SCAXP)5ZVBSH7"(E#S*.'.)8O6RQ]E#'?$W7[RWT^ZF4$NM%7 M"[66# L5-YQL(D.KG;ST<1*]S)<7^'P* <^]3(G.N54"KPYA7V2:D[RZ8HK) MVQ:9'"^3-&E_O9>Q%'$.9=-6$0;M:2U#H$H9:B5VW?E[>)G+H6Y_Z<)'O0Q1 M:G6$R;))Z&C;,'VEZI/8[-JLS==[F8L6*WP$ <^]3%'N#$:M=&VB"^-^QYN- M5_ 8O[;HXJN\3 *E_?5>1A?A1JV/%B$1%8&]6+0I@5LFSE)\(R^3P(*HCWJ9 M0@\RNK18@G2MM'+P',Z1B^15K"?1RWQY"=2G$/#Q-6+,%H(&AA*C MV0#J),YF),?+)$W:7^]EU-E(KH_KM"R:F=E0])2!W2DG#C'?R\MY]U._QKG'2JCC6??YTJA7>+[=X_\JTT\)\O.5*NPI#TX2<+6FC)6;\AAF M^2!CVJ0?E*O\#;C7"-PS'0R,[3X@V&GD@&SWK"8+85.L@9F<4?83EUMXQ->;/'@$X]%,N Y3 M]CE$5(#L@K%MJ)PY=>QY'*UL,6"N\IBJ%J:0+H2*TL.]6:;B)#8G_2X,'"#[ M)T@][SN6YOFQ#N2U9?375NB(),Q*1GD%PP3:=8O98LE@DWL]T;N$_CK5/T'F M3#BG\1P_GMQP5OAD.#EQMU*G%'.&NN7^7.S@IEBL+^;T,GFET1^2^B&Z?X;< MS:GO >>AS4;DS+*U! :R$%B"4&HYOXW1B^YW$?E>DK^SM-?[UH#K/1?S@K7G M5&G"=75FA"VAG&,/:^)U._'U7K*7M'Y[^5;D031CL9T@;+5/V%VM.@OT=AN# M^1GCU.&::CA?V6X1?A^3W)!W.,WF;3]$ 1GH#0B3 5!$F67TQ&-PF M;PF$KZC&]_#O7S][2Y;8#TS?R+* WIW#&#,\5LQ9AB5"KA.-JIS5 6M=MR2\YA3O].42D MA%(/93:/'SY:9G.RX^,%?=Q@Q:Z5T0DSW5+F-)5EO,2Z@W=7W23Q3/F7I9XH M=601SF[3DQ08;\N]U@?07^#Z D_,+\:P.AKJ1!YD^S+=9OID8O%W;=<7O(3: M8U[J3:B=H]XK*B)]N VD ,*H7)Z.-44V'J$5G3L7'P+?L4,V;&!2F^>FHTPE MOQ1G8XC BJ;F+J3$13-1.>FKU&U@LH^\ZTA$'BM%Q?8MSPDD49!FY7(Z MQ,JC>;57=#5Z8%V;V#;TW(O"=;+QRM;Z,IQG#9T8K002LMI^794 _(:Y/;V?7M[,5UG*6"H69I'JAH M]@<)F;C!# M@T4EN>585PF1,QQ5?/!0@8\6A3^L_GP ;.$46P6F[.A1[77\(3KV=#MU2RM# MIY&ODC6]+!;[E2GC+S-N8NW0R0N\CW[S.SB_>]GE =:?;8J8X$,U+H'_FAWV M9TZ!!Q[V9&W!/VE@HCN:J@.QK V'>GHA!RY] _]IP/\ZWV_(_QKD;[PH4!_3 M5$UM-'Z _PK-F$/&S/@BH=N:7B_7*FYRC[&_,OB_P?R;#GR-#FR/NXV7%J+\ M[%B;;O%/B^FR/E0Y%IZ9"ZI Y3(KE[GA_S3X/\#X;X7]U]('IP_5_2K2[*JX MA;$!+BUSW;%!U8G$PC79 ?-7UGA_! GU$(P[N_$<9]8H>_! [V Y>#'LU.:# M6F+CU ])_@G!/TG2!Z8GY1;/U 9M3()-4\L7"G!I/DAN?);@24+2,?!6H#ZM MB2[9$](R'+A\KR"K1J[@?"\@?&&XG'0T' I9T8HHE(;MUD3D05D ,QUGB\7$ MK<5>0^#XI0L%IP\&G=IL9A0::$>4%]D6ZA7A9@[[7B'!)8+!\Y>+?CX:3&?; MHP[&BX1.U#)L-5UEYT7R>]F KX@&DRGJ ^&@CMAB=SZQJR*4::5=?#@G.3BQ M57;7$0XF$P1OQ8,S7NJD![5BC9V1Q<)*=3-Y,[FWT5]1/)A,.!P*",N=.==G M*^V56"Y[$L(U.@O/^EY0^/J \*O+ CYR/?52L@6OG=RJG4LK_U>= RX^2R :9%-S]:>':MA.!&PF[,^1E8=I5J5) M-C*L,S-9V6\">P+C19-+K$P/4;ISDL9>4I,NW2-OACQ6V$ ;6>PR1+@U EM. M/*LUB>HH3/"PP6'OJ=#Q0<8UVXKV08>_6J/U0YNCCK<@@C"-M;HZ*RJ3K .&:LH^JO(341YYRMAE MT\W+U:5'L?UHO5VTFEGU%$>A1@8I6M$IJ%@ M#6Z1.%?SQE$R.\5AXEOYZJ/Q_9:8=HZ=WR>GLPS@Y<+:FQ+^GAG.C^CDZ^=@ M)5(SX4D^/S/39D4LT!4=ZPGS L"O33/??SC733^_MWZN:_@V!7ONSN[NS5>Y MR^GD=@BO:>22+.>10MV482@89V=EU\V;9N(6*2*-?,GD[2;PIUS^*5KXAF1_ MF@X>=H8%,[::!/U #$ZE8@0#AE>[(%_1"![.U MBKOHN>7$*=8-]5> ^OWU7]\D8REV6J;J=_F1:#*+LD'7"M0H>7?@W#*6B=3) MI.WJ^E892X.=>?JB(@S%F8?;CL9;7F-Q;9IYRUC>]/-]&4LVN1E+:=(S?0=U MBSK4R2,^5Q_F1OU$IDO>S%BR/TL++YBQO$8=3/"J05ZI0R.K(F?U\MQI!6EB M3@_'B5S'NZT:W'3P$CI(*W$^+A2S K2Y/## &=30K!EJ M@:W.30-O&OB*!I;JR=3 3"LKIGV$FHER)EO".I.6S\#7MG2XU5_#K ].&"4%K MS4VT:Z_TQ"G6#?57@/K]9YI]D[K.Z;1(=E1L2,(='M9' KYJ^ZMK"P%O=9T7 MT,F+GK'V$9V\LKK.,J!5H5"J5EA-+I1YNYT9T>U$+A/[\ M-65RKC/E4 7JL'Z^T:+HNE;CX,3%E$E=N/N)-657JH-T /UL'K73FOTA-[@=9D'"YCA%GK]U=! ;K6=;O;ROE- M Z]NU: UUN7%B.TQ+$J0,@]8;<[GKFUJ>%LU^-$:F$C%2NM+'[;DD2#*3);@ MFN* +;03EPV]H?X*4+]["\3.J<77OY%@V>@.)$9".Z)F]5K<:JI407"=,[#; M1H(O5,7C+Z-XVZ*5 E)Y$QZVTM_::?1^OG%:_CL?FBKC=:Y1&,3OEYG^M7 M9Z5A(GUE$D/7'[J.ET0=O-YU/)&WJTR#&H]T9A8.LDEX-HY>ZRK";1WOIH%7 MMP.64N2T,C4Z&5;@0)JP;>:EE^I 8F4K'H MA4-S?,$KLZ@GN@MC:+9*9.*"RQOJKP#UA^_S>;"+T5737L#8YM2VPH_N$\ V M@2=K%E!9V;$T:[1=R /60%>*GCIGB1580JQ?T&DZ<7G !^P=(O41)OMI/1LV M$GS7TW'8H!7%-WTC;*KRWCA*+9I3!XPC[L\!9RFVN:V>0%HU&P0RZ+*I[$+[@2T5YEM@(.['6Y1TGNV!GJ4;[%#:.MR[3ZDP?YTS3 M@LOSFC54!]ZXDD]8U6I?+(>CPWI9/61>%L/K4A%_*X;C'4Y%O."-[<;,N M[YTU)W7?TZFM2\6!N.M2W->6KBN0=7TLK=@ M7$QQLGGO-C.Z:@3MKF5@#[NB3F)=2G-HA6"6E]=1U5!*]#3?,\R;=7DO-MZ1 M\3_/S.A3V#C>N@Q0729&&BO#@@39O%3T.JW@9EVN$4&T*_'#/0L!=4.V:K() M'HO46XN0D( UHI4\P;,5G8M7U$+F1&TWR.AF%&;&3%P;1JN#Y=P:$XTIGMA) MT"Z1FR+Q8Z@\)0 T*Q1SV/9EIG[[RT=ENMTYBU 2C?*-B@[3(ST8ET&OV,DH MI'AVJ;R+>H1ZNG?QL]2_1'1>UIRV;/@@&]"N"SS&D-VG!K :FH6@*CLZ\/*^ MI3[?N[C3P<.?Q9!2V5'&024$S-/MCP]M.&OJ>V[< -GF"D:462X3;8I%Z[4Q M[-6=3)=([.3O5Z<8Y!$@T3*SK)=&\^S.M/,>2-F;&;\=&+]]LT@'0 N?%I' M>E+@Q5;B:?433-<=,)4UE5U.0Z E[8VTT3?<4(: M8H0\E+'(S=JPTRM3,-24FEG3%)>XE=ATRFN4/\+\>-*OPQE_0/HQP37;4O:( M6\8?: J#8H#DW>WNCCQ7V UNN0[QZ?=4KU]FQ#O^GB-D$F>HRVC)*XSM9THQ?M\*J59F@G-1-L6> K4%E+%E&_8H:&JC M\0.$FXV5Y_CU#*<7]"$&M9N@4V[>('P:"+_!_!N.C\?Q]HBF)C#B<,T=:],M MAB%\M"+$##&!F6"!.16G.D1*R0T^KPO#!QC_4_'+62H8?@##G%5W;"5\<1.X M(,J&AY'9QD1$?-I&Q:)-T2.Y0>D0NN2R;K.3+G<3FP&^')K?*85'1!\EAJ1C M^\C-JA^&^EQ=N?2(G(F%G)2E28VO=2H_QZ1^MDSI$IM//[XX+@HM!\BN[P0" M4'PGY!\XXSHJ:P9]0([;"UW@$MU]OV$M=0$%'<:W%U+2;10)Q/PD3$U M'0Y+U0P_JGA^))%=*H:O C7OV&94%^][<5_\<+NWH@X<82P[$>?V=O!L$XH; MAJQ*&*G&%=9B.,UQFX*XP4R[AY)Z!O8R.E/W:S@^6O38?F*GB&?DU^Y.E@,, M^U9Q?H)0RII3PPX B%G.3Z.>MNO!G&4/JRT&AM&"EM>FL-M.8>KP/W.J M=&D_?SF,'CZVZ/)^GDH7B5Q!FMHLY'IBOMVK<%AR#SKZQGX^P8=K7=;/K]QE M>Z8O3$F?%8OE2C,']TWD9YK1R_GY'XK.H_Q\M5.;(W)]-8;1_LJHL+61B\$_ M,Q"]J)^_*$8/7V5Q>3\OIH61A!G84$2)6B.S*F!9&/N9(+VXGT_JA2N7]?.. MHX&Q0OA3EC$(>:)!-J8Q/SL2O8B?_XGH/"YOOZPPA0$@YS /YE,BO1AG^>36 M>G]K/Y_4RWO6!]$]'&FW=R^K PCY'0!6,"1#=I2:=74+,V-;S^:@^T^WPWH M8&"R639O5&!BJ';J15(1].0>1N]S@*'R^(_)YH.+SR<7HOE(5HT5EUU4"?M1&Q-1<(7*E>MR5) MC!=*ZOK9J;S0RD1QMS!/VZQ?]R8:WNT$5G+KX*_!"UTS8EYZ(;?39LI=O,/ MLU6S+_A5,^@D=QT_>5XHJ6N;I_="/;6*B3['9EB9R?G&B"H%G'[=EB097BC! MJSNG\D)99L&/ZRNRHPOC@C4SQ=5,G"J#/)#L2<6U=9>3&H^J#9;7++ZXY7$N.%DKKV M<"HO- M65F7@3G$V\%@O3_01&I*O.^-R82]TS8AYZ85HG2)+&@8&L,!C580M M+^%TY^:%K@ -A_.S1U[QI*KQ 2*R49:IYLK'!!D+0B&XMT2HL9/ I M+7$3E[,2ZW>.O=;I$,G?,W=[DDO8#R*%7@X'XK@Y[(M0VJS51^:$=?*)G>LD M'2G7?=GZ8:04@"IGNIWBF)VI55BKU&?.0$BLOTDZ4BYW_-. M5[)">(K9\3Y4B"5N444P.1 9UQP5K'F[,9C?(MDKF0GO1X4Y[[1$QD3R(N^I M+455RMET)@FW;2:'<:=((>Q3)ZN((S8_5#AX9F:Z.KSR\?S5)PZ^6)TNERYX M!16=7A;-=UG "KBCKSS(H@SG[''H-3+N69[%=3RI*5LC$*M-]*FJ69KIFQME MV2K2Z:_&&Q2A]+*6S=%BH1PP0: M[*OODE,%_/7XK8'W"RAL^3X// MMRZ^8Y1T+1/,.8L5V RQ\EA 51LWQ";N8KN?C.%#E]Y5V.+$ZBVPGBBH%:-= MU1& -1.77$PH?K_H4KLKQ*Z\_)+X%JX,_86>Q2B81X1C8-D#F)N#41LO\]C*[0?^#:^W^/9B^'PKOBT,\3Y::*QX ML2 1).441KU,-G'UIPE%["V^_1(,'XIO5VD:DF!F/ KC6X^JUHLN2Q9N^+W% MMQ\X$^$CV*S9T<::*? /7) O,CPL$UU+O/(Y)[ DO2+W@CN=0U-#A/! M8ENS\^EAXF#(5C0?>SS3LK4(20M8(PPJK'@)DK.4B-CY[L&6"%;V&J6] 20("0$WZF\W'YX M'1!O'7)JVFXM'UH=32R4>A"M]1P$=*\)"Q>\982 $/Q('[+;]&0^!(Y10*X7 MW^'/H*#6:?,-S@GR+-.7O7P=JX\%.[$>(SDH@(^OS5\W_<(=&RW-U*P1/VPY MLN4.@<,/"[:M\HX G+FF@.<9U+B- U1^#ISPT>T)!IQ;SPCC;+^L@W(?&QMS MFY=RB;4/1]#\)+>YG^ASVHRDGBCZ0;307MW6+(^S=B"C]V:&/8#J DR4N+R6 MYAKBN)+8.6JKB@YTF:1Z3+DH-4=4XE;(K\?* M)#4[DM>1O%_Y^G95)ZHEO)[0R$Y_HE'7.,]F"R)4D M,>/813*QZ9'U:;EPH(QJK>J1),IRXF%1W*RUK+=O%YP&6V E/@E!P"5M NQ(_W%<>(&M.6S9\ MD T>_BR&C(Y.5 TJ42G0$[_QT(:SIK[GQ@V0;9IM4"EK[=*BJ?NLEIL6U.6D MFTELG'$RXGS.DI,I^S0)7\VA">U^=2 M$LYQ.!_Q"/IBG_ )D>]@VHR0>SPA!G*!\=H+%_:MQ/K#Y",?AA!T9V7JA,+O MU>O$,*#4#AS8O<"#FEE.+29A=_TYJ#_RD)^L[VH6<%U:F?F:JSV<$AT' 4R( M'\_1EM%1R\[4#CL$Z@;UXJSBPW2ZLX(9TD IJ-_-Z=7$HOX5*C>AP.MD)B06 M/,V>[]>B@(]"@)9$KXIWR(:HZ8[3(\0F@K<3Z_*3 (%SN+A'/4=W0OP]+N^C M8JY 5+??*/-+$;);S7F>G,P&V<1&^DD0\[-X/S3HQ\;[3VS_&31=#NYJ$N7;BZGF>Y27A"9%6O=:0 M88E\,*P0(@%%.+(TAVQ45+@E3W(NONF[\"Q+. M@6/=Q-+ER1@VQD6Q,YA;!7AN,FHZ";KYQ+DBT>SO3,F 1SME#@%!$U!'8@M2 M*T>2@LV09!)X<9'U$]_2UEP3PS^B+5"6*CNJY(YE![@2H5K*&%5Y 1;:*]JI MVB%Z6H^\,N,#]\"_FS'&SVS?L_UM^SEZT1LO#2,-"7(&Q*2NSHJP/QDX&#M' MI(Y.OWBCYMII%"'OPT?>_\*<-@]%$[]N0V>FD";0QFAAP2#KYP=(1EF2.ZO M:OS ;FP:2QE'( MJD"",5L>+GFXU)@U +MX(8HXJHF?^(3H-0^8TK*AZ.P:HR8HEBC 67EU6>;O7\L26^)'"C1N&?GWAA+M3">7S% M(Q<:-L>/(CE)7N*526&U-.'9PNY *T?&2>2E>L4$[^O@\'A^:\O[$"ZV[RC M77\< UF-K5&(B7__#O^5"&+S+BP?WUZUF_SDBS(,^>WJ/('3'U_@K1"8U!W$<: MN2/Q\*N=%X=/3[?/#D-+!0UE4S."^_]$A0MNJ@86J:9MRM9__EQ_$_[7#1DS M_,]?<6M76X&PH^@U\8OOPS]3T?^QS1_1"^34V '#?W[]3XMGPH_N5+9.\LKU MQZBC>\MV3-E8?[-8$[OY*K*]D&QH(^L^8FXXGI8\,$#*'J:8R#);7JC?T9!" M(T3QVD8:H1SFJW@D/#S%@[A,#S;?/)5).WH M\PZMT1Y!X*R_T:S(+T:B^6M@.R$>'_M8IES;T-34_\#Q/]O?HPZQNTB$3W]^ M%/)?^P2Y'OP#&!Y>@X9?S<.9V4 S0F=\/];4<$!A#__G?S(HC/WUP/_IJ7CW M-B..H03_%"5R;)2D(364,T#%)" 3F)3.4 -)!D08&J4'I*+*"DHIU*\U]CY- M._4!T@=/7KK1G8%MJ.&/8HUKL;F4T*);K) 26$9L1*K MP#MN:-T&?A%@>,YV8#ON+/I>W7X_!XZG*;*Q$6;H?C9=X'<4];]WA;AYUSU\ MA^+K7G;\]$[W=MCET+ 76]%M/T,+1Y[>#QP@Z] B9-.; =7#[_(@](6^!_Z* MG.-+(M=!P^;?GGH4=53Z2FG[[3F16$\EPA-:@U=5_ZG5'$;!H??/+RU\Q 5* M:+-L8R ;ANT-[.6O\QC5AB\[H2,P@B:8VH[W:ZO;)2#TF@/!J,(0 RHY5L*X M-+$(7P8?"I8%,+)!2N120F"&%O>Y\XQ,%46F\4=3M<<*GPRGI_/W'W*0#9%N MMMAFI9=JLG6^V4K5Q:8@TK56JL5'84LKC$W6#A3!4GPSA>!_J/]=?\'G4ZTB MNQO;;..:R'=MO.ZA=]-,*Q5V@E!8>N>)!^XF35/PMQC]G(!$P./=HSXQVY/# MB2,LW>!EA$-M9\O/ DO;27ECD'JP3*EZG+M,@;!O-;4GVMRQF_=J=)91V.E8 ME8,@G" #ZTR&B(8Q3V21E7ZN2\WC=?AJ6'."" J1+5- MXQ-=KC H[_:J31:B3Q/[IW]$[-]JTC6!BR+\6_!_"_X3R?8W 9Y(MG].+;=3 M"^_!\J76=1&IH6.;:X*EI_^D/#OU])MUL]U_/T21/R40?_=RUN&5D$-S(<8V M32V,*$-W$15\Y.T.;8*2YD?9YT=;D'::2R@#I*PT;UPE<*]#Y MIC[JQ5>1'E+G>BZ?$OB*&#E3X<^U+G(UYNY\7/W #/0/=BDK7LR):'G_D0,I MV4T)4Z!$I6%J2K-2FN>FF'&<]/CO-YV44@2I8C"9D89#!972Y!"7,D-8D2B2 M(E%200"9H9Y/-0MZR^JUR8:C"PO5R]5STZ5&-B0TCD:?M)3:?,5P+;K1">Y3QYY' M5N;D&<^UZ7[HXF2P%NC=MB; \MG%^E6VW87Z[ M;'2\@\P!0U[(4:G=H93GB6"2!(F>06 M>+/_TT><#_" NZN>2?R[_R98 MZ$=.VS\P]_T2@7UP^(D30S(M)JVJ3K1C;_V?BF8!Y,%:>NV>Q0&%M." FKO* M"A%R(K.0TN]T;&@&SZ1R(%614XSCKU)98ZZ^/E])%/:.3!C=L/<9[#'AG[S3 MLA?6SN2X7U(<1""DAHBB,Q43VJMV3GA?QD$()YPAY S9D?>B[?B>_GQC!?[+ M M(-QV*7S#OU\&6:I>SF%/KR4N2&DCI@RW!GE3-$7&I:[UN)9T*(A+19VGZN M[9\I4]/=].GC'#A1VIQH+:C;(8",OC9]G%O$$IWS4]HQ_+8(![34\^ M0TRE(E ]CU%O^?HW%E(.Z=0?Y\[&1UZ1=H#\S!SX4[4R3F>GI AF FA"N15# M9M]GX--PYI/^\+]G7XN(3K(PZF/;VK,6D?%(JM^Q6W"YORA-^*"4<0;O,XAH M!H9("MYO$Y.P;>:/QY1YI!L(^9>;:@$#3"..;-:#_HRFWH8?69A4!)0='3]_ MW"N$IM+1/"WLT(F'"AR@IJ:^X_I1FM^S4V&+" &;!7_TC\%FJ3\TN=%R)*UX M]]\TX0_0-(Z0)"Q1,HE(Z;22E@8RR$@X@@Y5!1"J/%"?I\?)BEP?6,MT3]1F MI)K+ Y^KED:;'.*3EJ(T;0$$LS66P9QI!7*'WKB[V%>O5K7$DC.?,!-14PBD M5("$D=F/^D2?MVQG^WU#R/@^C/8%?%#"AKQ17$CH0\MOFIS'T#L2_=_/]V+> MX8>V6SXX]6FBJ\..H!XE[]#,CZ4>H^*"D^](_7M"]/TJ\-IVY/6N^-=^W>R/ M/[27^7T,OD2XW-*\]:9T("OCE!)='?VN:0].A)]30N1C!?$A?G*6&I4C@-0@2"EC$+(V[$ONJD_P@Y#?4BY?AC)N&,[ M*@O=5JM[8]E[3L9"?CK6:*#KAS>4_/?/E&RIJ3_0'7('H6J%C0:3D)CHH;A] M^&0TGDUGT4XA-QY)/%S9]5(4O.Y!E0/W[NG2R-E7B!C?<<(1K7"99C[V ML9MZ;?H&6$,T#>.; FS?6-6'/#8 MK7IJ44ZG6D_K4RZC96\N)KQ/=T*DRBDC?!ZD9$4)=2<^2#S&CQ.9^[W?ID)! M0"]_6#,F_-DU0]4+W^5L;6R(.#-D0?!GY.3"3D.?$(UXE!HY]L(;;W^^"]T= MB$>H@J%FQ?FZ>%DY"A=0^*_7QAG_C/RU;?9F@U?'MVT7NKFMK.,'7AGOMKEF M[5B)K1J.)=A=$4 MYC[^*[I5X _X3RC\Z;\?SM%_?]+?3LB]CP?G-]&5_79L:W(V3N/-[$'2R**/ M)"AQ OOT80OKX]ACFB/7.[*=X$PUBU' <(PS/'!V=! M43S [?TRNR>B.C8QIF9003<7#+NB"HLLV6Q\_LR.(\[K2YQ1.-WQ!NO0ZEK MR[X6Z[X+ND/9<,^#W>WX"O'PF/7H=C L4,TF1FAH23=G^1EO^C.$P?=:PI.? M._,#DJR'M>)9CH<;'ICL_1E.F]8SU36TGDY7M>&^+$^ MK*]/(#AB&OS?NU0OI#0!ED2(*'EI0)I*:='I3RA!E,D\9RSX--)F]N9_3V5 M3I;1Q<^D[*]G&I#,BPJ5$#@@M0C_M7$9:V+S<78P5,SH4I%8BN^Y*>@),"S? M5&U/!8H6AC&_4F[H:4,BX:<8.?+JJM2F&_>?7UPMOV>U(*X!B)?7A'B$O._% MAB&T$+OAM]?CLBM^O&1GTZ("IYAK"ZEXV%'+B;"0%)W6';PH_[ M!XS$%PVM+T=*[?S]F #[S*5+F3N8NMVYM/O*]<>HHV3=N;39!$&B %6Q 2+! M QR3TBB&2YG!$)54@.-R9DB2%#IXN@TA9L]);M]YY,_NMI\GYO4.2^\QGD^C M CI;8:-#)1F^UF)K+>%0<3!RE^)#=1M)Y)X8X-;-[O>(^6"'X'8]\( M@^^I,O^H_GT%&#YP#LZ[=>M+0'WH&,F7![KN.];U:!"_502<%$&_X?(/G[P9 MQL1[3KT]B/@G>?2W0/]EP'@(2>MTL\7EN1I=8SBZPM6B^^WHZ&11*9TA,P3^ M@B/G"5;?#,\VL6LTW,V)IZE=T#Y0D-HA82TJ^7UH/DZ1MW]>Q#T=ZY#>L;ZS MJ\+'E]I_H:[&$>")>'+U2AM%ZTA^F_Z/CP**ZY7#P!TEL;V[/\XZQSQ"<:,A M;W+L=ZF'H:<>QY[Z0[1D7]4\H/[WQ83TIKMOZ>Y-/2^JGJGM_ZEGJLKP-8&O M<#FZQ>:R="5T4JQ09-F6()%I/)W))%%7&3M*.41+C.%?L1>(JZ.RLA%J+4@) M8P#V)(UN.GI].HI]4ZV+;\FN1AD[/L_PU7J3+;(U@6NS%5X0)()"\61ZR5<-=Y M',].O:*5^]([-XW\!AI)7;=&OLBAHE79DD=K@.8T5_'C&_=D2Z4MV0A0C'W4S4MYUU7G4I@E#YL6E"R%VPX_&YE,$?,-V?2?96HO=I79IB!5PAXK4 M QG1 3H#V_>VAR0U-5>_*>4W4,HT_,V4,AT5DSJVX898KCNV M0(O1*)4@1, M)%L;TW>I[>!C37P<_DW5OH.J(=](U>)R'8YO%=GF;JT.FDF3")G<6AUNMU8G M'OVM3N<[Z=B/6NM_68I3 2/9B-U&?%":*U$X2B4RC_JD#"<>=FIGW#=_]PUT M\5OYNUB]Z&C:DY<5SW9<":&V)0!+LYU'&$L(EDZG$YY+P>Y26QI2$1&I-14[VGC3O)OF M)4_STM6PL2 /@1?L)-\E J<(;.^-*\E1N?1=*AI\:CWZW;6#FZI]!U5#OYFJ MX7QT2A=GK0]'B@[$2E,P2B7%WJ7C:YOT\SJ__KR[ MF?WRII$] O/%LT@=SCQRN&B\2&@ MM[-%?_S9HAD$&RHR.91DA5*E]" SD 8J@4CX@$(QF,0SN!+MW'@\6_2(/#H$W.Q4Q?W>%\;@OZ5>N40JY,9KL55D)]R%8^GBQX^K^A+>/_\HH>W MCB0Z)^O?.(:NGLNG!+XB1@@0-G<4I1YPLIY@XJB+N@^=\O>'OW,0U>!,(<_G1ZE9*6]L^U'!O?MG"BP5$")[*CNI MN6SXX-)#?]V8O**@'[NJ0&'74B8!#]O:7?LPF0

8U9= ] 2^;)EIP!-(:G07;*SDI'I& 6_6)@LI,S+EM6\0.N# MZN3JHB+Z19@B=GL&L$B($?ME4AOSA>)+5 M0I*F8X0T STM6W1TC\>+IA6-G^"C5@8748-;=$:=*5V>CB0$?=FT/"W.-223 M%V'&=HJ%LM2FG6S8=(_L\0PTH:LCK;>/P4$KK/-Q2 MNW.[-:W3HZCI"Z38>22Z.D551731KP^UKC[HZXNHZ0NHV%HOWR?Q0D/G?;]H M]H###<=AKWODRE2P6K6D6[S(S^H-D%/I=A8U65==G*X8OF!&^-I4;4] 59,N K[&PZ@\29.>KR<']N M*Z&TPJ8OR**45D]A?;P*RS!19XG6?$+D6>!FA3PS60@%9"&A>^#B%:>C,02U2C QP>0IW()7'!<. M8 ]Q.F[PHX!J_A+WJL%P*>]T#EQPZLAH]J:_K6KLJZ AK9'+%L-<] M<('''0-=4I.R/EM5JXO:P'%ZHY"L/:I-=N9:D*L''HOF\O4\Q8[S!2XIB-42$FK)B5P9$/AU::G0/!K+Y-C< L-\5A5:)J_;(X7@0&C9L#P:* M.5_2&1R=P6B[P2-@/K)4-](JB4^F:I81XQ9Y+2\)P@"E#E9(&"@Y+:74 I $R5"6$'&0(9# < MRF3Z_4\\P^]QSV O6),OZ5QK6!%$C80S>$Y6K7&I(6%[<#23O7*#G[L&:V90 MG<'XH#.HA%S<@R,>[4*MKEJS=!FWM86C\770"9ONP5$[=$WZW!O6]?(([Z2= M62^@HJ9[<-2R.::H9X0:"[DF9>D0HR_)D.%[<#3K<4JV1!=]4[!T<2XI'N5%00T5_YKNUXY'0RC9N^ ML"6CFA%JCZJ/Q5D_LU0(K&S,A5'4=&M+KN<6ZR?I9!*Y@_']^>1U-V<^V7X3 M8\8O?G'(_7DS-X>3L2>_8V#+]G$XCX'"#I0HCQ.Q:[N:<9-" J2 W)&OK"G= M!/&U@OC_V?O2'L65I-WO5[K_ =4[5YJ1<+_>EYZ9E@R8?0>S?;&,;@WCH$KD8"5@(8I":L0&B:X M#DE8!_0;^9(G_[VDK/[H_]_'@%9I]U_5-"=" RRG]610@ 1AX:?T+ MFO)\^;&3RP^M74)T_965_OM=;)(]>24@EZH=F_ MQFB=7;%/E&G_U:A!Y?T< 7/WNOLRZW$[W4V!1YT/7#?<8S*RYVF^]ST=GM(; MX?4EMH![M/1?2..^@L*ER#PG.2SXHS8=_$R^;,F M_4Z\J"1Y'-??*/YQW]Y_AOCM %GF/_HN?$6[Z,I*=.E(8.M^%YQ<$L,OI)X? M*CLH"Q5[!0EQI_2RK:[+:+"$]JS20.5.P!2DBJ M%'H;?H5M-H*F2D%SAF[:&ZGSD%$U1;=DT_OO T(\9(ZM6_[[H._\[W9@J8[_ M^/.'C"U;H30"#YG+\NH[P!]OJ^!_PB_P\7Y>=MU]*,8!J+%_R'CABH2_%3[Y ML7)+8>?5YF"B]!= 8#@IK =TGC=MM>K;GU"&Z=\9['^GF*FJ9OSJBQ2'>:![PAB7DB?H& MF8[;XE#NA(BF'WX0:); J!<0G?1H\0^OH[=P7!_Q-=?*Z/9&\WSK;R['_=NA MY#L0YXM9H+/P*67!7_\RN_D;HS8:+,7GPYSVC%RAUJ\RT^Q5U'D(O MW,0QC,QR+/:^73R5I *O*.$;^U[&U10M]("FII;-V)H/^C7(INEL95O1@.PS MJA-,_5E@9N2G7PF'_"-=5IE_FE'1<0N/\WF20/>G ![)\C]UIAEZA9).N^YB M,$!6XM#2*ML^6YWDAMN''RR'QK0E(FLN(Z'+H>?S(A*M5H6S^G4%K>T\KZ., M^K.5%HJ(HXFXB'0[ Q8Z$A683C941&^E*:#NU-S#./A>F*TK9$>AQ_HYVQ@# M>5/S_X)S:@) HYMF1[:+\G]\EQB@.=*$%GZQ=T3HCG5K-95P R= MX$]MX^]#<[U9U3V$=':BANMCZC ;>18'VFH 1HO,8F3T M4BR5Q5$.4AV0ZH!4QZVHCE?PB]F'LN2L2DMCF!=,.Z1&1&@XJ_"5]A&1 >J"5R#G&:7Q8."3-J\ ;OY7IB".V&F;LNV'<8OP!)^F M=LJ6R$*_6:?[ZR$:M/2Q-IIW=V.Q QH @[0'DV7QMZ4]( 83O+/##?S:Y,&[ M,+CC&G-E4.8:Z+ZWZ/06TL ='>8 @R!9P65Q\J6BN=32!N$S6Z&89#_\C(RI MR9Z6B?0 <69($/[E2!S\==>'T0=D#Z #<7X'XBJ-FA6R9DRDZ'*!!<<'DJB2^!?<"A!X$E:6QESA/"&=()D!?Y)*^R'OAS'?S M59\E T&PVOA$J-5*HW5K#N <.B-TEF;>Z8LDS>4H.8ZZU4T3!C%IZK9(N==R(C]O #H[($^M)Y08BW5.S@<*.^ M[D;] MYZ=+$]')0L2\!I3ZJ2?6U.S[?@7>@(;PQSEW4%X3,K=KA,TY)-S1=VBAD $;Y@LD22S?GMQ9X-C6.+8655Y_D1#^[U M"UT$',]B* UI 4@+0%K@1M[&!V%=#734P39Z0ZR9:%D0VKZZ'&T!K$-/!">S M%!,_$IDJ>J"@S337U=2,+^]>JI5ZNV7H841-2MDLQ[TM M0P'-P'GHAUOCX3;TQ*UG?6LK<,&JAC>: ;2A$B%+0&<[4;F.<3C98/H<3N\YRM0P(0D*#U)HN5)< M;Y&DV5\GX9+4Z7]MO?_"D[].IN,\TT]F!/R9>X;K%3Y7J5?Z%:&7X9N%3*_? MRM?*K7I!Z/: %##FWQFA(U;ZX_12_?UT';.IRI'VZ=OI.8.B]I3%J^0I5XF_8!Z#RIC#T^ JUT._94A*U<_SM M[J"5O <=YJ$SELS]X(PYLGOGU2]^NTK[")47[E41]N7-WILYJ*7JU;V"Y5!N MNPW?*>HPEL6QETAVB+L$;65GS'?=.^PN?P_*Z[CK+PW&:E1QL85K=1:QK<6" MF0/!70&+FHYFSZ%=(*B)'8D'#^V M)64I6(>;$MKACG*O*=_EWX._]9 NJ"M]Y0FZ5]W-644QV[,(?U$?4>+%.X;N MA7[XL[_YL\T^$U4;8?_^Z0BL'!=( 48MD(B _L0M6IT_F;7]WXT:GR.J:,GT M&&.]4PERV$)W?%6:8AGR$) _^1ZO<[?@.>=4-]O433?$7%_ M-FMJW6%)97B 9]!8-9.FM\ISPM"88.-=1U94=ROAY&-+5!QE("4! M*8E[A.+EMOP/8K$M6/,BTV]54;QPJ.8=S5OS9H3%Z [5+/MB?Z![H2=RNFF& MG^9E=#NC[13-\S+.+/0/%&=NA[_]RU6 00SLD 8[I"7;.UFI,^]E<_@$]XHM M1&!OS;I'?'=_(OZ$J6PP>=5)[J=LS-!7GYCMN MC9G;\"&WGO6M+<7YG:=+F8IYS2TW Z-""-J 7^N$;I/H? Y,142G$,1+ 4YJ MZ!2,C3[@V&T-EG% _N1.[<[%^),WY8\]>^@><@2^0!%W-Q'K]E9CG3!"BSJI MD5@6>[$\#"(/LB6I!=[EV)(W(:\RK;M,8S7="+31K#4&V$32T AYX. (X"GO MDAL)GUEW[#GB:ZZ5T:,V^N 2&.W%TZ PLH&5&=!%N%BEY\_;++27VSS+FP6W M&W.E JKEZ^T^:0ZY/!<&'DR46LE2* MY"EB7 >LR;ELW^E8T'T1#='UMA HM MO& )@X%)EE9;@&;0F#7+46FNR@B?V7QV XWS]PI1&,VDS7N 3D(2RC=?M"W% M3:?0E(1V1^S9>L"NY]NEFP]M"WL\%D*A&&05(*MPCS"\>MGEBSA4ZO7%JFYX M)%H:DMU5>>8>S.HV7+AT$)K+. =18)]#X D)\1 MJB^:.\ZFT'E[M<>$TFIH>(=*8Q. >C/N2%#0^-O<#F@+8"$%+*1(H ?T'ENP MHE=D,&NB6X$F-LNMWYLW'3FR!<[^JB0@JW''#@OT2Q+EESPS0R>,3V#Q MRT-'(R0!R55\M55>++<&#]X%\!]8EJ%A6<7'"9!;*_5%"9);3^[6B+U*6<8) MR&X17;#(8F4MR#ER7>P.NEH#W0+(AOX"1611YJ56-FGF2O*.9>F^I8&6W*!S M%EB3\!,U6P$--/[9='PM@Q'_@I$2+,Q(3\[EYS3A10^P#B%EB8J_ZF[2P]+P MF3W?48R%8X8^C/=TTYNV#H!^0@U*,[S%K*K>1);(FF\,]_:J)8+BE.,578,,_\L05-I%M\1 M[OV<1;0EM66WY88AJ:^I ]D,M+;F]L"[_HP$T6,DV)1=5ZIN:+IB#'N2$7"U M_FR&+^05PX?"OI@8WA7U7DT.G;[10S1I4T5E:H:9DU' !M;VX0?Z#451[-3Y MA#^^D5G);F8#/B?[5K;@472T:BL+7&WUT-[@P+L-9[JQ^YVK4GR_"RZ2DL<' M_L)Q3QW,C 0V:777V)1BZT*PPCMU9H*L$*_SFN)\?.Z7(TL^,'E4W7?(/CF; M"J5^I; [4"9AY'E0[Q5JRQMTY3C[C/SS4Q*I,XBG*4!T6\=5/ORQW7O@>T JX1^XVIJJ#4ZRM];G92 =P4 M4)0@W^78J8YMCU-X?T!GN4C)6^5QS+#,O6RV)W,6V;_J;B8TL/VH$ AM9A\0 M>KLZM',-A.V.YLF,4,X[ M<[Q6;Z/S(%",P!EA=$W%N_W"]N$'@WXTH/WW'X%+^I7GA0!/;Q0#BVTII+'> M8&,:4:KCPBZT-223QA$1"CJ):$U;C9KE5RY,S:W$A&UF7_I5"6$ M7()XBCO*1*>\./<-D-N,EJC%%]J^F)].R2+J".-\CP>0HU^&7)IS\7SX 6 Z MLAE&G;J*Z#:BR"O=ETU(EMY+FN,KU..FVR'XA<)V",**G3]"\(21Z@\4=]O8 M=THHS=2D8=W0#_EZZ!=0QX:J;)8C8#?WN\U[?(7JY)0[&F^'LBPL>*I%,*Y0 MVV@%?#_I3I1%!T 9=&A%F2S&O 3E%&1"^JXF>X&[/^9",K(?KH3GIY#4?IK( M,P;E-&VBE<9YJ6R/T9I0"P[5A>\V^>W##R[+W0^9]%9A-/>ZK=;*.=(83CAT MNIN1-C^8 V%0)RBD1_H1,DF02;IVA77FG^GR%G\#X-^BV2&GD;O G+@HOEU- M!XA9I3MTN+M$G?WP 7;OLN,W?X MLC'TZ8HV7O0,;K$%@ O=.8[.XB=2__^Z$Q))40(K,$%Y1"CBF:[H/@PY(7L$ MG8 +.@%=S9=U6U,%V;7!'5_/,%@X0C"T4>%>,%:#^MQ2-WS-%375K5I\ M#EV-&J&QBEKMH73 MQ#G =.B ,*$#!7'6KG:0K,]?:-E3,>#G>E@9[JD=Z9+ MH;?Q#'E1E\S\<]P=;P2IA^!K:GYKUI=W+YDIK]HM2H-&@ GX1FT-J]M*?]H. M78^H=S]#QRLW(2D!.]M:W-@*7\Y#>9 4:%L$: MM1&Z$X(J$@B3[998'SK "@#?AR"S%)KFBPY?O0D@*F)YG]=S_V;M##X,$0)9 M=8*IJ=W&?OWC4E3,#29V:Q-UC5L">%M]D[TJ;- J;RYZ0T&OY^Y6 M(J.K W"&RN+X2XW((8K?XX/<"8CC;L87!/%5+@YX*XH[TX"O]AG3$??MNC9R M6@HCTQV 8N!UL$R68D]U$/C-Z_A?7P[7[_+@^S60"7_X1BB>76<4+5Q0]_@= MW0X_U_\>N32OO7?4P@94<.O*;RULIN$*A;_1T[2,K( TE&SOP9%Y<)V!=W3^ M?2>3=\!'>9H*OHK\\BAY5=1MV5;TT).*FHH<[T;X9V#+@1JB4/U7PB1Q_,G/ M$ -_^S+^KZIO?OPG_./I48JIR2ZP.8M___Y4 GSND\5!_]]%[,;CS!\GBI// MW-OCK(EG+QW]^7__S_.7CT=NC[;OV:P61_7 (S,XUY"IJ\D&(L_"#_XNFUMY M[SW.DL6^43^]ON\_[2>00X;]AG+_+Q-]&9I?@HK$$9.E)>^09Q)[M+J(J$N1UUHI?Z(.HA?Z_(?.;-P@2G^GWXK?\LV54"V( H"EC/CS "J?0#>GSHO MOT7O?U^V4\LA1X9>DJ>*2G.D)A$DJT@D3JK25*%8298Y1F%F-$63U,/Q4\^S M!#$+]U?T'!>F72AF>JVZV*^TFKWLT>Q5FOEOD1".D^CU^;[0$)K]7JN8;S7: M7:$L-'N5@5!O]7H2S>$4@=UT#OE6LQ"^D5#(A%^%DZD4PAKTDSJ2_*N7VUOK0/=G[8D?#X,REOXE<1NH"@/5Q@ MR#6U*-*;>3B2BCVSLVUK?A2 S[+@MSKSPE/-/1A>2X1$OKG2+J-HXNJQ$\-:X3U M-:R/8;P01KGQD9:-E+=JB'(4P8F&6!_T2+(6>M+QR6LM2IR3S>8!W0\$?-,^ M8 Y1 \^,3;[!,.&6.5WFT#7?GDR0Q>J0[\S#D;')XS.\A*RJS9(A^W6A[;EF MN=X!SXQ/7G>6O;TTQ2QC38RF);]7*L[DK43%I]2F?%ND5LS"T(W1 "UT<91C MMA)]8O)46Y 0?!((3'@IU/#8T(6$YP;[V::+TLB8[>,U=:U50F7& MXD.=KCI>$JY."L%00"JL.&,'/@^"LMA05&B8?K'EJ:C<(VTWUZ@)RVXX](2: MM*=[W9B%6H5:\XU0J/:&JZ8=#CVA)^-\W>/T?5M :]Y<\N>34GD2A' Z(?]N M985,&I1.HGE+IPU"G'8K?CBM$PNP42=YN]#QEJB.EF MVZ5E;Z?H$&UMJFZ0K\AB-#2F?\M)OD!-41\UM.)&612MOE69\6!H3 ')15?C MS=8(,X).?XSM@F[0WL_!T+@&4HZ%C+HC#!'7BE'"N&9[NIJ&\SJA+OEZO4,% MK=S:*%4'KIU#)E5S$[[!"7UQD"K7W37Z6U'NC[O];L<]L"8?!MKQH;728:D/ MEX6B@:![KK6>N73>",W/"7W1C'P=]Q3?%GJNTA3'&V3:RX7VYX2^--95EJ7F MX@8=SAML?N$-/-2-AL;7H$8-QH>*XXC(J5Z<1 ]-;X&#!F(&VQI3E#$ MS0_K>\SNSE:AM$YH+-U3JH7>]OWIB^>;.(A&'B,1X$8K1_?[]]#G M&0/U&/?$0TO???K4QZ=AQPW_;5D8@OR&DB_QF<\<_V?/=\)GSDQG^^0;//T= M 6S;]V.@")K?OQJA/;HZS3(-#LTR&5*52:,R@-^HU,N=(T=?M# M.@.M:CH C=[X?6@3D"HOY7 N/K*GW^UR=0O-OJJ[_*A!B0W<6I>FFI7VVAVH'G?_Z;< M:>T[JR*X1C^EOUJQ,T_V.MX9U-_KZN_MFX]>2W_O MT?B^G'RX>^5].1MY3\I['7\9ZN]U]??EC-7M]#<%+"5OR^8^?"/8QCBA;LY9 M.FKYFYT1>-WNB>M MU)DG_81 (\H[2.JX3.ZV/7V YK%:V5MX;;F+?N;>A"@J+KJ.!0YO@QD/=7^1 M#[QPS32W8BMF -:"]SPM_%<]MC[]L__&8;SMSX=!T13RA-:M3I:]BFF"$WY1 M$YTLQEVDA\X-8A4(ZM0$'5<&-?HG%T)IWR%P>KZ>(L-; M@YJL%NM%BECPXKZH'79HU:6G.P!J#'_X0>)9AGYGP]W4I/LJX3+/W:B#W%C7 M3#73E:W5/9'+">*QCF'(K5/=5Z8N'YF)6\\Z =;S(\S%+WA&Z 3@?+2C8[)K M=[Q%KB3BYJHLH;PL"]JM[:C86"_V^J990DN'1HL?-Y:.@,TE*N(PL@0=OP'R MSO*PT-KGQG8E: M:O9EM%?W"&Z(S>Q!_=8\+HTH@FD-2='8Y]0M/3*[N: /.B5R#S\P*HNBW)4] MFS320=#RL M=N)0SR_%.C/P["&(HP ?A>-9#L//=P'4+6BGXYU/[F,Y.4QYW5L\!TFBLY)$ M6VP^I27#XE"DI0<+K3!8.ZM;&ZF*N]=V=8)W4%W<4KF1/UA16$>B([*'RU)O MO*KR2Y Z$.N0HGDC1=.@_&*EM,*)2N375XOMC1H92D))ZA<8IN?D&>;6 MFWJ?]MR*N\!JQG J-BRE95P$NJ1) MU>_/\@)=+.^I9D55A^BM2;"I Y:!IK(TP]YI MU4N2R,PO//6O?J3X&D=VDCK]=,;Q4/53=)H^J=/_TB;_BQ]DOL;QCZ1./YU1 M'E3]%)WA/\_T4Y! ?;%-5][Q?"\31K 98;<"=\7_O6'7_6]=R??,SIU&36*C M#)CONV.E2WYK+&CF;N^-G#NQ=%<:ET[?^&LI78J:4*6&B3^ZJL[LQ5I 2+RD MD7"\VMG2+Y!5O$I9(,!B:_:86SR1+\RM\"K6?B! M85F40>'Q3@CH%"0&D@/HR];^O0;HNH 6&CEM-A+7P(#R;KGAJQV0_ )@ODI]WZM@5J2QA@KB%I7G:REH"7DF6('=F7OX0>!9 M"GNIF R"@4Q "WU41WVN WFE-D5;K/BK6JA4Q%^2Y=B<_#]\G.@1(9SG\ MG4VIDA;[=S5/DUUE$66JU% .IK.R--N'!&[:_'\8M]_V.-\11[RM%GZAZ#'U M>\*PC,G-&F,;.=30U$&5'4]YL5?J2!@:!?)HEJ88>'+O:\(21M_G/'GW/E@. M.^ZDAC;)HH$[LVVW5G&6K,$#6$;]C C\;0X\W"F3[(O#&/JV9^3>!TE[L)P, MFX-RWBCYO&L=)LO)>A1!\C&HIB]R[C6=L?/7@B6,A,]YG.U]L.S4A-&*'):; M1@NM;S"Y1B)(GV!J2H>-M"&$[@ M@#@@,'AG]!>%)XSU/Q_KGP&>+"O*Z(%V5&%8+!E^N[K8J"4>P!-< 'V99II? M8>M,D#L/ _1;!.AGP*:P%NB#V#-SHMZP;&VY'BZ=[1Q@,PS1.1)F]K\H/&%0 M_?F@^@SP%*5U:\.2E(G*?FWER9/N'IU%6R<(JRG\I;M$TYSA!U<5N9KG1YG] M8Z2M';F'S#]U6W$L[5_9C*V=K)*'60%X;>I]7M(,+.$_TQOD/X&:M]7(#CZR MB94(STW-/U4./*MW]K0S%E&Z9%3;A[I-TW(8V1-1E3X7#QW^!2L"H%$X?\7 MK6>= %?I\BS#&^Q#*(#PB2<,Q1*G^I->7]11RY/<-EL><87Y%A@*^N''M>]< M_]*>0XKN]_@ZMR!?U'.X/,?Q <]AZQVVXKJG3T2ZL#NX>7*=+X': R(ZM<#% M#<*%/8*D4 M,05E"R_VR*X[GI>9:J&0MBV[.XKOF9Y3<<&,W"=J/;J MR9:]9+/:5L.=%Y5UV=#(0)NB ^;@;SH21D:T2)9#W^C>? G^XVM!^O9MR"\. MZ:K@1I&>V/^P*:*&+(EN;P#!YQ!,^#R -"(PL3;^1ZX1;]'TE8F_?Y#VE MQ,&-\3R:#FAOL'0+*#U6:B.':=+KQA;@F0NW:#S+$?'3C.?9H]/(-'PM3-^^ MA_[%,7W98PHWPK1:ZF+KUFXZ-UHK:C(Q!4[(5R*W&U %H/LW'N\6_*][JKB=TL:6LA'RC1WA/2IPYP-9)?+ M;S>$J/>K5;,X&W1]9BYA%. <*/2E-JRP$@,:AB]0B7$OW, BIA%8N;8ULC MR'FBA7"-]MJ(O 5 ?V0I\MJ]G-+(BD#3<-?U%_?"P[S+7^BWA7*@;@@&U;Q< M%^'&F+%>;(%A !P*F<5.='E[F4))&E/R8L5%4_,SIN/!"HL4QSK_.%_QQ:WG M==?%&2'6?A'%+]FD/-_='3;=P$3WPVXA1P^]X18<@J4!M8%G231^%00LI_CR M^(5LQ(79B#?CU^M)^*HZ-8I"K=S,U]=9*?@GP M)IPU2'_9Q9O!RW.R;I;1L83*[MC0%"98>4&T^0*F@,R2;/S*%U@H\>4!#&/[ M"\?V;P:P3JVD[5J;=01$E-JY_528X5P$8!#1TUGN1 .V.RF*2!+']X6G?OV* M[03-_DK'.)(Z_70&T5#U4W2=0U*G_Z5-_M4+@!,T^RL="TCJ]-,9N4'53U&_ M__-,/^W)RN@L?1B"6BM76VBVIV]^'A/_)TAB_NL[3&,FUU&[KX/BQ]F<;4[I M#!N^EM+=_BCSF97N*YBY5!_,N_UAV[.;N32ZRE]+Z6Y_&O2TTJ66F'\JM\[0 MT?.+CAMZM79&"5Q7LY5]QG=EVS./%SG)ZC+P?'#3MA^[^K3P)>GIM9WVG+XF!?KF#74)YA<4%H*)7FS17M:H]$OSR6,BVH&\?AQ M2-B9&IJ5-&=!$G#&Z2I5A]>V,'\:%HZ;BGR9DP]"K39S/119V 6=!X:%?OA! MD?!F;,BSWT^*Z:Y+(!/CJUBM+F:04BV/]D9;IK$4Z+[K=H!)X4Z;%-@+&YJ5 M-*?O$N"K7*5&\]:^BJ@W98)FN@%J574:%\9\=3V/@J"H=S;[SNO)DLPBY1>R M/0?ISU!#7"U\P8.F1B[6BC.\*^^DY$WLFX"J2'A(B)>**]P;:=^QM.4 MP-5]77N59KI_#RW])\C.G5J]]>028"]ORAZ)/R%==DP@WI*LVZ#NO67W?@*7 M=T-MM^?A&X=_MD,Y.NJ3U3S)#XU0:X1,Z@)B"AM*#70;V?/AK*(6W?!&DAH7N6!$BGX"[E"%()]D";0$\ZIH &N62 MMH 2.+$VP;P=2KN%*<]L?8&4(EL J).[;2/>=WS9?+S1_87"23,?=;OP.LZB>S7#DDUVS/45DRAL2ARC5PM$1W0HN*'2MR*%B1 PU-,J23 M?*+G2U3TO-WFQ,C=/+*=!6I)%/>&.UP$2)/93")3 VITB'B[0.C/?)7&Q@F2 M#J21;DFXM MG@3X,S>EJS[NSXRG@P&O;"L;8Y^K(SNF-E#7V!R8FJB.AXEW8$Q/'<^_7VER M\)L@86_VST9Y1 A[U0E"?4MU>\DX$72#B=TU$W3"@+V%-Z]W]P3N86T)I0LM MNT]L^7S>#+TB_-BKG29PV*L=XOD-?,O7P_-E698/XEGH5EJ$)JQ= ^_KIC^< MELA&.<)SU+L=XRYS]\)7V)SC([IK.K#0WXRUD5\MFIK*G*YDP5,VH MNAGXF@JYU*^=&+F#1&=!W^BJ%A$OD99[$ELB:;PSW]JHE@N*4XQ5=@PS/W.V ML](LOH. $637#N7FM36W!UXR!X 8IU[07TV;NDQQ[\WIH;#65SMO;_BTU)U+ M. D2G>@W](T=)K]$R 7A?$=YSO/ ^=W)S@O#V=APEF -S0':ZO+&% TV97G2 M 7"F(SA?YI+;K[ UWVU6Y [2G)_$\D=SG1?&,E7TG.:V[J[H:LU M(BQS ,L$!Y.<]P3GWZ2 >)J"Z#OD*(+OY>A_DCU>L+KG#MI&2<57%5IOUZ7Z M_,_?_=0K'?\*'A1*+-1L\]_/BUD?O_4,K:8V>[1%CVMSKB6ZCWSM>2S3NY.V M%[9,:D-TUN-";8E:;;#-U8"T&\^ZB,/\[OWFA"Z;(_Y9/$U&>Y#Q_,?B1M:M94%KK9Z:&]PX-V& M,]W8_:K= M:'0W1E%LM9GVL7_:X[&>Q7FC/ M*J5:7UT:ZV6_)_0"O=E:15B/NKL369J+UV_^P5;\;]2U*S$ /;L.*5JXNN[Q M.[H=?J[_'6-??--G)1"Z'SY$^:T$XK&?5T_3,K(">LO+]CY<3=\#G 4(E_"IJ4A?=WU?4;=E6=-G,A!KJ:^!>1"_SS\"6 S6$IOJO\XOC M\V93U3<__A/^\?1[BJG)+C IB\>'_S08X$,>#0J*_K^+F(7')7V<%4X^NT7Q M.$7RV4M'?_[?__/\Y>/4Y*-I>S:KQ7&U\4B;[$T&\$%8DC)DM+WB'/)/9H5!%06?/]\=>> MOA<9Q._18_^]4,B$7X6SJ13"-RYD?KUXIA7.\MFK T.' M,?_.'*=PM>TG;I%?:ASYV\8PO=XF^7TD=X&+^.;)K[TFQA3EMH\0,S&Z%IX,%%[IT$L;^.71_ M\$9>6^A28@M'.9P:H(-"F9<(B?ES9$D^A)_H-?JH3J@,41QBXG0Y#T?&'TI* M-JN7_-)4E*M=ONIHB+T/P$-Q[,^AM3TKH'J.Z@BU34=%>R4+*RKS\ FQ23ER MO[V;.P=)R+NE9IGWR-F"VH8C8V]J=0N!1_/=C;B?%572JPPIKMT)1V+HGT,7 M!Z?N%=:%@8$["C:NYV>^TN+!4.K/H6NBR6)>KU]$>XR-K-W1EA\4P.?'YU^; M[/Q!S[()=.]V*MMEP%J*#8;&Y[_N$+6@N9=S:,D6=UZ^7J27E:U$Q>=OUMQ^ MI])2"^BZ(3A>_="@*+83CB3_'.F5EWF.+9"V4:IA3*G;KYO$F@]'QB3%%?)^ MP9*"B;"7U\UA4*H'\AQ\>EQ2G.CL>3;75L5]#;=$M[-WV%8T-/:F9*7>]1M* M?66T#DI^J=AE>C\$GQ\7JJ /5OU#84H).-/88F)YU6HNP*3B0L7-=5^DB8*- MYH>EJ;[WZFJE$4DJ)M0V7FT(:XFW17VW042RMBPX&"_14GS]UY8_K(J5AK%G MJZ:^L5$E;X&1,:'21,>MY=?+BI G)^OA(B />V0;CHP)=<462TNVNYNAZ]4! MFSHRLI-)\,RXI+0&IM;:ZM@5Z85@.U250VBR X;&)-4MC>A!T,1; JTNRB31 M<7C2 )\?EY1B-CUO5CG44&VGMIU6?;@4MN %XI+:MG);FA=W@6#QHLS*^FZN MBUN)B4NJ5--&/<<67 ,)9.3@3[O%I3 /1\;>%)-RJ]9"+2Q$S?,I95&H> 4, M/#.N5"W-;"JA< P1+\F41LVJ8SD/'HH1?PX-IOB\JG;UFI$O5 ^+4J?6;O = M,)3^<^B@W<0&&-_5#8N1Z2:2-]M>*WH![L^A.R1';]IK?VM8W4FI$Q#!8!F* MBHW/?WUH3,:$ND",M3'+[]AM5^Y6YN'(V/P)#.%QOCAEQ/V^ZK<(P;::0S R M/O\Y.O0$1^76Z'"%-+!NBQH>1N#CX_,OS%?^O#5KY5%=%X21Y5474Z,#AL;F M7S"0'9HKC2RQM4+F$Q]UK,(\>FIL_JUUI:US2U\5Y1GFMC:M$FT/MQ(7G[]2 M#-3EK"HP*,T4]S8U"CQ)X\.1L?F/-P=268Y\"]VOF*58;2-TWNR$(V.*>JC5 MQ]O:9+HV>D(M&/;8R;(M@9%Q24U]KK95R7I'T*GBAC@03;G2FH.A,4G-)\9^ M;XBL(.2U%CEGL2'9M:.A,4FA)43NM2EN;.#**%?G:60CD&#Z<4GM960QIGB% M$/2-Q7"=TJ&]%,%0/(9JG1K@W8/-] 1Y7U%I5FGF"](\G%1YA'YKCP%;"X#!J,S@]SE6&(++%9 M*HHMRSG,MF!HW+24#"2TI]+*V _V^FS>#?1.,1H:FUBQ>R"FC8U)&0&ALM6Z MJ^V:=C0T/K$=O6PTZ(HZ%9!62T#ZE5*O%40O&Y^8W*=G]?RX73?T$6\VNVZN M:X>^#8;')W:8;TN+ ]G"%)I=[?==30TCAJZF&]V/$2KBW1OW;#A3=!V];5Q@-=DN=;INIQMN!CUM3(['/.>& M8XFX$/2#VW(8RQ@+^<%RU-@%C'J8\6!H3 AUK&\I&Z)D"GMJY(2![8(;SZ.G MQH3@,,U*#MM@@A"PV+:T,WI\T9^#H7%%*"ICZE"9= 6-J.>6I<$ P_CHJ7%Y MV?[N8%?VZ,3(!P35W"M<7LE%+QN7UZ[90Y8HNEN*EHH&G:JU%2=\^ ID7 :: M6YT1^0:_%4L#ZH LUJ.6$>Z=&!4?*NQJ-.5OV+R(\WI14\5*H3#>@J$Q&2!= M1J069AB%:HPQE.NY4FE@\F!H?&(SU5TX3==@1+T[T_L;7VD(FTXT-C:Q%N.W M*:U$T 8BX':G6UYO@^#XW)@B4#/%K1CD7D(1Q-G*XF;(3H;'Y\:0X[6--5.5 MS:&17W*;VJI@3B@GG-H)MVS7'@RK8WS>%'JX3VF(:E([O$!-8?CT=USKNO(_BI=6B/S7I_FP8/3>^YRSX!G8PJ6I'&-+; M];PNMLH60.0)3VY<< J;K=EJ"OF2Y0C=1;7/%'@P-/;4D;F0BDZ-V8N6IR]' MUD&Q6@!F)[R^M1!&4?T:63)*I%]HN0?#5(AH:&P=AMU:8UN3*,HH'9P1UY]O M2-Z,WC4N+WW>K5)KT:V@:TZK^P73P:K[;30V+B^;,-;!:%<7UZV94+%'TL1: MAF-/>'.>Z"WS[=)^+K:0P\(.[5._5NN H3$9-!85K^X1U4.HBT(Q5V6K1D6- MGAJ309LC*&YC;C"TY*_;>X[(ZT(A&GK"]2UTUBO%V%=0&A?R^&R,E%4Y>H.X M@MFDOYSKTQUK]/:^Y.:VSLRN')\;$YBST+K5[8"V#=WUNK3[\.=)W#05H,:FE9IQ/"]:&A<8%[# MK->*Q9'8$ZQRHU]H8P;= 4-C N.D'<>BQ9V+ZN7)8)77JBVOMP5#XT$-Z_6H MS9)#4)EMX=WF:N807/34N&SSZQDQ-@LM7&RAW3T6( C;'QS'QF2+,7ERD',5 M7I#MV6S"^IWM=CD'EQN?,*+;+2VR:-VTGSOA\ZBX=H:'QBJR*U*P0S,D3. MJ$2H7^LVMN&0-36K4 M+2OTB$PI:LD;=UES9)%=L$'/6*_Z?KV ](L-)7IJ7 IM7V*KUESJ&W0E5VTO M1NV&JQ\[_<:D@'KK14X=,W["K0DTI\K;?F,AM*1\;TA648NW M.V!H7&"UM==&7;I,"A;2YR9#92"56WPT-B:P!5\DZOZ4"",RQ$%]!;=;Y77T M"G&!=11G)-2W1MGH,8N=6'5H9-H\CHVK38,_,*8NY(7]ILVCP@B?C1:1%.*; MV2#HXGV%K="H/IY*,Y/%)'L='0V.>VP[FE(G"+Y#>[BD$&1S8AEBU'HH]M1- MH48$XG0AB(A3'=,-IJ +RP<&EN'^H3::Y5#:R.V%C.!;>V[U8")NB;$UJ$> MM&OC9;=NA*%\IX@>F.;2UJ*GQN6U'5*\R-71*2J7N6G/)X.!&)H[,#8F+\L= M:83 (T-#YSO-14#D[4H8$> G?,;B4A2\?*?,H-8Z'+,9.WX-W#-S@D1L<36A M3,TPQ @JJEJTI^6"%41/C(ON'T7=QO14^,*UL /I;(D MN931X_)U$0^:G"A$CXTK6(W@6IC">%-A[7='MCS%.^/5\;DQ@8UQO+>T1JTV MFM\/O::@K8B.T8G&Q@0FJ<[('BAC3]@K6AA\*;D\ RX&.^%>KG&+FITRVW&(MJEF."^"??34F,"F@B)LEO6#@^Y; M^[%3#HP*%>Y[^ E/E"/%K8970CCT>G)EBG36OLT>:RYB+]LTE/Q>&LURPGZI MYR6C/];79/0&<=FJID302+]40/8@;C?[ZCQ5MZM=7!2GXESGYMJ0ZW4]JR)XM2<^_/RQNP;Q0; MY.=3Z+/_\[/E.^,R9Z6R?RY<('"Z]"8:^/:\W+,ZC\^6P'TC7CR9 !?B M2@M!?\,@(I*P$$<3!Q?BY@L!=BBX$ E8".H;]^)Q9+@0US--<+-.PD*@WSBX M1R1A(>AO^(OG[>!"0-/TM1:"^L;"S3H)"P$1D9"%".,(N%DG82%HB(AD+ 0T M38E9".B^)F(AF&\,7(@D+ 0T38E9"/+%[A9P(:ZT$-PW&,\E81V@94K,0A!P MKT["0C#?.(B(,R[$FVX)F47_O'A+R*O5-=<31QCROT,@K[53?GGN'RUQ2;@T MPKF#;_[W <<>SBT:AOB&$7\VP,)6NTS4NN<6_:].=;EXL0U#4[>U3"/\_L++ M"+:JJ9F>MO(UT%;JV-2#0!^[>X#6=3_;-$# 07#JO M55M=3U=N+XO7"IZ^DBQ>JSGZ\JA)B(6]O2Q>J\7Y2K)XK1P&H@9JRMO*1*"F M0$UY6_G$5Y+%:Q4,$#504]Z6V?]*LG@MN0Y1DUI-^45.GIV;Q-!OU&5OBF,_ M23WRBA)8T8UQZN^\(E22"].+T+2^,067)M,*V7C(QD,V_M:^"(SU(!L/V?BO MXYQ=T(-GOEW63_NT_QZ^#J@:DDWHOD/F.1G2@9H"F6?(/$/40.89,L\0-9!Y M/NVYMOR%YD*G]3;JP7W#+TL,?%8[^H[_9T@#N57(K;X $O+\-I2,%.6&)PL^ MBZ*\8UF.?3PZT/,=Q8#V%M)(IQ2E+>LJ4K&A>MS,TC!TJBU-W]5D+W#WT-;< MW-:PW[AD>_ZPYN3F.I+\\#!T75:NMM!L3]]H4$U@F'A22Z*-9A%^K;G>X[WP M,&B\AZ"1?II&75WJ,GOTRBG&16I(4:\/5MH\D*L-%K021 M;DX(;A^7)'A2K!@%;:8K.M2,2]$Z*5:-NN/!K>1"/$Z*U4)8![J__P"UHRB: M=G-J)Z8/+\XU)YNRK6A>-E/0E.=-X+!?3>#0MV/D90DDORK@G#5F'Y/%Q<]; M_8&.Z,K:9Y^7(<+_T.-_X>=E_J/OPA>TBZZL@-+_3&#K?E>;_?=!#+^0>KYL MJ[*K2E[DETNT:BL+7&WUT-[@P+L-9[JQ^YV'3'2C[N[XB[PGM682ADL$)@'M MD@(/FL<._>OQ.]Z25.O.D8XU!1,2V M\#GQ[*IA$I MKE1:[%#?K100$3^@"WY5:@YWVOPAHVJ*;LFF]]\'A'S(S!S7DOW_/N@[_[L= M6*KC/_[\(6/+5BC8Q]?Y?@PUGGU,:"G#=0Q'$ \_;V]>8+-97NE6A)HW:^(K MU\_S)"]%-TT3=):E0NS\+L + ^D>CZ-]3!87/XX6,[3_N.1T+GZB[#)V0>P5 M),2=TLNVNBZCP7+J$L(&DX8&GQRC0+S'*#S+ 1W?Z(15P(R&7B&;HS&JS0EJ MIDX6L]FH(T67RM/7-@AP9[U6W[OK&H2+MZY+I4%X&O7KJ"*H-JO8CRSRHU%@ ML4I7WYE56K3RRT%UJWA:P^I@[5ZP", * M_#-96^H';<"G-])0/.%C3E@#J5-MS*H[MX\&Y7K>';4;VRVZ!=: "*T!G<4Q M*F8._@7MP77LP<5/U5[7'ES\8&SZ[$%7\V7=UE1!=NU0$MZC2>#V&S.'3JHY M0>MUJA1CHEA0/K-O_5>3,!NOO?K!W0^$7FEBHM56 UUL0.2-T0\_F- D$'$G M&YJ$JYF$EV](3)E)>.6>P2]H$9Z=M8@.7/]65E^Q%@TW-!"7+A3Z;6= MA@LW&TT813=NM^G9GE.'Z-X9[WVDFZNH9?ZRM)K7;721^FA0$6HG_4LMRAE>__[1Z(7!E\"@) MDR(X8E+?D8A';&)GRZ=5>S;?"P1]@/:\.NJAC!#XI=\Q3KT7XT#%-36<0/@Q M[5"PCGHD X5'=8X&M1^5N1WJLG?"$- S1%.M;5Y#6PK-#45^Q>65K<2 5#R& MOHT8_(+I]L1GU<]F I*608^.$.+GF-D]N)")3^:><2NZZ\3M6?:AMZ5Q2YHJ MLZ-A>2&LU0:JU]MK=]K[)/LLWR;3-^4 _/J(?7SSZ=30]O MG6F">GA6/;QVRN-L>GCC] 94P[.JX;5Y]3.:P[OFT%^)EMC9GM74O8$85E5= MEG>EFM%J?S)/=H8(QRJTE:9(%GQ!KMDZO:PA&%1PRH)RS(J-2SF@M$ M+*/[HK>U*OU5QS;*!)X:.X>#LU=WHZDB/>'-27W<.SK&ELC3"&D M+H7PUJUQP/ *4Q1]7;0"C6RX-J5S0B?<&MF''Q3-WM<)EYOL!ZE).*1F&5.U M'R0G17$OIY6@2G^QLS:75^D4I4&@2M_#69'+JW1Z,BI0H^_A;,,UC#1,SEPE M.?/6V!'KD1)+LE-;;.GR2J'& :]-(UH5?RUX3/Y)B('F^>$'@)2*&W[IZHJO MJ8\I&+#2)S,L*4ZDP'S)_>=+NC\5.1K&;T.1E%S'.W7"P2\%AW!ZQEZL">)$ MW77E?4V>2UQTPH'DX D'>,(A-9F.+^A(ICAOD?+T1(KT$-;9)W!1DF@J4%=:X)C47^%)K\^G40-1!?Z^)-+=37<[L4J7> MK$\80^_X+,X7"\WN9BYA:'0%PH6N$/GJ-CTY7.L'7>/[N\L@;?#GU67@^>!- MO*X6=4CN.Q^W I4B=SCTQ]696,KO#QK2*XX6RC:R L3##RQ+TA=J<_ZU+4&2 MV&Y89PV5]96))X<2AQ744%=?81_OT+#>EE"_@==UYH+H\_I,J\ :U_>^J!@] M-73H%B;A-K$.\)E ;?2K/E/RRZ.[VL]^[W\TJ(%UT6D!XMT70_\6:ATY$5X) MW\R-CC/H?[NR9>1SG6*!J@AB;6X$+C;%![MB"%X,U#[C5+QAS,EH!Q8_P^+G M)#B'L) "%C]#/?S*Q<\)=0>N2(B^[ C\N?^7%SV5LZN^@M8Z16Y4S-&+,3X' M^S](>YQR -*@[TFTN\G)=:2LKAQF.?X =71P^0G3>?<@G4%F*?R-Z0P(<%BP#QVK=.AAC$61415;YD1%>XQ%0"+A56\EQ><8(D$A4Y!L ?F% MG]F6C+8#7VNPPWVZ,A.WZ0B6>DX=-EN_"Q8>-KF#S=;32.@GF6.Z:K/U9_4A M?>^I[D;7=&.W;FZFN+,;?TOM22"7APW2\:P(""^ MA?='-C?I;#L2AH,>[426H-_6C"LU%@B>8($;">S2#KNT0Y6&7=K3RLE#E89= MVI- [T?+^S*OFN#UAKJ?Q-3!O9Q9N*M^[K<+3RNC_6;;7ZDVFM>$93?@E&6Q M-0?A*D;+6,Z'NS\'J[ U'%5S46.@[]CJUW&:2Y=[)U>/$G_?H:KZLVYHJR*X-V@@_ M)N$M#[%[WL8?";CA(]2V52W+Z^V'68[?8O&*K3B6UM3\UJPO[UXZT.V:4U?B M@J6$U@Y(CF_V^)S!\1)&2!C]\(/)4AP#CWR:>P+,CU9CU5@;BX)EV6AMT[1GZM1?U(L?+]WYH-60Q5VYI$FEF8@O M:TJMTB+J^T4GLAKMV1WU^QO!GCD$H"L!9O%<.I.SU7\9_K;([<:4(GPK4PU_&%.-F5;T;QL MIB&[RN*( P++'K\ Z_>?_YU>.M.9&%+G7H]>G+\A!.])K=D%&D+QV*(_.S@[ M4VBUVG:G6LAOK>+'XX=CZX=G'W.JZ35>6^RG!CXWD/R6S9/RKD9UPFV?!-V? M"#K+X5>OMTU]UBDUAUA2)(ND'7XYLQ>1%HL"/@4TB-1<[_A&)TR*E-O/E("W M33284,W\K,8V!3\R*=3##_J^JO=3A*"+GQ]*D2SN_-S1QZS)VPX:66TR-Z8: M@HW6K 'KL9L!K; 7MBCJ8#5CIYI2$@,A6.W,]GK1:V^!16$??I 8GD6)MW6I M2HU=@:>"$N.VO]3CJ8//N(-2(C!1VU?W]%2O8O2G+[)YV6$/"AK7H KD1LSG M6B37-@?*;!IA ;1KX[(L0]X7%%*TK5S\9%6*9''K$UF7X/J2;T!.[:9_906- MILVV\GNTA=:8*3IJVL: /LPC4P*NND'Q+(Z^L?TSM"8I/-26(EG<^C!<\JS) M7TH0%+%F\?P:M8T:2^,V4^IL<^;'>\J_SZ!T*[9$U7AJ+:R[='E&KCE?9?G( MH- //U@BRQ(HM"=W>Z(P1;*X<:/!Y)F3MY4,O)TL!,96]>3"#WF)W M9@+@KQ9&(+3F9KUQ2*-F5BKY<9O<()6CR\(]_&"H"]W-!\U+ @YMID@6=W[8 M\T]30S=T9[0BYDNA1FU5?C'?;HW\QXL-3H4VUB"Z/YSL>WG"X.B=)R(/J+B M5K#P!>L2DE9^ "^L@@6S24AAM:6=^-YN*B^YL(B*DU6S/ MK:7@%C_I8L:WH:A3^5MWH5)QK:A(I[5#:Z-@+1Y)PS:9'B9%=3#E.MADAH_IBRE!?40WKF4@%0(5$-XY](7H,Q?"94LI!=8**%\.HO F(MA?C&]2 M?&!PH'E^^ & 2'?#+UU=\37UD7@'.G"25X?' 2$3?U=,?/>GZD?#^&THDI+K M>-ZIP\6;OD\R>;MHU%:5O+:8$]2FV9$P&K#Q&!9O' #/#][)^4%X"1;LBG]G MA]C@)5AWH=+P_-1=+&.J+%-R&/%[.<,#5?J^#Z# 6Y6@2M_9&8@[O%4):G2R M-3HYE/^]EL_'5#KYQ>/MP%46LA?^OC/+^(\GC_]>/^[+N^@+4'4/3A-FPA_$ MZ.^Y*]NG^>\4T]PI9[/A?3^PPOGN]##UFWN*6HKN=G>2GKPV5:LH+"]Z+A]>3?\Y6N%WSA]5>6)5.NBACB+ MNFO"UL)8Z+F3]3;FJ E#0=)M,?)X7)31MG^^Y(MUE,"]F>W MTW:UJ*5"W_D$YLWAH%;,,SU!,YJ:.:*G^([D(\P3#S]8%E[F FO)4\1J0SU, M$T=]MU0T5,,T$C*]KQV%!74YRYK?_% M >1FS+SM['9+0=^HU%(O[- :N%R4C5JE9!D2OZ\["V#Y.=Q(8/DY+#^'*@W+ MS]-*U$.5AN7G]\7Y0XV&Y>=I2!_<52N:VP6=ARUME)EEOR/F2ZLS'V. M!T%GU,#FE:@S^27^OUW1D=&C.SHR_S0=SSM/ 4AR\@LX?]T#?^-%_N2-?Y?5(]3[V%]*!-PEWI\3 A /4[5 MHAWY9+AH7\3X,/=K?,!J0CW^$GJ,)6&GN62)=W+U./$'/_YR82X[\G>M916C MT !MK.5!$3W4^(]?F'OBWLRFYK=F?7GWTKV6^+ 5++I;EA!Q)E?J8N.@W1GS M$L9%-^>269(EX3&/% ]U"\J>VHFE_9;X-.9#>XAQ\XELY+B))H-(C_ MS]Z;-BFJ=&O#W]^(YS\8=9\3<4Y$V3>ST/<^'8&*L^*$TQ<",44$01E$_?4O MB=7=U8U595=K"5;NB+VW796-9.9:5ZZ\UG3[T_>:R1+)18WT)U.\TR9HK>T@ M7S/ZBC0<-OH=:E(XN'8 =1OZ+ZA'(O>J39#BO(E_IK\\,@!0),*W,F?A+_.* M";OBNH^9FF^!HQJ0V./Q ]R^?_X]O;;+,S&DSKUF5ER^8L2Q9_7EJ_(7ZP%P M6Z4]+OGK?:@AB);W66U;'K8)MEL;&?U.H6(T40PX;7&YQ^ MQ!CROH &I04EQK!_K1Q4F^ T(R\=5*'<"<9ZD)7:Q=+[&;VS3/I"MRP6BOX, M4TB*\->CQ6#:B'0!%G;C'CF"OB]52-69>^74JG2?N?=7;R[YB'+J>'V11]29 MT9XW\'G%J)N'QH#.88Z%=2)L(1^^X1CYB+'Q)GTGO8L(7E*8YI9F>+EUOESR MX.6%,(8F8\D-$IL"0^]OW6U]Y,JM^84Y@A<19FVW:'F[SF^P^I3=L^P!5WM[ M+4(8!M9W>B3Q,\,7$,"D,.DPS0!SX^S%Y.'+^8$/J[79JI7'6DG8;+PY$UBK M$BM^%.1,RY-VE\?[/*:W M!IU 9,JQGY0&#@ TW%F0.$-_>2$IIFO+GSW-+? ML:?I;LI&APQ6F-@LY87V=#3&GF.,B]V=@(A3-M[ )Y&K)_Z0F76IF*A M--$4JN)[NF3DGH4Y<1?W3Z[Q3FY>[U$JY9ZG'MQQ]R^=!U#$P2R<0/@U MQV3O(XTJ/(ES-.A[D[-V*,ON"21HF(**]Y>2( !'D*>,T+&+=H@$. R4X*X4 M&IGZ4(BD13R@)EHH1#<)KO'/TT3K6M&V?W,,G>?'QAD>-ZP=T<1Z++WFY>K2 MK5I_:6_&CZ*!8OK@Q9/HQ$'DCFK23C/!$-.MKESAA0Z?QSOP(&(?ON$GR+$T M0,#GZ5^&RKDH$MO>)_:XHV3YA:Q'71KQUQTEQ MJN(?4?$[X*BZ&XVUCW4M49XBXNSOGK-_7LA5>-*!V:F$Y[P^4V:YA6ML_/SP M8(_!:@R#H E(UU/GE3) .8TIS&E$?;=0V?([RZ-#?;>0%^$<$_OR&F\6*]G5H0//1O;A&\FA1+E[2Y1#!\)])7FA_EE(I.\LL0CUST(B M?6>I+*A_%I+H^TJ60/VS[M<_<^[E40W:BW)GR/N2R.R&_8#TL(&B1<0J\=;M M,?G9$ /@>N$70*^*$WYT=-4#LR0'F?')S0E4^RZ M2+F'(D5RB(+M$[@I202'Y-#8]\M6(SE,$_=\OQ0SDL,T$<9WRPLC,4P3RYMR M,C4N]"[M)[JAOZQ3E.>**X\ M/23IQWCA4D_AH0CGNR#]D&,913C?&7^8&I%&H;9)]4B^5E!^UILTAKG-0A16 M/6_8[3O;7-7^VQ85,!2^9#M]93?\:66&/XA^FP_MU!E\0V"YT=Q.>"(Y'W C MT\KJAEA1<.(+^LC89GZVM"R-<";%C:-+->K@'6 M!@]M-!A*_H:-EOQ8\LA6SD[A0L!R/C]6(@-V\#- H>0I.5\^H3,DQ3Z/^W5M M?$)S)L6.BI3[(Y+,1GUHQ95G-D_??N&;3YL\SU/JNB"W65'5BA"E%JKC!<5PH*8%,T%&=ED?RS);F28,-%'Z>P$U) M(I8GQ\^0,G<"DD,4?IXR5AK)89HXYKNEDI$8IHD83AG_>U>U1&YW+1I1>&NU MJBN2-#3S]&B[(TL'G(?7HJ@"R1OWHA2'^/_2/CMCVBX*S7\7Z3RUG1EPLL?! M7_'U+N/:IC[+_ N+_DD00J#0_1N$[M]8/&X2VH]4XLZLNLN&_G\NE3A2\4@E M$DH*7S9U &TS0KY7^.?/AGQP_Y%*()5XA0K_7"IQY-"3JQ*)3QWI D_1+3 3 M%,>"E0:>O/3 FAIJQ9MM!>8 =EG!+QL\_WXZZA=NI&JI]@JT@"?.^\KN(>.& M"Q<^[P279*\K!<"O*IHD\FZEV>SVIITY+Q.,C#,/WXA'"B6*W#JJ_G/!3>0J M06CS_M @5?57?A2:+'H+X)S A>]A0OW6ZI G-5OP:;]=]4K97'W]_C"A=P)0 M90V"=JT5[ U1[VB%%I#4@Q%$ ,2% $30"'YNFP+QN>#GZ")#^',]O]D[<:(C MTK7ZO-O,"87%3M2*&ZUM2QV($]#I13PR))'N;(E_IK\\,@!PY\.W,F?A+_.* M"1LCNX^9'EA[$7X?=8'$'H\?X%;]\^_IA3S&Z+N#?(D/UG=G^U 0)T-_K ME\O@75F<7Z%B?ZU!#J?K\:J+;?@!I[ZT1.LI?^3O'W\?KS2]+\E\7RVVY];1N%Q&3 M%BR WP+S)X'C'M_H!!CDLRIK]VE>$AB9$UM"SLYNF0X$ _KA&Y/*1( DXD#< MVWD'.'#*H8EPX#+91I-Y<,"GVXT@#2FK7*N4QL/^Z,I84-O9.7:@6#BFN%FF M4+-KV=X@P@+VX1N%LX\_0GK:DG?]&>[@R;N*N,G=F*+F6E@F3;6\/#U[H;V<2P+!SWR%W-)OY\9V'<_WT7 M9V'E,H*7SF:"=S#MQS# M(F"X9$[HK57H"B9"W!F>*&3X8-JL6NQM^36^W0I@)ONM.;9M;^4+'_2Q.L[E M;:&QZ"EUHTRK_%, M+M00H8'S)B; SU\A=:FK_SGA9.\!D%%46*E0L?:A%!^YMY;M ??XT;,S!=N: MP=J%,_@I"@J!AT"FI%N*I>J*F?EQ@+B9__$MQ9^%NC7[W\3/_D-W[B/>]-\S M??OMG_ _WQ^MFD!Q(.0MGK[_!Z+!]WC"<0S[[\L=42]N$4']A*TGZ**?O73T MW__W_SU_^7AXTQ/V/IO5XKA(1 3#&LA.': 8664>?O%7Q0R4O?LT2S8\H9GO MN/[U!W[#=U^?_MKWGT60 M_35Z['_6MALY$KXZL'9J:"K!A__RV&A?/'O]E<"_,%!2PC\^S8O"O^3H*^W4 MLQ,E.E5^[LL_2F;AP+/@7WVQ<$I8W_N5SR3=@@>&^8ND/_WHF03!M0W?IP^! M'':X*\!S*FI.]R3SRCER_^NVG=J.RRQH3&M?@ZM,E@M%YA=U:!=+F9[8D/I5 ML=5[BG"JM@I?+@A"?_N*!;%5%%H]H9@)/X7O6BWR_? /O7[XOZ;0ZO*=,I MJ^(DJ9+TPU&1E>_6WX:D6G5[;Q$PXE\-BKSEESVRS: M!6GC'K LR.4II=Z1J?BDB'VC.Q-#WVIWQ_GZ)+1:WD,%0RVU76W X?&%C5/+52;YQU;JF?; MN=Y@3E$C+QH:6]0.YIK#VK)_$.J"4)JKF+31ZO %XHM:%/J[6M]9'(R]JY>I M7GNWGPE!*.NQ61V\L>\U)YXE#9G^R,$HAI@#.#*VJ$-[017JFK4P&#I+Z_*^ M3DBM3C@RMJACU][3N[[1ED2[0:SZH\J8"_AP9'RE:L--SY8']8VT<;R-Y5>V MXE[5X-#82JT9T>GF9JN!L1=+6IY;8".=A-\?7ZE:MIH[;%=P4<%W2Q M#8?&5TJL^PRO=4E14,K&J$^L\3*UY.5J"?ATLJ6)XU%5C*ST:M" MINO7H9(-YH$3GM-2?;"B\F(6W\^=CLS&Y[_1I&VMR9;;6%GNM\V>V&S,23X< M&9N_NRZ6O(I 84)/KSJC@-_@14T+1\;GKQ5RS5ZW4RT+!:8VVU4$;A7P\*'Q M^>/MK=_2>IXG;7#!ZW7&JUEA&0V-S;_1&RU 10T*&-/TZ[3O8LRA""<5GW\S M('B5&(\DJ;ZBM177R@W$64?FXO-7=\O*;*DN)*DPV:ZZ3=L81L-C:U4&ZA%T??5G0"XQA0K4#3/ /@"1$RKPT-%4NL+0C0V M;9O*NBRVSX-..*GXJ@:8=&@XV9PNB?TVI>[MZ8(7HZ&QIPZ:97+7[6T;4E:5 M1U[_ %H#-H!#8SLP,/1!"]=9Y6N!H?&5XMW)7-9$ P,V[0[(\J5*H+@1H^-+U>]W-3R8ZG9L.)X?$UV/;),M4:5#Q,9^K,HC[% M'(^]:&AL#61[X#1R\0%ZZV4EE3%0S4):8QQK7-MD<4 MQ>/8F'2M]>%Z03:LGL&4:LO%O$^T#GD^&AM;,&.^V.8TC>L8A7YYT!Q@PZ'; MBUXWOF"'=A:;C+M:5<@6#O)ZG//HK1T^EX@O6'-8G_EDO=LR?(>0R=%!\B;C M:&ALP=;$J1$'7, )WY4-X?+CJL .' MQH2FV*G@*[VBAO:ELV[S[*"9&Y8".#2^MOBF"T(A&=N&OVK)PVE%LTPN>FQ\ M;?.%+MZ^&CTU/K'! M3LG7A&7>P I$RRIF<=WSF$XT-C8Q:3>;3 F7DJ4Z[IK$8DD-B.#XW)C0',"Z M[Q([K($Q^G11ETAY-)"#:&Q,:#2I*XPLD_0%?;?H:J168ZLA?.-T?!5$:IOO M,!MV;M0'VK9!<)S6J =P:&P51O.LU"GE9F5AP_E&T-LYPH[CX="8)&QRQM[* MDD%HE90V(8)D,3,G12]P0A)\FV:U3L\P"GISG6N&GVWV.#:V8/K:8>;%DB0+ M=4)LMD9\1]B,HE>(+UA^UA8+4^_@2WNB0\BCZ<(>!,?GQA:L6RAF-7]+#:6] M:16:7KFZ*V'1*L1A?!9P#=$U1%JH8SE_/Y5H,1N>X_@),[*Z:IB#IG0()*4$ M"JVE2)6R7C0T#F'NLM9JYATR?-OM?KP?&<2DQ<.AL7W(59S=3-GU2Q+C,KFA M5R;X/M1()KX/0Z=5YW?<3)*R0X:5C$VSB.VB%XBOE]27=HRM\"PVQ+I[LYK' M.ZM11/'>C-GL9(&A>,!"KH+SNSN4N862%1H^>+=?M M8!3 H;$UX#9UZR#L>KZQ5SQJ,-:6+.E'3XVM@5[8]TFZ"QS)UQUKX90(UBUJ M<&A("UB=;LU[%E7;"^5A("YE95'J#Z-7 MB"_8?$ZOMUJ1)PTPHG>.'!244N[XW-B"V4R.*(P,KF#XZK8OC /"\+/A^YZP M*"=-.YC-QB-6TJV),=WX6$FE.G!H;,&R7G,^)RR*-S:^TZ ]1\7-\.Z)G[ ^ M;5S$6]O26L2(2F.>GZQ7M44]>FI,:%3-9GG";@R%0K JB]QN(A2RT5/C:ULS MVS6F-Q(V&+/MN M=6([VRVA>\;7EE:HR%/CM1-KGO.5ZQTS))83\$U8E4:NL M 2Z/60GPF+O+SLHKA]9DXH2IU!^I/6\UV9<,1K#]95\<8ZS>@4-C:W!8MS<3 MUE@TA$T]F_,=S@O:S>BI\8FM<[T^T^PT9YC?&!7-19]L%D*[#HZ-3:Q;+B_' MOMMJ2'HG6U0\G30+Q/&Y,:&I# SUD /]NE$V>=O3AH7]K'T<&Q.:K:91Q1EM M5R40T*N-.2+&Y5HX]H2QE*LOB9[&XY2A9+-;HR=AG,(%<&AL%<:U2\CFNLM<7U5G#Z$1CXQ;0@55!4^YM#;$J MKK=+P#0EV.'CA 6TW:VGJ\J>ZV)*SF&T7K;4&(?&$G'"K %CK])F2RU>8"AV M(U6T1L/C:_",+"J9'VRK4CZ,&=2 M%BORZO<1HO&QE:A[PU< :L1 -OS8[$/ M^$"10S.?.&$#K9NBV9F2LT#P6TJY7UK690.^ AE?!4JJMUQA-AY*?C57,B== MQ^[3T= 8*HQKU)#?D^6ZM-D$X2VV0[.8K\&A)Q:LFJ/+3$4)%:U1&]J"/#K0 M53X:&U\P6PCOQ0JU%.K[;&%;*V#Z811-++Y@Y0F[K@"#7PA#%ZN,N$DE"(CC M.\01EY!*A>$,JTAEWQKU*\-=*\]&8^-'.E^PU+9N#S:ALF,S<\H>EF =-=F+ M34W ='ZRG.S*&(./)FINFB.M4B?JQQ?;7H?GQDVZ5S689JVH6M+<6@AWJUXF^L7?0"L7VP@*3;(,CSPDH)C)7'%_N-Z;'G>VR] M!KTMH>660TQB<&4EC]U.UYI%CXVO5[ 4J]7)"#L(O4ZA8 GYZ6%>Z<"*T?$3 M2G([>3(W#;&QRG78RM#GB]:QN/3O0\F>WP78=K0S]CW0F/17@BR7HZ&Q-6"V M\KHH-]LT)NJ8T2C:G%@K:7!H7, $N^$+XT.?P(#-[5I8<\_2O>BQ)Q@2MN0J MOEG<&8"2NW.),L=K.>H0%%\P4W*GM3T/E' 1IOQRJ %U+!^?&UNP&6$+TI*0 M1 'LG"Z]9O8-=QB518J]KK<\D*X_ZZKA94=DF\WZU*2WQ\($,1'/;[96J3'I M8O6!:355KDO4CT-C"T9T<:8^F>5D0U^P\Y%9&+3;HVAHG'D& Q.N:^XD_#*.:^O ME#);;HZ\:&B,5*V1,ZR1-4!@]%S1S19SVW6?.X:VQI96T0*ZXN"'>3A\QQ4W MG-'#JL>QL;4U0%TMKNIM7=B[3<%PNX.B1![#XF*+ZZC=77_3[>/8L%*P9PQ= M;DO[Z+D_B-4HMN:'H_X8+*7:IJFL7?#U^X?G3B7HV'YR:D./K'KTY/[J17\6 M3/7D0G\>I4!\P8C(_>TYW[_XZ8'XT4MU=I4+\M4J%\_;X?/G)MV\-WI M]?W/61@Z]O48=A"$Z_"FO_\I "/ZXN]#E:EKF[X'KNSG?SEH$/^#H,&?X1I_ MGV/P:LPDVH@/V@@F"EY!&W'SC7BK" ?:B _:".P+VH*,YG6HNWHF&0UB!).2]*!$D*DI3SHB<^TUJ\%<" M 9)RGF. M_<^T%F_YUI'6I%92?G*3%ZP+==V%8<^0FM>8QV>M.%YJ?XZ$Y"K0^@%\ M6CK6X@T'7)J0%7'QB(M'7#PR11*R%HB+1US\_2O-%>WWW!><2;;Y_J.W/++> M$?&0ZDO;*Q_]X?F%?RM%A7LU(1SHI*6U% MGV6K%I*/FT$-<]L4IK\^L!V@N+ZS1V!S<[!AOUS7O$$A)ZD7D>1?#T/39>V M!;!C)?.&H5 L&OPH7P4."<1TV(,6"45#6>HR?_322 M<95@DA1+ SH_KG9^L*D6#'1^7)'@2;%<%,%<5W4D&->B=5(L&@W;12?)E7B< M%(N%L/%U;_\.:D=5 ;@YM1.3AU?GFE=,Q5*!^Y@I O5Y"3C\1PDXG#M?1UY? M@>1'!5PRQNQ]:W'U?*O?M"/J5_OL^S)D^"]V_#?\OLP_^BY\0:OD*"H,_<_X MENYUP?S_'J3P@]SS%&NF.#/9C;JU^YR$3M[\GHV=^5C MC$%$Q(J^Y\)O#]>F&0FN?%ALJC:V&N>P E_HREQ9G Y*P4-F!E1]I9CN_SUD MR8?,W'96BO=_#_K.^VKYJYGM/?W^(6,IJW!AGU[GZ_&F\>QK0J0,]S$<$3[E MJ>/P="A6ULW=0,)TQCYDEU6;SO.:'+63)HE'&B/_^?>O"WAE14JQ:^'":W'M M=+08SO[7=6'ARAEEUX$%J5>4L\Z46;9GFPKF+Z<.*6QQ>6CP*<6$9RZ@XQN= M (4&$0S*G*OO!"8H!9A+#UM9LB-'C>-IA K8!]DV*>A=;UCI M+0I.KLZ'H,!"2X%^Q+D<@H:;V=Q7SK!,J\W]?=3W>+M(TI^4J%S>T)C(;2AA M2$P.766?Q3CE+Y3H#&O[,"5$.Y"J(V$SF6J+AK[:E?P@U"$<>_C&/1(- %GJ);8"8H MCA6NA/L$";N@F.,:S4-?Z(U:LM-KD\.NKOT""=35($'I3.B '^^ L3+&N-CM M.SNJ!F_>.!-:V?0CF\,0)-P.$EYOCY@R2'BKR> GA(1GN191PO4O8?552[57 MX DE3,XHVP2S7@GU+#.IM@;!=%3N?!!*S*AN9=Q66P5,J70(M8:KI5X[,ARX MAV_X(\4BD+BEW7!]]]?'@<2UJXTFC*3C";'3,#!>,_:+.AA7AJR:DZ[,ML\V MS%*F57%C#$W'6C8MRYGTH#831*C-'/.(TZ\Q:R<<^PGSWU==UX<^^HP]#U@*<1:]]1%XH+,FM3L4[)>=(<]2\$ MLUS@U>_?KU[T'04^2L9EJ(X$)O=MF3SJ9OB'2WG4!I)?;0ZP0DTB K7 [1K; M">;P?Z?C4,3!+)Q ^#7M<&'MV9$.%)[$.1K4?A+F=BC+[@D@J/45K#<:3REA MTW $@+Y[ESF(&/^'!G72O^@4!(%D>]"B#D+C$S#ZE&'ZT,_>2 M(+S&F*O1:06\Q&/:)[CKXNTMD_"0:**8/7CR(3H5_ M&,5FA135A= #AQW3L ?[AJJ%YQ ;GD-X_&Z9!@2XICHDR_>*8/FO8/FCO8"7 MA.6;>OR0'%Y0#C_>^W0Q.;RUIPG)X47E\*-='A>3PUN[-Y <7A8//YA5OY@< MWC>#_M9M:3C.$Z61 (0>[1@'+VMQIO.7SO0+W' ZJW;.:FN";8#RD&]I![;8 MW$=,&_'6%2?%>71_Q,/O@*/J;C367L.?NZE.H/L#_4:)<)^8L#^^PE'@A2<= MF)V*W6-=!Y07=1X#5-5L,F;9,[<=F851 N<#1&]O6Y)^-P@6F"X[.*H.L]:5:9=X*> T]&]N$;SMS9T7@3 MY4F-OR$UVYBJ\R Y'HI[259"(GWKD-G$.#ON)=\&B?0G2Q6YODBGR*&"1/H> M$ANN+]+(-_.Z;^:C[XXL7:9ZK=I<- BLNL@9!9%E6QID58FW+H_)3X,8 -<+ MOP!Z5)SPHZ.K'I@]>6#@3I]TL*38CX+<)??O+NG^$.1H&!^$2U)V;/=4>H-H M[H/^H5[<&2N\T>V:T\6^Q]"YD+KVG(IHO1XY[RB[Z ,O>P+)ZF? 7,;Y3+J5H7&;7&N5K'-BAT9V,&G2W\3 MG!Y-#4;!EVRGK^R&/XW,\ ?1;_.AF3J#;P@L-YK;"3?D3G,:RU7-$S%1TUMC MS78;/8R7<>S8A 'U.T.1S?<3V?R?*]183AMN\+.E[WKP3=PNB&H[]^WWP\?, M9.2B/CZ,L5Z'UOG6VFEW2YT(/LBH^'*.1<67420YBB1'(HTBR=/O-$ BC2+) M4^!_N(6==]GP\VR:_1K ]Z35LMZ;@_4H=18!-!*BR+)W[+2DA],'MG+ MV2E<"EC+Y\=:9, .?@8HECPE!\PG/$?2Z_:X7^\&$L,T^2I2[I)(,B'UH?56 MGAD]??N%;SYM\SS/J.N"<$)NN/<]X&QU%1P3=+I M35+?\% \@H#S2"&F"+L M=_.E[RT(Q1,U&<>C=MZ/-'X>#YXTV$ !Z G7)<#2GS*" Y1 'H*:.E MD1RFB62^7RX9R6&:F.%T$CUK GG5J5>5J\+S1Z_M5?1M0CR MQF_=BU(0-N,D.\5^OG3(1]W\SDC ME4BJ2AR9\,^E$D<*/;DJD?CDD2[P%-T",T%Q+%AJX,E)7]MF#SAI>26#F)EJ MC5^7QN;J_6S4+]1(U5+M%6@!3YSWE=U#Q@T7+GS>J421SF!"[T?]&4;L.*>P M+PZ+_5H@XX2,,P_?: *EB=PXIOYS@G+6%N6*-^SOWU^ ]YWX@WM^V1[U:B*F5VE<7=NFG!OP$?YP ML)@V@_#GM@D0GPM_(O\8@I_K."1/9+EC50-.@A$UI7^Q4#:U:K&L0)J#' MB^&H=.=)_#/]Y9$!@/L>OI4Y"W^95TS8#]E]S#051UT< M4.9F?UZKCG(. EK[)/$8XZC4QG6F[Q(E6LGI21OQDE+ M9KGP89T6%(#? A,B@>,>W^@$# AET>[EJ^)!6M6;1.70Z2_=-0]A@'[XAA @ M)?E R9ORG><1O0\"SDLS05$;8A-!$:H2>Y,'SL"@9LG""9ORK=.+$P>")SO M 5\/,*_67-E.\[S_-W@! M_C"6%HPE%<:\:] 41I3:%U;DW_6W92F6 ML=K7,\""SC97%2TZUZ/:?1S[2#'7\\Q1OX4D'9J>N![E::[QB=UVC,*K0?#X@N7Q%DW$*^L+IN F @M]0 M%RO4Q0I)-.IB]0EA P%ULDI[)RLD MTK=.64E,I4K460F)-.JLE$BG%1+I6Z-T8NIGWDEGI=M>1%?;85\JK/"2)'JS MOCI3ZWF*O>WE<:"5J'W'!S@VS!W\N=)6_AQ3]E%'V P/DSHRX2_B!&>FJ-8IQE/%%6>'HX4 M^>!0?#.*;T82C>*;TTD?ID:D4:!M4OV1KQ5RD6K5H(F3REXJN"NM;&T'G>GV M+T(,HJG!0/B2[?25W?"GD1G^X'37SA-^R :YH:HNPSI8?;\[V'-;(>OUT0U9CHV^^'CR8KN*ULH!0P MIIZK+JE=PRH=^ @^R(=OI\H@H^8'*)(<19(CD4:1Y*ES&2"11I'D*? ^W,#* MNW#X^&5MM$5Y(U9Q>R48JX7%ZK6);0ML=,6#@>1OV&C)CR2/;.7L%"X$K.7S M8R4R8 <_ Q1(GI+CY1.>(NEU>=RO9P.)89K\%"EW1R29C/K0,1P\\KTY(TV$#!YPG7+<#"GS)B Y1,'G*2.ED1RFB6*^ M7R89R6&:>.%TT;]W54CD=M.70A.1SS92/TI[8S T[V./@KOMYE7-O49YE_8=$_ M"8(*Y/O\^ C^&TO'32+\D48@C7B%6?]T*G'[.7\RE;A9!@':9H1\K_#0GP[Y MN)O/&:E$4E7B2(E_+I4XY:8Y!?<$8IL'6*U7R&&[CHRSQT["C\R)?#.4 M+_*AP?6?"VZ.+I/DPDVJPH7.[EK;ID)\+@"*?&7)Q9_TIU*\ MTU)Q&C8[)H XQ/82FV-R6+:S[_(0)8[>+XI*>=;$/]-?'AD N//A6YFS\)=Y MQ83=D=W'3,VWP%$+2.SQ^ 'NTC__GE[(R9T8GU?*\RHN7Q#CV*+\\A7YAPHK M#KR=5I,VAZ)*%_H%8S'I_&4=C&=?>5/0^"#@SBTA6@OF %3H8 MF)&3BEL=KX39E6' R=J=?M#F9&%%E3;%N:P5#E($ S#AAR0?5?*T_=1"^R';UB^9F-&KAI. [=2_P MLKONE@HB_2=#_2.FE8K7H.+8VD/9- M9K/"IHM29_!KLTKJ:B!0WF!^;:^4;$.GLXO)!".._#J>1,TE;]L8GLV+NS:4];?V2)C MU&+_@X0!5GO=S"YX1F]H)9K M#+R\6AQ=6)%_UU\OORH 4QDWL UI3W9M>;3-*9%Q#UW9.)=[S&&OD=\I3N6$ MC;JA(QNV:E(C;T0F:KCTF+& !W^H/QOP7]>*<\@]BW/@?HA"D_9*U?(>!QA1 ME6J+K.U*:O77. ?Z#%& GI;SLH1_=B[_OBP%V_71U^YL45*#8<4@[/QN1Q2SB]%!>_B&?8DW*L^$^V:&'U*=+)NBL*G[ MCT1X0Y,NY9(T"]E@U;7<@P! I7_ P4($[;]HT/%3X<()A%]SS+H_\K'APD>_ M4G'2# M3&6T%I_ _W^1X_>\<(".4==T?@M:DK\59MW^ 8S<]9^G*45&\0OG[T Q??"B MT?OS%)Y*!Z4NS;P#IA,87\KVO7S3"^ IS#Y\8^A'+(>.X=LI7++""M#97<]P MPGS4?;-?(,CLVF67 L,6O56MOO/,-A^QOL09%\[D9YR^Y(S+Z!;<,@L<-SS0 MO44&K-:FO0?@:<3:=]2%XH+,VE1.^I62YCY">:?(V_/,VR,\B7,TJ/TDS"$8 M6*?H$\0LGQ")U[?22R_'3)YX$@#'M6J54A*,GM1]?'J%+:&_?'Y&=@ M#(#KA5\ /3E.^-'150_,GCP_<+-/.G:2YK]!J17(W?+,W=+]("0'![[?NEJ)(=I(I_OEV-&=/-YL;$ M,,7QZM^C^%U(77I/W?->#EGWE%WT 7;&@-VU,N$O8H2GYBC6:<8S-:'L-XF5 M2!9'BKQP=Q4;?9OHG[1P?DBB48SSG=&'J1%I%&J;5'_D:UV5)]AH-K0D:BL1 MB\#L4* QEMV_Z+<630T&PY=LIZ_LAC^-S/ 'T6_SH9DZ@V\(+#>:VPD_I*'- M%K.N4QY)O1YV:'E30G0P7B:HJ-TZ3=Q7D'JJ#H/DL,+W$MW\GROT74T;;CSK MS]<%4_,:8!$&D63I\#_< ,[[\(AY)>UTNB&Z8ID5FT8JT'/W-#+CM 5 M(BOM&$S^AI66_&CRR%[.3N%2P")"/]8B W;P,T#!Y"DY8#[A.9)>M\?]>C>0 M&*;)5Y%RET22":D/+;ORS.CIVR]\\VF;YWE671>$$W+#O>\!9ZNKX)BATP6J MK5GZ"P82,Z%D'>^*U[48J#_.$B.F 1KJ.^!1G=4NT5R/R/:;ONE8,7 MDL,Q7S9*?VH[,^!DCX._XNM=QK5-?9;Y%Q;]DR"H0-[/CX_BO[%TW"3*'VD$ MTHA7F/5/IQ*WG_,G4XF;91&@;4;(]PH/_>F0C[OYG)%*)%4ECI3XYU*)(Y>> M7)5(?!9)%WB*;H&9H#@6K#GPY*U7&6O"+<6=@A'X8BV)'4>S@_5W8/&3=;A&_&8 M(U'&R(W#ZS\7W!Q=)LF%FU2%"ZFJO_*C>&716P#G!$8\@5'#P:I#;4/2!C,C MIO5*8==5%ITK@='O&&3M'"P+#@(I]#!.Z!?(INSBG0B#N(=O-)E#6:\W38;X M7 4^;9HYMR])>W[A.K A,Q-YOXA'G(OC1*JR M)OZ9_O+( ,"=#]_*G(6_S"LF;,OL/F9Z8.U%H'U4!1)[/'Z 6_7/OZ<7\G0G MQO%U ?\6&:KOS/:G)DB _EZ_= ;ORN+\"K7[Z[*'^=V)-I?$J8#9U6U0V0I_ M4;L_FM&SKSEE&7#.>H2)>%6H>UELTJC+U;$;ZGP.EN4GF4>&2&;7Y9D?^Z6([+K:=UN]M$6J ?@M,I 2.>WRC$UC0[.RWO:XK=25]4FUB M8T6A&HL.Q (ZO"0@&+A@'M&M%>8:.)" ::4-!\[+.BI.L+E7U/8!UAO*@VVK M6)R6#W]12.L<+!BT6M2<;6^W0K8UD@ZESI9>VI%=P#Y\HS#RD:+/Z^><-$2X M=HK0_:G U0WCUXI!;>4B4S*MY1[;5+7!+P5$I^$L_"N/_[/L["F(L[44!P#88K^:I_ZMA[ MD0NS2]M959+IN5# ]-)2&K9V SDZ_V"=-XYZY+AXJ(\C7]G+FZ6_;<^D/>4KV(0R^P%[X=P1$ES(L2X,-SMR7.TITF9'-XAQ M=M184>^OR?%GX,!U/%?R^*8C9+FUZDO%<3#H'L&!"\T$#-D(%TT-O;4*71P9 M3KC"$P4,'\R:E2MSKC(G.V5,J6W[TWVQL6GNK\QZ*[5N21CANQ96UUM5T1I7 MULM)I,*1UYNA'G.YU^)C(K?WOSTEW+#K:]Z9NG:9UW@F%VH(T, Y_D2WPN_U MON)Q]WH<(^#GKY#*U-7_G/"Y]P#(*"HL8*A8^U"LCUQ_SHV9F"#;\/ M%CH,/T4Q(O!0R)1T2[%473$S/PX4-_,_OJ7XLU#79O^;^.4XCOT1 $.ZH)% ="WN*WR9'P2YYP',/^^W)'5'Q+GF9%4#]QZPF[ MF&#BQEBMEEWVV8D^PGS7!/!2UXU_[ M_K,(L[]&C_W/VG8C1\)7!Q91#4TE^/!?'AOMBV>OOQ+X%P:*0?C'IWE1^)<< M?:6=>G:D1,?*SWWY1\DL''@8_*LO%DYIS7N_\IG*6?#$,']!H*=P5X4$5MZIYD7CE'[G_=ME/;H40GCTRRW)S(L8S,^+VG/6"GRO4FJ(PY[,UT+2?CG.IA]WEOWA6^I6QEO8OAL:?^ZM7_0Y M>KS_A'U244ZAV)Q",[(Z)Z8RA;&TS.(<*:OA#ZGY3)US=.Y)S)7OYF1)'[+] MVF)(2J#5*6YG$V/:7&LPZO/WD8/JH3RB@X9N^$VO,:J7*OD=&1J>\9&S6G-% M9F*CVSC6#XGMI9= RSM"F4Y%'(V'NN:JI? MT?#-1M"E1:Y!^]Y,\N'(^'LN%L4F47.J N$71K5Z:5VSUAV9CG][-=?!VZ4% MT3>L.5LF"P#39UL-RX^\+C/4Y%Q\Y%+*J]4BV6H* MNDYOS(62)6=:(+,GY@[D'":HM95 +'&PTFNXLQYIX8TE-M):]1K6A! 'PM"C MAX5V*NZ5>\%[&@^-NJU36E2;](= MN\[+^(G-*J\6*SGKUK?":C<8#O#]?+DMA$-/[%;%6'87@N60F+[823@^K4BU M<:A1)W9K.?0F<]/="YB(!5*OU<&U&8R*.K%;$BAZRYG(=C"E-:_+O6DU9RM! M>(^,#R4U2NA+QDZ0]+Q:J%47!L,4PZ$G=LO-\2M[XU*Z4>;ZS/[0P"W#Y6%1 MHMC0S7XDZ&LP-+&>X>;\X7A0GG2B7+/84&U/T/VB-0TE!N_7E:'K*]UNE!+" MQ)1 KT%-Q)82;=&?J48B!B=CV[(L:>NLL-Y+C?T>4SWZ7:CZ&[K%AV^P(G= M$@$GC9Q&O2>(ZT6G6;:=C;8,GWIBMV;[SJHN!]9> %YOL9MNR>8@1(MP*!G; M@N9F4F=+&\D0.Q-<*=&&OUQU(,$0>VJ#[GCU7GX5"$R=RK9[2ZNRFO$R>6*W MUIK8DD9$?H/M"7_I34;RQ!@',GEBMW!?5W?KX;B%E4=Y3*7:4YXR0P0^H5OF M=%8EG49G+NE>E=TN^4-[RX=#3VPL:=?X07F]Q*1];9:E!YQ7*!S"=SVQL0// M7K3V2NF %:2FP59!=5$1-#@TMK&;=6-?=7?M$%L+@]%FT3*E?(C7Y(F-M6K> MIM(9=%RA7"O6PI,"6'I.@T-C6[ U\]DQZP_ZPGZZU?-K3\_WX+N>D '!GHH< M/LJWL1[!Y/==C.#*?B<\:4]@ENX,"S(S7AE*LUM?],4570\A@SJAAO-<7K-5 M^5 WP";;&Q0D;TZW-)DZI8;9LJ.1?JTC,?Z2**V7AQ"5PE/PQ,9N7:FTZPZF M8V.?+]F:@.FE]CX:&CL'L_F64YP2^ZR4G7C=:MMRYH88P*&Q@Y#?'MSBAA_F M) +0?9,3U[*S#)]Z0@;$V40:5NM83A)-IR0.LS9)^^&T3LA ;6;F3&'.2D;/ MY0?8&ML6*7BX,_%W/8R'6\.VVI*DUZK#$;5LZ9M5]-38NPX;&X*MMD5!4.@Z MJ>_M0Z_0"Z=U0ES\W1[GFN516=. M[YM*X_C4[].*&+L?M_\C!1O>_$UE[8*OWS\\-T?A;?GII@RO>>KQ>OCKU?P9 M1?MT+X]3'Y[S_5N?GH8?3=?STF88[LNK-6.?W4N?/=X.'SDW[>"[U?O]SUG( M17\]\AA!N 9O$@A/QG3TQ=^'*E/7-GT/7)DX>-D+@?^!%^(G__/7'HE7LY?0 M/GS8/KSJ"T/[\%'[@'\A7FUW@G;B@W:"^,*^6A,9;02"IL^U#_@;71/03OS9 M3OQAJO=;-NO'39K[0I_R)GQ0",MUT]U?]XB>L2Q_N KA'0G^\/\>Z(?W'E3L M%_:V!?"X,Y9L>K88/7QKZ1;(-,.?+]R,8,W [,5B K\6$D *E4"%.D]4))V]=V>G2ZD1@!'ZABAMO&<6?4%KN352P-S'U7>T8K@ZV MW!ON]MMS]7,I7=*"5.^\N'"'O"%/Q/=_6_+CBUJY]TW-]IZS7K6N+'NI;X\[J6N+R: M X9GLD-9*,O]8B[7LPNYW/N+WK8=>ZY[C5 )7\O)PZVE3QM[H2MEL0&^[BVF M[5JQ(U,P4@6G'BF6/964=RDIN(_S'&GUQQW"R=?JWZK58DN&FGG]>4%@2I4] MW:K.9D/L_1FWYVGUWMDKM+,L33 &6QSDOC.39@,MU&KFX1OSR.$G<_#?-D'2 MP@B\+@'/.F9F/#OC@' W5=T$&>O):($_A9]52!:L'7NK0VYZNG^)+?@ 0_\. M;)^TW'K^5)Q>IAT1.8#( :0F-U"3I-L@K_HKDGWU_Y$GS)PST2)8A\>K'ME' MF="NRB@K.YS*(?H!X@;NZ1;QIGXG[K1[0XU_J^;QUK4BU5S!*?2!X4FZP3MW5P8LNLUN5^6_%('YA@S#]_H1XP\5>GZ/JB%/[-]HGI* MV:D"B_' HCW \0:I ];J65%0S/0^5OO!,YT_ *(NI MFUJ^5-2$0H7(=;!%:TA6 SE*$>8>J5RM>^*6GINIL *9HFY\W0F-+=T*-US3 M8<*ZXKK 0T$HZ,Z)S*/;FD>PA]O7YQHKSODG?:W^4%<^TM83R%<=4[J1Y\65 MP=#TA.<'?DE6>)F%MA+Q2#&G*LXBG@GI/#)P;FG@_)W.UZD!7>ZR.].^*% VPD8A&0=L@>6# M2!+@JKUF%R$&"MTG$0.5*A/K1S_[G\I?>-+T0H@*;[GR0"W 7*D58.*JW_(& M[8798&#M3NC*XSA$1B'P0&14$L#CNF34^\"#J#99C1BX>R.[.!1Y06X2#L>' M;QG::N0YM[-[XJ6*8 X526UI#.W9P)LHPYDYY:&N1W%-)!:_ ]U-SM2?&3A1BTE$'J'['R*/ M[LY&BG2[95LP]?$(HD\(^AITLOCBL'6K^[T@CI9XGY>)XJ00P!8M,(F M],)"L;3PX;KU/,$\\HM&.7.FKD3(\4:R^6&XY0 7Z%C:-0CP!,O413W!O/$%HWCM <4$1'/]? MM;ZK?O>'YK]F]4_TY7B47QEY;-_!10]0GR6ZYB\[D! @"X6\@S_[*<@K\0?SA<3KGLF$L*L/<_Z[AF9Y(C,0I=0 M1&:ER@2+$E3C4?MNI=31VTS" CP\GP@ K*C8/(84Y0DKJ M V3>$7R<":>;18P6NL"FQIQ*0.;%1]-8/Z(!CWKZ8J&/[DIAB))988TZ#6;. M*$=:&Q B'',TF@@<1QVHD+HC4R=IILZ?:_Z+1@XF,-.53&D]J>!LMXQD8_6A MKT$(B(PQ1/^H0&U'=E;Q]U_=4NGK26,W-R5C(V MAUZU'IC[^D@) 31WM*$XYISD5<0\(?"X3^8I >!QJS"J,\"#ZJB;PI!=%82A M5*4YU5NY&XJ'X %CJ!XY+!Z->5;F>YJM+,?_O6L'#*5R@*EXL!7HL9P (IW0 M+1393(FRF835VK3W '2/FMKXF3KY&@+2F*GUS:RU%\I9M=OBY,V@VPK-)_;8 M!3U^^T0$%%+]1%L\GYN >A4%?E=^@;0.W'A,D]*0T*B>DU?652]2?A@=1;RO M>N%=4D^14?0SI/Q97CKBH=!5$O%0=VI3/6G^F;94E]^)=(Z=+#' &4V>RPZR MHR"$TZB2-'ZB&"PBHA!Z?!8BZG.;92>!)%9S==-K=0H"66DG]IW(-()W3R3;" E"^(^VE;Z7C1_J'N+@N^&6P6<[WBW M/X%V^_UPU*HX#"X5<@1-"=NI[[)\^++06B(?Z7,B'Q#UA V3@)L7'^% !( MVEZU"E1M9P!EU;%)JS \M#0( *&YPSQRQ/O,G?OCG_*Z:8;O$I5)!#L5N"[L M=^8 U=8L_7">?82X*'2;1%Q4\NVKDUDTKR)K]ZC\W1]P\!I%550+;7HZLG!! M,63?\+L&YV=#H^M8K_J1)"E$4B%80235'1MPET&8WX&% T1_TI24S5J/ZO9[">?["SVB*O0<:I[8S T[V./8KOMYE7-O49YE_8=$_ MJ8+.]QE>-UX!9)B]D-Y\IJ.P5%=WF-2OT\:^,]\)U+Q::;"!3!!'*PSGXG") MPJX0<%R &T/ D0Q[ZYW 4J#H%<-MXMS0NB./CDWVG+A:1+$A&+HE!8=@* D^UK^"(;O9Z&F] MW=[""BV3Z#$*N3_L(AB"MB+VR.:8])%ROX',G[!RQ[^5-<'"7#,77'6GX3O@)9"9F[:@9N9._8JHUM;X/Y& M=7Q%7,<=^?'3M1CW<4*BZSC2E-1'P7SL89N@,_5/>XK9X0;.GL[3\,KN.]$I M"J-OW87M>%D/.-\/VA6P4%6<9%O6"?#!H@2ECZ+PORMO*=3=Y@_5C?H)[2-= MY:U903%-5YSWH"Y#5:[^U.13^0J=RAX49 8(/=D9Y31J6B<\32:.U9I)YA$[ M42X,7;81)-Q1Q"O<8)RXFSOV']H#OJ,N%/>=!@"Z8J.+0]JOV,F/X;JR4?%D M._1M7MWXN@,BTZ'_INFP'](YO.3;>B1#E MW2 PN6L6(OE@MA;P'A(5+::X$$S."1^_ M*Z+FN6&V=F"0I[>/RO6!<&'7<"$1,Y/D:U@BYXRLJ8^VIMI/JMLV%LRQ\1C'NTF(^5-GUG?F&VY- MQEN S/K);'J7U83H+!26CK)C+LVC(XH'*1C*^_A4=E"4'_S,+_TN.V@UEGI= MD;$,3"_ELMW:1C5R02 34>E@.G=.#[QD$T)_&@U[,OOW?WPW_*!;_WLR./:E MV-C/:-!\=EC]Y.9)JFFE%[+FJM]5_M6LN:G+#+3).C %?]I^ *\='''I_<:= ]2N0;-]MQ,9QRB],_ (7P)>6)N$!"L^S M;<$..*I^C$UP/5LU,O8:WIA1ALV=F6S;? M)X0#14E,H^.V09F6#U8'HD=42IT]T0DK9:3"7YE?J[5I[P%XLKU^1(JN3<5" MJ33H^H7,IF2:33!6[%180]W8-\GATO/9)%\JUQME1_"]JN6,.7WOC3I0SR.KALF=4:$H-1$(?V7N M/$7;'I-AE%WXG0XP%0_,,IZ=L8"7<1>*$]H_P/-,$*7-V/,H,0;FR 2AJ" F M"MTE/PD3E8 L(_)1.X>(:!O]Y4=;(6ZL$VXSB7;Z4$TR(=7H%G!7JV!Y49O M=P*!V4ZA0OJ4:$M^D)V4NW5/QX:AI44?N[\0=+S["ZKT@J#DL]!2"8"2CTEG MO@"4U)4RT0>#1@[;6XHNE@M[<VGEHKS0J2BT97U5$5=92I/YB)+&.5\Q^$ M^\';@AP M445=ZI$F4 T7I.DI,W"24U#W#J* =-?U%4L%OY_VCQ%#$_[PQP#5=CTWLU;T M&:)E/E=)A70MUITE"J,Z)DCIDK]824^P_:RNK.K3Z?W6/8'8X!M[:VP'@M_T M\UFJNS+%.2^34<5;AGKDN#/24*!MYP8J]*[4 8-OBQ1^W\?<\(9#(JFDL_4EP\Z!$1+@@Z M[KJZR6Y'6S2IC/@7H,L=VI"\720":T MBT#F^-G-A(96Q'; ZO31!QB)NPT-%-1T&=U/$+61:FKCJ/OB7'C2_&ZH^*(% M[RGP7^&GHG>!ZSFZZH$9_ 5OS7[]P;.154LU?;A)1=U=VZYBEL,#8AW^C?#/ M<**ZY8.9N ;':;Y*F1@:HQ=V36!CA#FVF]WJDJ-&'9F*"L+B'(I008"$").[ M)4P2@4V_0Q)3#,QYHZ/,L/)4W#=ZO45!K@80DF"AV3.J7J2&A/E378R\8D?S M43]:C(\Q<_$Q,B*=']L3#4 JJJN:;M5Q5 LHURH^!6O1O$RA47,LXN>DLY[L"SN!F-C *["KT0!:C3BT&@GL,<>^SW), ME8%8.-\DS"A>9@K")ULPC JVR(PV ;&-Z')_QVSC;2&9=V7Q_V?ORYH3U[6% MWV_5_0^NOO?I^OJPP80@@SA"0OE+$%.!@;/##DUW]:DCR!R=09 M2)J'W3N ;$E+:]8:QL-X8IAD'/FVU;?&[=:.=0I5Y4+X'";\^X;[ M0V:2BO7:=TN^:V3O!W%E*-N7DV$J06H#),]R\5,9IA/#.7D3/XOAQ/-#(=%L M7\UX83+;3FOH]F*0D[/]]5=E.&(F,W7F8BH^*]X+J5:_4N@6TH3A8)TOGSW+ M\*\+G/\JWL*7]M1X@6J(\-]S162]V5L(BO5B)2ADYCS*]:J^$G>1I_G\]G6])54BQ.Q%FBU]!2 M^:N6L4;M88J40L^F(JM.G?R,)[YU%'QK7S\]\:T#?(L?5B[&^8MQLEWAI.T M@[^!!GED%SM'N>=39[?OHWF<\/T([C _$M^_L*OE<;6H@[!"(&,H$%6 E'-Z M@;O%-CA[BKB1I)%:3]84(1OZFYYBMKY3G,37 L8WE;,GT_]$.E\^[.B31?:7 MDLS%4UK=5]3%W]*7=W2B[PMYY-[E)D'0=UUM@EV43'.+@7PM:0Z*ZF>8Z(_Y M9+=UQ:O+ZKHL:8.'>Z<]3)%:RMGX62*9.\66G&C\:&3T%Z+Q=_&ZOX;&;U0I ML4E=3H19K)O9(6O-*,2 MMUHH7C#XASZ_%(Q9L=A*3)-%89C*TBY>?#Q_BJ?X=!(Z\9L_-P[X!7TSCDR' M>4E,:L^P)>UE>>S1@:A_HE[S)X=GG:)'OY(Z\LE16*7.U>6FM$ED1)2\JR]T M,5F(E2?#5.YUT:-_I%)S8C:GD,^OXWSZS!S()+^.Q[;Y0G]>G]::EIFJCN>U?^XMO.@> I3,U/%(;B%-T/D; M+N@PG)[+.15U]>L_^!_W.5E#D@EL8\I>[C$%F(0Q#9[_U[O<#3.@LETE4H&& M=72+V<"BR;___5_!Q>\;:(Q]!78UI4I]@G"R"8J-3"3-8M(83_Q3TM;2UF*[ MS,7/TQF7-?[T6"# @3/.'^>3!-P[,%R+FUB 8@QQAG3T-C^R1YS MOR-<[R=Y[3^8EE6@M)\FM"U65PA>'GHM.1?;6/Q,Q,^AD]\EVN6N:+0O>#*5\U!EZZ9 M. SB_\ CO6JC+Y8^CT?ON #")O]?CBYA"8M%[]^>,7^$JU1USIX:CH5U&^NS M%[I'^<&UAB5*//%\^2T1E66832)93L?1$,EI'NLI(V6(&6AV&,\H23F=S"2S M\,W;4J[75"=Y:XF5L?V1VJW476C;-9K% M\L7JXN*A-S?4-1ZYM\XX/C>M9&;BHB//KT>5BUK<;L/(O74^6$G^6HK+2.S> M.PEDC>]:%M\>IB/6F6X5DGQS$^?1]52ZJ_2+M'V?W9Q_D-KS5'ZYX8*TPN MJJ.+MM*>MH>Y_9$7M<+]6,G69ORR=F>FS42LLVW#R+UU6GS-2*YGXE:4^HTI M'C!(F;7)D)C<.[.76[>]7':2[=X4;(P4E<8TMB;YWIRXN:J;2D6C_3OUAH99N_:H@"'KFWSG1_<)>?26E#[$XV MS8:XG:>GGLU6^JR9*17%P MGZYTVU9\E)7(T+WY-Q4C9_-BP[?[\68.C> A*-Z?K:6*SRO#-< M7-1F]3CJF6T8ND>?)7F1KVS75Y?]Y;QA-SK%PMI2\-#X_EJ+63.S6<\&E5EM M(2VWZE59M),"#-U;:V:;NKYW;G+WXK877[7+>CE[/R%#]]:Z$M2K1M%>Q_B$ M52LE4]O8S$$3&+JWUD3G;MZPUBU!5&_$8KDA85^NG\$)1(HNTS1!2U-IMI=6+,. M^"B86KUON=BF.RM[6YQ*K[>YJ BHE8'7&_B58\U8NW+._1P#=\Q/:H:L,0R> MU/^9^"03NT.ED65HCHT^0N_GS_GT4_Z8^ N<=[XU][XW):=C^:QC>30T[W0L MGW0L3X4.GP[FF M- @!>Z- RW0=$U6N >PHLY6]J@KUL6YD,8QM=. M W@QQOR!*4@O@,[7;IY9U65CCGI \RW,$R)"^:>+WBK6*FWZ,Z>T5NY70G'> MRT^&*=(9_2R=VN^-_G6SAD[ >X![2C/(OGGE&NZOOX3YZKF($:)LWQ]FR+4TDN%E(X$HN-N#F2 MP(\"CA7PI1@T"PNK<1HT"^4T52(<27U4ASOY5/ZX1B!ORK?_M'Y&1\30WU<= M;+KLY JX24O: I^)2O"\7FVVE41NN>$E9UN[FV?GE5%W,DPSK?!E90A/WJD3 M/SH6?G12,(])P7PV/[)*O+F0[]HI$9F]Q&A5>YB;!<@=RA!^E'^=GOF%0R2^ M143$EP#!AQ9]/TH0?$R7A.,&PK?4/4ZT<'PEE3\."-_'\?)&@2M8?2"Q*Z>P ME2,R:8[78OE&82M/]5KY4FCS+47UB:9.02Q_3A!+US;D66PD65 1UY@OD&[1 MGH.RM%"QX,9C%4ZR.,L8VVL)2V\%K9!F+,BUB6Q87[CQT5%JO=_8MWBZTCA8 MAOMD+)]HYA37\0W=[N)\H1E;A+K(7*DRZDZQ""V L"T&9*V@:89,_FJ.H?/O M1 >IVR*1I$40L45?%@LDFB'";\^OMX-5I;):\\VN])?T H$$ U65,)"-U!_G6[UI<-%&(<7-U@H**KMF AJASNFB92"8S<, M^Q;9!P(#A63[=GNQ2!;XV,U]9\C'%\U<'$H.)G_\2J1>U(K@Y!!@0B$/_1\]E'&W*-%F0?[ MS7!-8$%71)=O1'#NR0V[DFA.@:%RK5Q*XS9N J50#W_&.""QU>B M,B8&#^L;79TIN9G:*J1Z<[-:4U:DCP56DU*9/Z+U^8D[?3_N]"=K7%]9L6H> MSF3G)!-3'OZ%N)2,D2VI.GPDL(T9XYB#QU,/T\F/=#+E3GZDWV,L)_?'B69. M[H]O>!W6@>TWQWUL)("P;!)!BI2J+FZPZ:!/4-DPPQG75TP(;R,,B*UB2G>& M,NWVYX/;U395O,LJ_!HZQL$56?IU5V3?TF=4M2P'_-XT\IS31PZQ2T=3+)OJ!)]@=J3B>/R(G\CH7\3DK8,2AAY (<[JWMK:L/D"AY M-R"I1*HQ-VB*>=-L2?B8)8U])A?C=+<1FIBI%RNV==ELSAPG?7695B[O+RY) MEUVLB>42SU3$_DV:YGY,>_=X+D0YT6<.?_\D&03R?J(^??@U'=^_QOY^_.HB M1+3!.7YPBU G8V#!M9]$_;X(H&S =9D/@OTD)%@NO(LJIC_,+HPV%BL$DQ M XO[R]$E1\%L0OG[Z,'QV:=[>*TO:G87:.8G:T@R@5M/=S:7A$G>HYO?P28W MB90KJSR.F]OMT/??_Q7J1+@GC)C4".R*=4!,$ $R03':Z% :XXE_2MI:VEIL ME[GX>3KC2J2?GN0!.'"Y?/DVD"CCU80H?N ,1"3;K98^$^W>2U M3_9;9.=B&XN?B?@Y= 2?XX]L7ZGX>3;]3B>UHT(D_7/YC\1-39!1_]-K%J.H MYK53!DA.!\FEA3@0^RJ 00!;O)X>,4F-,; ;:)#N&Z#2<_ ^?&Q1QT%[O ^3 MHSR?D\>Y(4*CW#"53HR&HR3*#M,\DOF\$D_DDVZK][J):$GELK5AM H M5H6K83KY>?L@V ;,E6$;63'=2Z_)>0OG@BOGO*5SW1[^HBXV>EWNKWY#Z)>J M^/>_"02HPM%PYGB1\EM6F;VZ-OE9,[?ETU?&M+>)MZFZJ.H.4@3[D7%# M&!;_P2&LH2WP5L72DRXGSL3:9 M40";7$/NM["NCK=,KAN[.>>*V&Z7,* "QJ/75=RK#-!;8Q976!XB7F MP8J&QK+P=@)B@1"_%#AC'U,,DS/FJHT?..=^'ZNPKJ,AV3YSEV(L5!T A1>! MB0*KE3#LC,/+#D1-8G A&5F69&ZYOV .U2*;-72\.5*V#8 )J=+8T(8? H_^ M[9E2"TJGG,2-)=7T%\4B/1V->>[MP"9IVR3+?=:%@5^4/_@@1O&=!SFH3(// MWEN_2DY<466B#[G8[;[$GDHV!L,6'P&'-@M$(D_AS?1:8'=1;*UC1P.< :L6*V1TG4'K\CV;^WCE$^B:7,,P#;9/C9QQX>\Z/BD6_ M@B&S8&-VB<0PB,&, %7%7Z^G!B;\F+'6\=LL9V2IBHJQ#]@GV&OD&:2IV/RA M? J_!DB.H A#&6XD:30A#%YJ^_XIZTN D*T>XRU"F.;M ^C 1-94LBC?PQ8K MJ;9 I%>AM CQ^84@_!VVSLL@&J0[YN0$,=DYUNQ;7H>_PXI%HX*J:FT]VCS #^ M4P5=0[6WE -'X$XTDD5BE*M!]<^[YUQ%$%J>PL:PU@K(:-"?YM(,LQ$7@/0B MV[*<^8)I6"#.I/$8RS$FYH"#PYKF'O-B::/P:.#6^XR,WVDJ3"RT"9'@D0\! MD9/'\&)&^L MGDS NA5FX*KIZC9>L@J!EP%^-%I0AD#Q#.2YQDQM&*X@EMYK2QL7TBYFE'J" MY2G7OL(>P#%8$!3V_0O4C+.0 M/J$RLPR+-';O=R,J&+@M-SY"D;B$#/V]D_ MUO1AO F+8="-6MVG*!^8D ,.)=/0\9\R7<_C[J6ZG(R5^8'MS[N_]>J\QT$/A^Z<'YD.'N4[",G_\BEH<6[9B@,+R M:4PJ*$)8' EKB?7?L3+D9GK"VU ZR0,F;">2%@5#86H M2W;0:R=T/:\=[(H+K)"L:K$P#0GS*[HF;(TR!PM14KPZA6>L@R)F>8JA&9,M M#<64--EAHBBX'ZI7[;EL/.W04\GVU**@UDG\,XZ-+6R$C4Y0T0(\=0=DDF89 MG*QA2WSLNC(9_.$C]?)((%5]R_[YYX'% F:2'"(*-WB77&>6*\Q'"*.Z3J' M^+EIV=R2>D!A0F#!X&&1N$BNOO?Y:]V!YT]WX*<[\&.X \=DQ!0.IC,^=C?) ME(Z#3SVJJKRC*#VLC&!637@8\"#"$9DHZP4=E53:8S:$&:;E"D2\JTL)[\]D M.BAUTL69=6ACSDI\QO2>0O+U4VI*T6>,:"_R2Q1NQC==&13PWQV/C5G= 15Q M9E)5!6L?3.M@FE6W']0G$GR,CX,^L4+LCB1&HQ:#MVQ,P4@FXG]'#JT3&4O. MY=+ $I2[QK\2#Z?W9/)O>FXE<*D2W*<2[P(I$Q!";& NGOX[5B0RT5-"JL#) MF;<9BRU[#:Y9;T5GWI]).H/W(I"(&)]@P[Z4]>YS6#"I^[Z 9+4\Y22@=R"Z M4RL %*RE,)"P'ZFJ@5_O <@=Y.[>58V4 !3($-@WNZ7!#RJ>3\]V=P"&8UB8 M[U[R6 &13OWZ8?4UGF9W'MQ[DQX7377,DCXZTGM[&P83F,W=(IO[;#,FBD\X M.O*,B

D^!V^$,\$XLGF:'@FSU5F,&IV1 MDI [)7,*39&FN)YCW[=+[#+BKO2$"F$A.]X>S 2=<9V)EF&[N6)6/8:6D4A_%CUS/L:GSKAWF]27>F>'1&Q(.B;2T9.<[6$/ M7GCZ#>B?ZV&FA !?2'(#/?X.PA@Q/@ Q>JS[RXGSCZPF=G !!^$25#THC$@N MK/=P+I6@WQ\ZV'C\#3 JO' JHRV/%KRI+4XQB.1E(4_4>VPB_SK/=15XG@!5 M/PS?<[($)"EG['XJH'V Q@%LCH1/V*ZG@D45T-W1BPH:'T]HF:DW-FPV$#0& M+ 1_';F"HY&-@N?"U[;1>$?=/HQ[>KH8D0ZN=X6H4XRSP6>X+ AJ5?LR:.&, ML,J!19%&7PVWI":Y$@ G$K!E"V+# N+(O_;QHMPZOK],LF"9<., 404D7$XL MPOF]4E],!./F=H*.Z$!VNO1F86^6D#08N0/@SFDA\\(1X\&,8 M^RP+5'C2Z$MB.(TW#BC,E='(?+;U0XV>A+LPP&0,:MDG2)F;"XM@N M2V8]A2CFP,V/HFJ.'>1$F-UP%C2^8O4Z(L%% >"M:;3KDF$AV[M10<^4M%0> M8I%F^9(E$. ;$K-L)O;;4[P]BMU)&)!8801I0I2.@WS/ET821ET_NND=F-\1 M>53K?FP;A.= ; E:>S593'+##N';E V&XNJ" 0CT@-DHT/9,8V%8OFX&O)0J M$M[!C, H FCK6R8++>:P.3@+6>)4(C,$C^N 7^X%9^4'= 1O&Z*^^:1;^@/% M ^+>N-=D%;]SP$J'QOE!S7M7E@PP<1?QA@T\Y7Z@2C^EZ':[2I)S0\(,0W22BXY<5HDHB&9U:F4#$Q#3=M>2:N$M)\MM75R?*ZF]OFQV]=2KC: M*(=J4\0L)$-]BC76T2VDAXI38/3&$@B:.9(==0W'E)%?.IBGV->03'-8R!<6 M:+]QAT4%D7RR\(,Z?X@M.\05''%_PN*QX@61)_/AL@7DHOO/J4DS$ M9JA?YBN7<]5 C9N+:55X)T'X=J+&BP_VI4U$FB<-*Z0^K2)S;F2P\4V_^X]Z MN-H*!(@&A)AOSE+[G $5XZ'ZR[WP];U: 0?Q7YAQ:=3ZP9HP"4 &AXX?PP?K M\9I!Y^ZB,U2/L08ZZ"UAZU MQN.QG,):DPUFJ!Y Y>#UGSW%$G!"]4AR-+PDM^I#Y<;J_BV__]3SZ3S?^SNXZ=LG"?)B9= MV/[X507L\V_8_&P60O#DGMVC_C/WVMHE5$^J[A5 .Z'7";T.H]<"F<2>(@$( M?A);('.'(-P)O4[H]3AZE9@H#&%7()&>=@<[X=$)CQ['(\'+;SF(1&[DU(EW MG7#N37"N$P[9"/6MPXA&URI07JW!3=_AU$MVFE$G/:>O^K8K!NO M[LJ8A7A2>J(VI4HOCDBLQ$K2V$WK?*[2< ABK)(HT 64_G6K'!#GFA<4P7ZB MH5A,/8%,XH6TI3$56*+L_QJD;;(&F!:9]&;'&=%\;!:/3BWX8 A7R%R%>T33 M&,$1O7G$]?,N#7:\$W-'LTF4VP%T.THKF/B*20R $?!/$%>!3%(.:?F'E62J MAF,%0X79[;Y,"D^<^88_B?YEEO\99T$2(!Y(HPT '102VBO;7LXY0U5600IR MR&E)D8. /(?"2KO>E*>@'XZL89F8+-QX7TKM&' D8 JBBJ)?3C,17<Z60?'\-AO,< MBK$9D.@*P10_/90-(2I!O> Y&6.;%)#XRPN3H:_">Z8.0G$#GD#C/Y83A@O9 M:9;4AP<'HGNA0,2_JS?L"F@LFT'BQK,IN.IU%K]H+ ^&HVVJFW>:PB58R,N6 MI&[43CFVR>!8$N]4KO[?_^12N<0_G+6U;#1GP4?7[[14=Q+"EEB0LAM((+1+6ZWE 6-,1MR:4>)F:(9 !1=3SNR9#O.PH;P_YA!2V0KM#Z M@B#82?@'X#]#<19JLT"D[@;X:O'::6V;#[WLD3"\.R8Q[79TDL.]LW5@S,OG3 N@Z5 1;^@K2"!&RG M@N",Y+O#-<$:P,)NFFED+PGQ5UDDH3L;D-)?JONMH[/B-1!M[0+&+41#Y@3P MQO!#,0P^:26I&K&,J!"*7NO.IGVTB#&(*Z&C=X6E\I08)!P MA?1+,/ (XIAL!B[ ICEE7V,/F!_GL D M&+TP)+=!&,YIV!H[\+".$*F5@*ZQDU[EJTQL=LI3:?"6KSAY:M)CQDM8=7)I M0MN^4D-:(^^L/U,O\G,'NGYE-\G&LG#D/(V%1\K.B8P-<$4W&8LIQH#\7LZ! M0RO^8;--,QR%52/S*)()X\ -&T51W\IS2&4][X)+"02L4Y+!Z& X=HC]0EP> MR_>SH5K>@N0#6 QIW#[W=T$PO)UOZA8@.?#_+1R""E.Y_/&(&]@E[_/HUUZB"3;D5XY_RGTRE): M@![)*1X_,>[2']99=Y35=U8K=T26KU03"YZ52@E V@P#"A0?#Q,I>3Q,H=%XF$/C\5!2$DC)))64+,FL:8ODMF![0,8\ M?[6M]V9;)W=9SE\HAMX4(,)M;Z1B-RHW:F4]VY87PN0B7M SL0D>F=D=&:M= M"NO1]?QA5BFDQ-K-E=2ZX2?#Q/X[#7EDKB2G.A9K]4:_?.\8J^U5&X],[8X4 M5M)B5K7:<1'=)Y5%V1'F_%(8)O9GEQ1)K#?4BQ2OYEOM6EX?I[NU-1Z9VWLG MDE?;RV)-XBMKJ:@O+_.EBB8,DT-^=V1M>SD5%'V8$9U"I2ML+T=U7IO@D>G= MD>-5:QJ78[=Q/E9-/\R[I>K52("1^=V1ZG(T,M8HN>PGEG*SEZFN.AU>&*;V M9[<7X^7UU%$R_>ZBM[U<%*ZM;J6-1^[-WLN9"55.)VM\,ZFN8I9EE!?W:SQR M;W:[$FLOA/5U;%;3]'7Q3AUE$QA*Z?W9,RFK<6ND>TA4E=*590SJQK4QP2.3 MNR.5>=>)C;;%\2RFK.(W[;2\J-_!._?666DTUDXYUQW-$@FULABUJSH=F=T= MNEZI#+;,NQ1;Q;!N/='?T\J#0Q(N"0I.?4VSJ4]S/6+"_P')R MDUC#2@BH19 '9:+#+ODS;HI5%0.*O)/\N(!WUE=\@@;\(1V(K5MB7A)D@M#& MK8Z2=-=3-E;! C6'KAEQJ+!S;3?)&8$JH%.!S/)K>?N'% M@?+,RK1X=UNF,3&Q\8/AM28UZ=%)^QC&)0P(.WB%FX!&4->)9\F]$@@9=^;%=5SR:2Q)Y=;%;#8Y$ M%<3&"()P)RSKC^'$:TT55@!ASUYA%P"L;4V0<#&*5"15ISFHIK&5-+CZ=1O6 M;!>4ZO=G]':QEL8DAU5=!%T?"YI0['H=6!%ZV"_E@L&(25I6R9V:\ R71([/ MX8,-!.JWH)'10-@L"]PM++^S,6+K42/-=3!+?M'RL/<&VWP>Q.GE/H$9!SCB M^S$7DJHPQPJR.0OS/\71J/OFX]CPAS#@:*'UD98SOX?B M'2(K&.*V/=)1H.O14QX05MJ%*@N,*/?N6\\XQ?&"N'3)#AS:VC!G 0SR^DJ$ MG)ZT0,W7$Y?LBN839>;OQWSL\O M.6Y:]@2?5O6V$W#\@)_7 RMA+H'B,9ZV MC7&2'5F4\((R 22(A]0#,*$BD\VNS_WN3KZ$<]VVC-\A78'+,Y?HI'VQLG^5 M&U(#PM+5WSV]3G1[M#B+0X587;D)M>WP'%"JPJN12:L8,5<\H 1=BX9GUJSS M"%"[I1+@.[_[C;574HYQG*W;Z2K@TP_P:ETY'!RSFZ_E%:[W%T5\]N3HV.6" MN\H0Q*(5!^_$(T_7JW((7%NUW7A.4BB(G:NJ,ZE'KSK(VZ!9Q3$4SJ3$4E+Q MJB90:LFE]F-3+$.)3/YJ=Y/ #V6&DOH)>A!I*%D3;DQ*1A#B(/4 M3:&1 AB1=0/ZX(PQ% T71=\YI32,?EX6/'$Z[F>29AM+6YZO8TJ_-K7$S37* M7=\WUD>121I&5(^Q/BL<"? M'G@]8 A0KPL3]W,,(MQ_TOL7*#+QY,5'(-#?&RJ-+&@:C-[YPN/Q:C'///? MO=5NW/X!J!]*"$B>)Y.G@SB"@XBGSY,GDCB&DTB>)U*G@SB"@P"2R)].X@A. M(G6>R)T.X@@.XB0ECN4D3E+B2 [B)"6.Y202YYGTZ2#>[B!(:G(X=?QW;.KW MWO1SM_FN]NJ1;5(V-/CR__U(_GC.$293YWSAI!S>@B1!7QS],+4XDU<:[:&$'"DTG^;/__'OT%LCPE%KZ(=!@ MI>Y>=^H'T?SK(T(#LCN>P ,7=F^"#4^)GT_!AA,//PH>[C9HV/WW#7;#3+*O M3*IP8_5&1/B46?3USC;_Y<^6_T[B]N/9U8G 3P1^W&?[5@1^%!K4JPD\0M7: M3^.3983&X]U*))^M@S7=T(>H0WSI)HY([7H#9OU6NW_2<_[FR$UB)X*17=%NYJ,U2[2TZUE=$< MEH1@%Y!$J <(]/]0#)O]'&H!TJ(!P5[TD]?\(Y;XX24;CNMIOJ"-%OW!NMR= M3"ZT9;< Z7Z)'[^RB;WV'^]+1A\N (^,C![UMG\[,N*#9,2_,1G5T7H3B]_E M6V)W(\"#F][6?#\R:L?ZTDTCNQ;[15$=774:ZW'E88W)*/7C5SK]H63T,<9$ MB(S^=9(O;T(8T1&O;TL8Q8UM*[UZ8C23LOG;8NUBV)GDU^]&&$JNJ;7N.Z5[ M$6G#6O%&G)6E"1!&YL>O#'^2+R?Y\FYD]*[RY>$R5DAF[(0I=OO;P65N,%%[ M4OO=R,BL3)NE4G43%[=K8_Q@Y=.-9+R-R2B'Y4OF0\GH8VS90_+E^-W^K6!L M_5=VZG]+#]]G*[UO*]L%FV!;50]PIMGM4C-&L5:7SUQ6RVJJVNY/K]Z/,]U5 MLD9Z7+IHSARUKF?+=_D[NP5U6+ !F<@]BS/]$7+\R_M//YMRWE:<1U'.)KVY MK-=6_2NQV2^76UTEV1@7WL]F3$_-VD-MN;;%9G[=;MT(X]C--5 .MAE3S[,9 MOZAI>)(B1V4A1M%"QZQ>)\2<51"W56%D%H8/*2GU?F9B9AB.)"D_2#^+3\P8 M ZGDV!VQ>9OJ3V.*+\]_>I_NOIR)EWMAC>T+\@S9@/6V7JY5M M'/&):O]R&C.LOEQ]/X,-;::)^F"1JO67%X-U[R%EZN4%('[JXQ'_6$RY$Y?_ M*"/O4.&;=T+VQ$@LB5/SP9S-;Q,E*S4>5_="CHV&H?WS&[E]/4N)@1?OQ*)_>XPK](6;P/5A&^R3'W![VYXMPT M)_UY<5W3A$8E/^F]6--Y_3%?I7+;HE1;Z[QTA>)Q9587ZZ,U/N9LQ#$;8\YP MH 2N':1]Q3'=%FTVR=L%;- A<7-.$S=1.'&32_)G')PAU/V'JM60AJ]M61XG ME.V53%HW]H--K&^"4HO%17:@),=9?M#D9Y-N^N':>?A E!I=;FH3NVJ,9XG4 M*I,:-O(C66__^)6)0JF/X!S?\Y@3AG)5YK.)2SYF7_C&'HK(N!D)=M9GP!67UUAG0Z$ M;I'+\)ESKN37AF?5VE5:;MNPTZZ!G=M=CX]^ZQ M5?J,GB-TD-]XY.R1KB.TZP&14]9>UQ':=*2&MFX5>3@[%:WWFM&3IC!,T#*@ MDV8;9&&(]HOQ&LC Z8X= @QR++0I!.L-31\F@GNSH-7LW5X5*Q#):(S7IV)5 M5\62C:OBW:NF[,R9K,/O5BU$6ZG(4P D6:6!6:P*7B)?&?#KIF,PDTG/ $\P M=1!A.]X]Y@"4"0:K%JG\SLXVK&1 TV92WIVT:G&'@H3&+W0TTEM"U643>KD0 M[,2:,/N ?W'?I?C:*6FQ3)9(6\A 1RGOO52M&6L46/@%+GVQUB-SA_7BD25; MGL:?O;[F#'^A?U&@KS9]'>T-;XQI M1_) *Q1,W$B>ZJ03A>4L%H9I!WXC9 ERCJS"T9G&!]QPH=!F34:@L0QF-*QO M!PI9A/J 8.7JFTC ,[ZKH,UKAE^TW7+"/$D(E^8!A[D3P1["6^ QNC0!@M6 M^%A[26R(^?HT@!>O 1I4XAGHYK$U*J%R"Q9$1:7JFXWT(('UN-@-'@($?%975-:] A^9 M05M6^.NG'=".DIYW#Y8V[8GH7.3W:7E!*Q^N$'%R?M\C[PSQK(@TF)HMVLE&M8,-F9B?0>(F^%F=6SJ2">VD@!^Q54+^$GX2UJKC*2P+ MC#H@=@5OF5YC4"',N#"="L[0/>& ?4K[R1!>SZ;27"%$L9[($O;33F8_*YVX>$8%_$F3-H, M:O=5NTV\,-([H!?1(T7Z2C4-G2 V!/098H-T,@WT5=L3/80U$QAAS+2@ M\9W&>H$)%FFD1Q0&:*D%YQ'L/N2Z$5P<\@!%SM0[&2Q+%* WZE98JYBYC )^ M$+8YOP^-^SHB_!P$^D*@M6 $;E$41,K1>*>*[ID7)(UP[*-D8DS46(1!!$4O M-;4D'W4)QOBR'E1O*D (?04D!]5!R+>NL =] MT=MKK?5H$R2B."GJ> RX[+TN_((]PEE(6\!&KSDJXT<,%8.^-,![QFE!*IT% MP2)9T"#4"(%*PU8-N;T^3L$E:WC1H,8QM@K8S+H2!DYE]\S"R@$[6-L/AP^K M@F!(LPY40=#M (H [YP3@B-(X\0#:Z)]>P$Y/<5!TLY@KN MV>X$[@D_Y\V! M]]+.AJ[)2543/(S9*_C-;N=&U6VC-9?NL6B@'MO(CHBA95E^FRV\(8PP&O@? M/';F-8L,NC1<92Q@0TR1B[ A)S X,_#Y(:304Z8OYM@TKI/9)3C*ZWM!4<76 M&.ZWZ*$.\91@3<6$U9/^K29B*I#;;E+'=$%M/,(Z%,3PQ%WH7^HY.G?O.'RD/ DS2$9;R#W)KMK9:H'$2<8LJ2'+]COGO5!#]%;MOL4.RP@)!!> M^"^2(D,.@'%OKCM%,'B-MZW.0:29JJ2Q7IQ$[]BOPTON=,F\__O,&[U^MS2, MF:/,?4M97O#._RL-62Q5Y!/UT\6>@: MK47!(C*H"+K2!)@4*4@$ A'W=FYYF[5,X%HM'N-OIW&T4/C:0,AWI4Y\M)BV?_Q*GN]? MGW*8M6H 7WHD)'^J"1+NRK"L2-#F>'.Z'-WGNN*VJAL= 9GY65GX M\4LW]B!KN_8-4Z#=,F%_;ZNU_9Z@+.VP M*YPCV34;+6)@ MGZ'N/)"4^ZLC@LO7I[W7!JZ2L28.7&@043QO\^;-SG#-52=R4LXJN5B)2ATQCSJ]9JV'Y3CGOE MJJ8-0YGMW)J&=?7/WXESO>3TWVN^Q&B[K;5RHRW M>67 ;XW;K1WK%*K*Q=N*I><":75?<>+3Q7;;5P>MV<#.7BJK)A9-\?/]XHDN MD'8B-<(-MP/T2^E:"B,G;7 =19:@UV&"=$TM\%P0%N2]SQL]8N:HJUZ-$.:$ M.C.4B/N1FM*$O"F'> _<_^VTMK<[90;]C@>LR,,>=X2'DM9-=\7B='DC*NGY MY?QF\N-7]GP_OH>>*CMQIB3J[$+LO0'YXC2ICP;D94M]AY1@ MSNTJ9BVI"(4N!$@FTWQ_-8V1>B*HDI#'?HS4V;MPJ]]7_3[X,%1GD([E\M.; MV6 KKB_39GZ=[F"LCB?/]^OWA$_C(^#WXFR0CX;?H*MEYQ-C/IP-4H:9=G)7 MU5@#(W/^,3D9T,V>$Q9\ (/?4F?^_5(57SZP*WD*[#H%=GW-P*YC"=6*M-!8 MI.ID8J()W'LS1R1SD1(',I,=U,6)K6MP7/E.RH"U>2!,(.AV4:M)P M6>[@J6S5(NY+N*B03&;,!W\ 93>JQ4N MY*KHS'O]?,IN9:J*@'ECCC_//ZX-,$.F0NZ3R8$O%IHJ$UKQ7$$T3CA\]4C1 M(^PY!T<]Q1+\EQ> A4]WM.LY\8*,2*L'D*<8R*X_CZ4K/@I[R'VHP^2N_+>( MNQ021H<"^')L9-D">8]4U67F&H6G6C04)UPFB#S793H2S*5G@E'1M$MX*G\QLF[99*NQ.!_CX\-,KE3J MI%K-IMC4A=)5\[HW5#?M?7\CUE$.^!M_>Y4M8E7& XB7OIB.!Q,[7Y]EZLW> M9CF;;LI3C'CVVJ!XM<4C/<*R @C&'?HRA 66"4;\[EJX_6?X8\F%_T&<&W35ZP#3,IC M4! UHWFA"W1U>.!48K$[WK4DI%Z))(-Q:U2N(U6! T_I:$#[&/ M;N@1N^+>OX"7W. O8+@JQFL- C=AB1!PC$Q["[DA2D8:%H M;EDT+PG?#(5"TFU&0N!XKD4 X/X)T'BW/9\EB;PX!%D?]G^%="_O^[_9M>U* M-1S+NR(BZI@7F@Q _'Z>R$BFV77A4M5;#"B45T8[U6I\NGY[+[1G,?.Z?+L> MV^:XCYDF'^&*_D WSJ?Y)-\ I*7[\NWDOK>MB]T;FQ?S)?4Z>2%$>_>C_)3< MV[@H)3]*_UVQ_[4>2_YS3HH/G)113M2UZ?AJRC<3?YR'XQT8,H_SLN32\.R4+> M]?K"Q! P51(R[,9+!8)B/37@B^X@"3%F" MDS$BN<%$,]3&$ K@1\ =E0+A!2!Z$2L6BW?&_(TDZFE^VM9CN]H-1@VFN= T M"!;-3%1W%O),<\RHIVB,0.\BL7.J31&'^ADL-Y2?.A0,BR62G7/"'"Y%'ZA/ MCD65!3U/-''.WYI"'_2RX )ZDN>M<",P+,N05?*B@$7+XJM!IPK8)I 6R*Z% M03-6L"Y,8^$"$Q\ 8/M;T7)03X-.40 ]?-"YD@L%@7#@1BYLU 41SA:BWXB M[KOW]L.]1Q!=3NHTQH/;&M8>.\-.83[O;]+Z;_#]Z%BO!HH.4%@ZJVHJD\K5 MQ>V85]KY6>'6,2? S_ M5XKM:("'!.AN 8_?(>K]R*NWH>%(Y_YARB4^]_?$I%=0+D$;/ZHGA#E2TAP. M:F*Z)<9L8Y2IM_/5Q/@W#+V788[6%D?*72E;$RNY4K:PN5^W\G?$VOB,>_C7 MD^IC$+Y;%N[7^K"?G3G:IINZ;\VWM=:',<-LKY:X%"<7%A^[[Z8>K-A-?QE? M VWNWVT";A+I]ZZ[/;6\YF:M\V5U4:M>H$X;^+/"2)Q Z+^ M\&"H5P(_(5W?79=NIV,QMA@KVT&FODUU"5OXX$C7#_8@O!)-=;2+X""N_HZ+ 'S_V!@ &^CH#N"#\C82L5JK9*7N^GQL57I( MVO7M: 4H>W3,\X/@D4SW>O;BKF[SRX>5+347_6Y]W7X_>!Q[7D]W5=4OQOPB MUA^HY:NIU5P/VTOAW?'CY5K)!\'#FJ%Y,HWBEWRSI!8RC=6B?9-O1^8YO>*+ M8"*4AI= B]]H+*_4\-PV5LB<^P*I4*$T.?%R$VI11.G@_?E M8U7'Y@/( C!!#1U@YF6P,F_8"-EKQ+YR\XNM0-DKJ(JC0)N$^W_< D MFCI+DBE"A16)9U.A!0Z\"BI>R9RG@8:PS>568O*>5VB9#\_%#;F-P>B'IU\; MK50^MWZQ)[(/%7O\#*S>#6@.QQX#NO_SS!CGPX%$KY0,NZ$TQ)?N< K@4H;;Q9*^H*;C.0YU^UUA)Y8J1:YEM#I-<1.]Z+:XH1*1Q3K M8J/'#:J]"TXH70N-GMCM<4*CQ'7$*_Q(B3QPR^'G&UVAV*LV&]VCX:!-G;MT MM"VEI40^F)SHU08@=P\0G$Z<=Z1\@6;HDQC0--X"5(R98'2#@ G,2JRINJ"7 M!%Y &GZ5N3"\.@:TUHM*2@,8FK:-&6O@#)"]JBJJ9&)CSW^4!;.Q\L!5768W M<'_)!HD((BHWU'7S2CR \JV2!&N@D 3_C_]H'!>:6%A;ZZ?[QSQN$EKL$'_@&HMS)&<,:8IJT-1S[)ZFV$'7L M@;!M-VZ?,I=P/T(V+$=_VVD-\N@^=M>]TRZ$+ DO^9%N,KF])B'_]S_Y3#;_ MS^XZ=CJ)?%I(O0O;'[\$+$YD+'Q(KFW+,>4IQ#MXL9&^NN3^A$6WC\:@9^B! M&'/\V67<1["W9ZK=Y);9&F8479XFE&:7[UX_"&;=&*UT:(!P0/-.Y#W3S/_@ MQY!&BY3"-OA+(%C593E 0S,FVZZA M.>3-S-/;G4W;8O]&S\TR\U1/7@GY0M$.V8;51OD%WHJNC:5>U;*P1"L1%84& M,70)R/ 9DI^LR. 0-+PL7BQCJ6D_<[.]&UXV.G9W#/4CSI)\YBR?B&J3>C2H MPU&D.%Q09CZ'4EL '1K7Z9' Q 13A%0Q@Q(PQT41[^CF_:KT\"+G78L=:QE; M0X#Z).9G7"380$@E.J!M8RKZ]$%'?.;R.C$?52OU(N1Z9M(1#OHCPI:0UU7R M8B[(1K&*0XK:NX+BW%/8]YI8G52-DZI!5 T=U%Y=(7K%_\2IYP J-;,>"V[& M!L=2-@C:=5RDNX%/+NOZ9!*+P191Z#R@X/BS*O+XCY"!JD0 D\BK*>&!:ND M_(JU:< ,#/\'C_HO]QLZ8'O343B,IE"-E7IBQ V4^C.X!88#\*ES[D1I)TI[ M'J4!=1 :LFQ"*G7)@MJ> 0D:T/3#QNT9:/P@X.QPCDXT=1#KDI6?"I((+:CN MU4HG^1;SD9N% G0+V;E,RU)-ZETCCC!/HE,G&-2[];\B]7 54IY][I#P42^M MD:EH^ E:@(]:Y5 E&D\^-Z#X=6#WBRDINQ[,//$;OG@%DJ$U ;&$:(@@V.'G M7#%4J5ZGU=MI:& X.A$26#P@0]X1NXHS;&X$[M:0:Y!96R]S_STB>W<;2'ZU MX@"I4W& 4W& (RX.\*A_]R203P+9];(QT5OT%=">U[RKR_H_[.NXGD#P%59]'(6A\H;V:<*OOQFJ,!GQ)_NQ*]]/ XHRXG4FK8$J3_/+<=] M6QX9@]KKO)BU@_ MT4?&>GV=[U8WGW\")*\<#* M2Q0Q>D;P]\CC=R:+K;@R+BHB>DA/^)MRQ>C7WCZ8]6"&S\>!OE=<*[W;;;77 MCPDJ/UKFC=9F^9F@OQ[WX_HZY91FB>+=N'LMESKR8/*\.%&P74@O.!+E0KO. M6<&^)CNZZJ&,ND<2ZMQHOYT^&C1/GAHW'Y5H=\3T^1LE7R.1HM&M;R[[RU55 M'&2+M^/DC;R80#!U_CSSN$K[1Q)LYD41W2\^#.O:B4V,?OMV5AR@:2,U?;AU M1A#)K6H'U-57T=FAA!/=H/WYH"(5HE%'VV!!*PY(TG:;9['D0"_BC=$\J7C M+NW]'$+9R\.5@WFX+$@7NG/"W4D@L9_@T;:KI,$01AZ(+,-, M.ABV;NWZ>X!TS;D77Z,A?0+%*GUO&;W@(/.Y8H\]0Y5\!*1$/L=KEBLUZH M-@2(%C\:IM74H_#<+:;P%]"3&W(M+QV57@X!U2$W\GJW=2IKKBFYG7Q)F"!< M3N%=V*:ZX;!-RF+'H2P?>[O[J_M6MR@3J4CAIM1 M9==BQ3A[AD!/QET71+#:S7%1LJ;LE^CJ7(ON\+;8:TPN1;6DYC+E>#>;F&-- M-)&+4$5WJHM ,SYHCHOG\!"#VA.@UXP=XJ;S.F=**TG5:/%.>"#,S4D?ZKU$ M!FZ*H$FWA#'L3SUHF":*M5Y@O@2 $0@Q1!YM6LV9-YO"&HGSNM)3$MJU>A\3 M(#-F/PD][(9U\^+7)T494;MKX.@B_%P-@Q7@#!58I<71-$F=T\*V MP,#F.M3GEDR5-'P%_0;"9DQP,+'&RRQDQ:O2YE9Q79,8-Q+93]YK8"49?V;9 M:^YCM&H-MFCGB/(C%:L:7LT:_.4$$N.\^S_&*_W[N;%J8J7'[1N,UT/#U=,YO5*"9'08"\)B7A-41*_7G<#&,CWC9)ZJ3L3(]4 M3I]3"2G0*'7GT$D76HH]P%GW,TE)G35V_TRJW\KJ@B:&0A-L&\(T(939(C9( MJ/^ ?\42[-XGZ3K4%2:-V1D3V-4+B.E*']U%T6##/M;JF71:5R(JP 7;X#'/ M5K!_'_W[>4W\CD;9"B;P$E@P7:\F)SFYL;66=;JS=_)PKAZ?.I-9N+RVZC)1;%RBI;RLFI]B%%::<; M\+X/<*T+3W/&VR3C^&JT7X MYE1 +BM$+I<>G>V0TNH:V@%%W>TH$886V7%(;%N60]I'>/5E\?L KPUZ866, MQP!$_#8HD0'Y(^=J1RA0[^P^JS?ZA2O]+N'>%80Y-S:VRFO4EUKGA!TDPP*^,9.LW\?9R?7'3 M'XKJK<%?*:6TV"P_583-+0(=PF1&SC9K'.2CG?DS<.5<,77DP5^*]XVDWUM,.M> MKX>)86)W9*=E;U)WB_NDN"UU'[:=^2H]ZL+(O7UOLQI5*02X-^ M?2 (6,?@=T?.:JJ37EI-J5^<]/3[B\H5UJ,FP]3^R-J%7"H]Z.M"?WM;43++ MSF*<' EXY-XZ+WLY=5A**)T^NIZ)O:%R6U#SDV$ZXIW"75I>;>9KL1FK-O,K M^R$N--?#S/[(JCENC6-SM.)CG5;:B@T'K2[>479_I#-;/\R2US.]KZ9:-F^L M"U.ML<8C]Z"4E*ZOQ\EYC;?V=_(976'2E1$#.%6RU6 MK$$R]^]D5U3T/*S6$?N)P:9F'.[[?3$U&08Y_>'MN,)U+0O>I.^9 QS M5:U0OMZLQO2=?;,G0O2.=%3)Z15L\+,5M M1;AM-UKQ0:J MQ6!4:GK6#XW33:+_?ELF9)B^7E^F\5#(U#J+MDHW(\Z=SJO M7EQ.3*D[&LW7;1BZOX#<;6_<6:\>Q/EJ*>6<<;>ZN7B3G5_UN M]ZK8O5IC5?,&+R "LQ*%\?!"+F^LF32;K<1$N3>XZK9AJ/O6 TF$CU[?'WSJ M437N\]*&#C8L>)8_PKW9#IKN7B<7N# E!Z:/YJ3_1.1^2FI\S-F/#D+AQZ]@1Z7__'L4V/6) M0Q\#$C]V=FX(]>Z_X7.T(:99 P#\OQ^)'Z_%9)YP,>95<9TSBPU';I4Y]^KJ MR#'=T>T]V/Q)>/!;7.PKGST-^F#-(VZ19%I_/\GL]N]G91FA\7BW)MOG<\%' ML9Z$7AW"A)?N\5C(P<7O]]O1%]1+WVKK'ZZP$K]ZU &__S%_0\0]"ITS^OR^ M@$I9]D(QR=V;I$]4N%5B$:Q_J6Z9)"_U\,,2'UX91BD,^W8]/6@/Q/:ROQTNRC7X_[>'OKZC= M?;@=\]'B[7^_HB-E5RYQR5" WT=5&_MDRC^4-?EJLN\QIDJ'>H7G0DDUC/Y[ M\K IM6ZXD,[/V,#5,_OB5.TOQR8CB5U^. 1Q6"[ZW]/\R M-E98+8 ,S)!B\/,[Z:A'9(I\M)AZ?_7\TX78R;@Z&5>?PD6]] A:])VUUX&4 M.Z]ES1>4W-]?=7\SW>336=\7T]_=Y\N0$HJNU!76M#W%@RK/A6U=NC?,(M1M M"&79>]3E-WWL #3]QS!T!:Q/QR MF^QL[QK]+J]?ZM=5X?[A9C+,@#D03YRE4_&3/7!T NOU":''3$,/B=Q\7)SG MG'YF9JBS5JUQ90W;^Q5F%<>$A/M=FCF\I+Z%QHYVI8Z1A_93V=E"CM- =&*) MPD/JH7R[E-H8[=/8"M[/E/SR)M>.LE#58Z17L&5QG?^3YHM_2M]);ST97-_9 MX/JB6D=55]#X%5RSJK.3N7T2?$=H;KOTU0F2%WMO+#UYR/1S MF7N^N%TGS2NS/HY?3HY$U#UF:H\[W6YV,D_-Q,1P+927\W6^DB_E'JSB.UG9\G0]MDM, M>WHY+]UFH9(&MK+C_/67\&]GS K=W=6N7\[JXP5)W73+TGW,E0H M@FB?5.YD2'\#0_IKZBB/4-M].]FW)@MEU*^IX_$L!77YA,G[J"AE:9.H]?++ M)*\^/*P=\>$^J[?6&$9814F^2$,Y9D6D9TJ8JTAS5J':AH]X\.SDLOA::L5) M>SA:[:'GT106T^1# ^C-]<_'MDG-NA\K?2EFCVXS"?.^T_X*"H18,M;\I3F^ MXY>+UDU)!L$_3X,XSC5FM?W%WM2@Z MFYSU3BK!>"HL5@^;1;(_N..;]:TLQHP9J=7YA[@MW-+NW\D8."XOQ6?G?G^* M%^.S-_U]])0WSD%TZ3U"_"_:US=U*Q//SHH7@UI^N*ZTQL8$*@S#I47RC(\G M3CZ$;^!#^%*7\4_5:*"]:W>:Y'S50B6?8>U^-J=^IU37S][620"]82JLE^?Z MB/2::9.+Y>V]C"6FS]^-7*GZ6B*=.]NO1R:+OE^WZJ+0* M>&2^6UFAXS*ZCH0FO\W5\"GS],Q B5AMYMUA$Z?LT8W.?Y*:(B9V?UE M_^I*S:,1:0Y%PFA3R5,8[1>6,U]&I2^A,3*A][*)5DAWT'?2?DYJ^W=6V_], MV?4N]18=S %T._"#RQ4ZE"E$B"^^D6EF6R5!YU%#;@FEM274IJ1A(20WYI]7 M;>&K,I:3677D9E5S@2! 1)]P&G1QY[2@;^K+*5'?WY@Z10I^;:GTYA;5ODCR M2/H**#KP0X1P:B3,Y>UENI/E8XE:\ZHK7:/T)6F12V[[GW?5?^1,X619?17+ MRI8V3PF@KZH('9>%]=GWXJ=HM),L?!\+S>4E/6GSN.0SN_Q%;EN>E?K;DKJ< MU!Z*V^LVZ?A.O(K9U//*8G]5?G0RS([<,'M&O%M 5$+L&Z#_*>;MBPK!4\S; M2J+'.^,53-ME$>7@H6MNARMIY8]M7SXRI+JR]AUSQ!A M"\>4I^!W7)BJC#A)TPPYHI/JU]>WCMG^2V(9H1@.!-4Z5T8CV,D](HR>Q9.GZZB_OF M)M^_;<"D7^28@494W9'H.1\)RW]S -T[%B:@+?U*U8&>?L9SH:42WA-/> RH MY9B6(^DVA:!M>T\Y+5#F@?[]+M<[BJ6O[EKUYJ;?LSH=5;E[/UR5 B7 M5T[_QG6/B$\%0$,Z.+:DK>'8/:.(J4U2=7&^T(PM"FCVF4 OQWKL\CJQ+)94 M7KU(;2[M]74R/9C\^!4_W\]LH2>!<4@#D..3E.D,''*G..,L9W2/9)NCYZR: M'*,+B*HEH^"T\0';4\X%%V>8P=,_XR2;6TFF:C@67O$4*8Z&GUZ077$*WJ6% MAV/V,IG"8W11%N;Q.NLGO70D$U,Q9XSI9WR J7/Z9V^J6@R?2/-QBFDC]A+3 M$Q2<9'&DN)!N$?BZ$<&<@5D86>R"-+"&<9AF5EC9M#C)1)R),$U@>7+."18T M)NNBA4TP@$OR9QP(3(KIR#TP_,0<@Q!NS&VBPI(VIFRS*GYI$._I,K]!@],W MP?6."[D7(_VDF+G1-VI6[R?FR6:CL#"'Q?GZQR_^//\XTGMHA+Q8\1":C"1- MTK'A0;O2XE\=0(?HL1!P3JH_XQ]&2$=CE22;DH!6_((@20!GCV?_L?!G8+D6 M?@+_1?PPY/$"F[8[18CQV;5D?3"VT#60)5PQJ\M'%Q:66PP *M:';K] MO] M3A&0U^*?LS=3"YUJ M^5JU1IN["6#?4RP74.9]SC-*U!W-@3IB-_NPG(LJWI.2&-?[ ZV^$8[G0 ?E ME) LQ*LM492)K M@>6LNL)BX?QH=+V>*6%DD(,BT_*8'%/])/_T8?.>%D E,AWWI^IWCUBQ@14Q M*BL:EAV-D/>3_C A7Y:NQ816M2M7]OIB8[1!J,5XH>PTC)&K#"@I,RQ2+9L /?*?0I^6&.MR$4)HC9A$>F0 M*(UH44?G/B#O\/G;Q&R@HP"+\-,FFN*Q,.V585GG;^WX\' H^SZEKU;*@R5, MLLM^I30L"%FUV1A<31[!(%*N"F/1VC 5"^EOC$*S5E.X,Z;%@9BXZ$N\W:ND M1MT)5*3>PR"H!NE1/3UQ"2N.2?1;?,I8<4?8^L-@G5HBR[ -S,8=S292X#'>2'9/B(]8%T% M8(P M_?" %:+GW%TR5%4H!),H11? O,IJB5KAN7@>3&!$&_&._DN7@:E7?\& M_<6[=<3@^^>9+H]7UZZ;CU%&R,0&0[$R[)6RV:Y1S&;;NV35=18+C? >20MJ M2"4?L#T\84$SY!ES%8Z&V_DVUC!G=8%?7J)QS[J^J"&A_<.WC07[D7%#&!;_ M@6U&65K@I=A86WDSY]?>5'%I:> M\M9#R;NTQ/O+_?,M\7A95$#B-\%O9=EY1]CM=1="8OX:B4B9>@TQORJM1J^W"YU MS]O=M7_$%@O>CA3HVW+;K#K567-6N=$N*A>%ZUZZNO[Q*Q>A$W(?:G#>MEJ9 M\3:O#/BM<;NU8YU"5;EXN7GW2KCD2\EN0=>-7'_)=V*C8KM:NVIB12=[OA^M MSCUEMYUQS[;9'L5:GU)TPWX6M03T(F\H+HM"TYDOUB-^KM6M^7U' M*5T7,,DESOE7^DM>0'>>TANJP*NHJU__P?^X>H*L(EJD0\0W=!5DW^_>__"JY^_P*6A24$MC6E"E6"W*I.4&QD M(FD6D\9XYI^2!AT3V#9S\?-TQ@UY^.F%-@ @N-PYG_\71_Z,\^?)-('''C#G MTB86 !F[Q(UI:(R5)OJ8^QT)9OA)7OL/-FF()?23]DA<(7AYZ+7D8&QC\1,; M>/^?O3=M4E39VH:_/Q'/?S#Z/N>-O9\H/G7 MOYF@EB76V$YEL^-$GRHKA@E^WZR+0!$U>B%1'.A[^3)C_ MBC%@X +1_)]V+7UDTIQ+*S:A^!HOM.+M1P+[1P!+^7VCMI:2 M^.N A5YC_)=D"Y'C8+M1/,'L=@#*NU#,F+U52M(*KQFN(UH$I\/)+K2VS1B9M=+CW= MK+"R4UAF\TLPDCP>N:QE6W.S)Q%(:5"2,HCE8D*M(6#A9^+"8E2=M^,,GQZZ M&;TV3$IY?V3HF7VAB6!,$ZLB%$:/T"[ 6P1;@@<@QR-[R])X5>[/-8[:+)NK MP5HQ=44%(T-O9[T!4F[4&CQ"K1%/SX_U'CIJ@)&AMY?2T.2*MQ_LN19&= M&4>:K$"$WXZ7\C(U:WD,XIFKE%+.S\H-L2&0X9$+>[VP:[19X%I) E=*FP[) M%98"%1Z)::J<;+'5";=>#+@D,(59M-40Z/!(.UM Y$(IW>%*TU5Q/9ZT,PU] M*3#ADJL<&(74@)7IFVRG>.IE-!J:R.B M99?94US=;BZ[DSF=<7C*)->US;AFEZEEB*N%H324*!0C!1+#28$8 C00168H MT+*8E' "(U#QZ!L4(DFR"%1 3*9P@2"(I" J248@A_1(1E&1'N%R& OJBV6M MC!>17*\M<2MQEN91B!K$\FAWRJRXI M$R->S&5SPHV!E*I@R+]P@K1\F@CG3/M5C&]!"-#KU=FU2ZUJ5,F M4A+59L>N-C!R!)^)AG;8*)!NJ]E-YW11XQ;(NM'.K%WXT/!,*X75H%X!8,"G MN\)J#U=[#.Y M=:8P5'HBY(70HB@DGB*RX%#1UX79;*6G^I6A"7DAA.Z]/*UD*2.WX$0F;B^: M*%)++2$6AI-O@>)U*EF73&JW%5,\?&EK^"C?:7)PF=*2FRT)/+$@5 ME(8S1:D0Q#*9F:_!J35+T6B&-+G,<8?)% M%6!L:*=0 Z5;*S(_X=)9%"]W!+[?'"S!R-!.>3.^CN:M295O==<"ANMD0U]! MW [MU (MB\JJ/\+X5F\QLC.#%J>-X3/#.T57N_)J98U5;IIE4%U:S@HYPQ\: MVJGXHEBID:,QJHOZPBE2*][)-!IP:&BGXNF,55:'^!S1"CC &+E:6+3]H:&= MJBG]7'8J%HI@ M/T*-O((-GJ\M09@]'-5+^(YF=<:5AR*WRI/;!5]=09@PBE MTJ36)WE$E&UI+:1<5L?A:13:_6&AWTG9&<7E6P4,*V[$7)*Q&V!D:/>3=C*E MIXULFE_G'3$K+JI2<<."D:'=-_K&9-RH\ .]U-L4Y_1IC/<74K^'3*98 M7_>6_'I9RQ5);>X_-.HU;+7HN+,D! IR M-IBZU?E$B+-@9&A/L6(U3=7+Z1:?RPHELCQV4@(0DQ/G]M0M,Z,TGIL@M0$V M=N-CP< MV(\X],QTOUS6,IU*7,^UU61GPJT&;>/D":]W7(:(3Y-C7LDX):Q< M*BH WL'(T#-U+RXM""\;1ZA,T=.2:EQF 42C2/BARV6C7RC2;8++E?HXT3#Y M)8V=5AO,;$OM(X-<46_Q7IRJV]EJTO"'AB8@+[,$AV*U*MD=]HBWO,5E] $ MT$&WT%RNU0(_U74RGDEN\&K#?VI8 N(2MN!ZCE7B2EVGA3%\274U7\LZ<::J M27,HM8N.+LYJ;%,8S[D-I )V0@;ZR(*H\3B/\BV/'(RE&9$M&\%S=T)P%+=Z M.]:RBZ%\(N*"G3?&\M601MVV9HKMKGT/AS+WM!D,/ETCU+5[<]T039E)0JT:NH(RFK7BAD]>G(XNDM?(J9BGN8T0!]IR/+,*PE M=)W^Y>;8!U-LRZHP)>G^9I MZ*W\IOAU/2)CWY[&R+L@];4B53= +W@1S8/5!UZZZA^DYLL]E9UZQPWVW0I+ MO>M->M3"4:^&F5+K]GJF^)6ZCE'*TD4;"Y#C*AP62>0L6OH&IUK)&[E*T3_:N>WS(NG^%Y7PE;2/EY'T4 MVDD#&+;[,:,L%,/RO^"76MCBDMW(**+5-YM<')_A#7Q:,$J>>CU<*BSRXRY' MMU1=D_JI(6M5"W05IK<"=85\(O"'J.=\$PG_Q@(>Z1EGE/#%#%LC:'](\90R MDUJ3E+X<#J\HX1DBCJ[6HM5&M%)A.EX0*LO58 8WY4LX^59IVN_L?LEZ-F / MSU:>8B.PJ[ @!OS!7J#T=:S_N8N)DT_EBP;'7M$K4\^4VTZC:6*\MVK7!G8?R;HI5? [Y6)/)!(Y91[6*7,5 M<(@TIM]!![HD$@P],WL\IBMIH3E6RNG?*/S_:7184TJNC+)]68\C%&Y,&WRO MP[, ':@ '>CO[9OQN[6.+0,6BYO9UL*O618U8?YVRDRDLYQ?9]G+1N% -+:P M--UD<5G.S>)ZR[+%/NG.F;*]O!XLY8Q^67(Z>E''L$:E7\MF)B0'+[\"I85Z MPNAPB9Q(IK^9"A)I&A?0--Z2:7UA3 =+ITP@M6X-'\PI3Y*-:ZH:C63EC &',R4P^95(F'V\725+N MMH=H^XI:TG"00S5!ZFM(O.1H_=)PJ3?2L$0-!0'BTS&K>U.&X):_K?P\/H1] M9U4FTEC.K+&$=Z@E!W[(WOK/3!7;*\V[IA;K_K6F/F[EYF>!;5@UK=BNH7/ MI#2=8TYIL."[Y)3/UY<+=M6]HC%65-2A,NOJ20[KDE3?P@NF6&\(?G-[#%AC M>+@[2@0PEW/7W%K2;N/.N?6J;XTOOWTMZ@V &>4WZ6$JZZ81#YMG&V+5S)9R M5P282M6S"CV2B7.Y\F9FKZ2NQ2(L !BHGR%/&,U\;W?/XY>QB/Q!D3_H#97H M RV]+NO*87O4K)NUXKS7,^!]$UE/DGOESW#,0^O[Z7@H(^RS)F0-!!C\; M"OP!H"%[(,^O(N4)D-3&@[[6MN>>3A64:IGUNFZNU(#M08"J0B!/")$,@>3? M$6!$[I8_QMUR.;RXG*YT0<#(4'-)FYD=BL>*K3J25[,L+2XA8,!<&>H)2X;C MU']_*_=)&S:>CLRQ+VHX.)!=V?)@OY>;0-;)FECG4&)NL+!;&W/7]ZA4E5.8 M8[/-Q50L-$9\W"$LM8"K>GW@MP6#";ST$X.]E: 7"?!G-(X'D=^P4O$'RN\- MG#&G!9B>K]=9%V-,+L>TE;6"M=CBW!=@J#0DGS#BK9BNKS/\Q^\A]FLW;-MZ M[F[D\!;]V8[[];U,\XUIIF1X,GB_LW9<9>H$RKSH.(KKQ$0W)H$W6& 78PX0 M(R?FCL%GHJWX?&1K0\^%O>A<*Y;)%L"""0;[Y^63;&6AF)[B)&+ML?^MD[D_ ML:$(>$128G[+#D6&3SP<"]O?A=\0VT[3A;H8^-*_[BB)PL\[ U,^E7JV5N)< M?4 ) C=O,6-RLQPWF];+XDOD)\3L=!CUI<.3"J2L*MJV0%>XI8W:LR+GD5Y! M1_IT-9->_OB%H8FP5AY0$3"JL7,*7F:7?R>][Y5MSF9$UD[ENUT>4THEI5%* MM@OT];9Y-$].%\E-J\W7RME)Q4TR%9Q7?_Q"F4386Q+;[[ #>7W?*R.&(T\Q MR'Q/_MZ'>BC O^T::8#IS!0)-KPQUHG@H\Q;'MV8LIHIIJ/$EN"EYZ;JOL,G M?;+#YQ)5AY2@3Y-(O*9Y8R73F5NSQI=I<[C.([/U)&VX#E]P,PUMRJHNI MTZTM$;W;U294.X4WC05DX40X*++?)MFS_3-AK 0\Z(YM18E-P:+'3DP!9Y1\ M@KW]S?5Y.7;(QD^7W?3/=9^]TJ8/*76=FU,%E6N)N09?1$IDHPYXDTB$,TXN MC\['>W7$H,B$(F2W/4IS5#:_)JL%&2B/7\?8S^Y5KB>W#*!$E?2NWNRMN31F:N97^3-Q1K4N^!4^Z M=F'.6)2_!TOQY%DQ 956# M1@SK:TA/8!I7:R@B#K%E:K5>#N^G% M[&NI8[!]6_3RNRR#CP"WK2'#@ /4,_UVS.INRP-6VH'=Q_AI>V3#DQ?\+^CJ M[$0]G>^EIS-#_+&M4P-_0P(A]]AR3[TCL3^UA^=]D^6/;:UZYV1!$A0:$>9B MA#E7^M>[Q\WE=R>U=<");FRH@%$F5': EC,#3[+DIUA1-#W17L<"EP-ZT>2. MZ^9OOL,I=Y#M<FW-G5]6IJ, M=4Y(D=WX4O"SME#RB::)\UUAN0,(JRBBX]E^8;TM;,5$:>YIP<$3$V5H^?A_ M_0L]F9WV!^+4]TX^"V_).3/Q(33=>JTWA:[?]Y-^!T/YDQTCF9:(O*W'JW.^Y!:& M(ZO+;EN^DD_XF]U%7B33'!CT7R=$XID7XP=N@2GX=>=Y2*!)97K"I_#247#H M7@AQZI:E#GP9X<>YUNPG8$UEA]X8F4!V; JW0]DS2$ST7"N&Q!#XWD/C_Q-> M[=\3VQ=;%7SB3Q^R-9Q#W!#7EN?^'&DK13[EY#_8N^T*M[+U\MC;#F."OQT! MPIOK.)[W$4CX4P)3?@,FF)#@^^KYRSD<(4/(E7.&H)L)A4YV@F3/%* M6].A9F[O$FIW0+I!3[*CF*\=;87I3-1L*#7EUS*M+-(.G(\^3\[D(XC"0R/(E!W&!I,D&]>F8OHZ/+G3BS6IL$5DB M%(O(O?2;GMH+>KG9><"]J^.@<%3'0[S)0J +CGG^0E_P3'>'1$7[_1_B9 MI8-]T3#JX>'T; C<_0;246$E[]]CD;NF<@] M\\>Y9^I^V9$_0&VX"X#\5HZ9]+;!0<0<5V .@!O?R@H]Z!0<\4?DI8C (U*] M(^:X2^:(3I:(/QX?/#YNO+^V#Y$]']GSK]GSCY.L]%=?$6WG[V^"K"<*6WY\ MJ4$:5OC?T-K/9=H_#I<$Q60C)KF (O903/+=,KN^"ZL$UOY#L4J$)Y=1W",F MB9@D.G0B5HGPY"-X97 ]?V==&=GY=M M9/3XGH)S[=6?>>GR?)SVN,[;,V_5>Y6/(T;[G?K$T>Y%8GJFK;I&;O&C,MKW MRDN^L\V+I/1L988B1ON-^K+1YD52&DGIS7?OO9)=T>Y%8AJIO#??O4CEC:0T M.DSO???^I,/T[JY*OAXMH?PWI#T'3$>Q8T'U4,MTQMK,^0XID^_%@7;AP/N_ MN?@5_OUR.V7'=H6F:*H*N](<_[>*9FI3;UKQ:[4)VX;*PAMME%/KBCBQ[+0A M.H[_E-UW=LS4/.2E[7/+7'YB]I=XGV_)9:-3T5$%;ZKA+M>R9Z\5T3[N[[R+ MZKTQK:XOLXK, OJ*JL([RL@SRMI(.6A_/>DE;4QHTAN^Y0X':Z/.B";6>!,/ M?OQ"]V)^U,3\K2_%]TWEST@I<74%2FT(-BX@Z;$**.4F*_6\P]&YQK4IE<(9 MK=TU1WE$J93KC6(RDVD6WZ44\AJI[C\;XNZ3X"\>17L/T?]UAD5 M9&CCW (5NCK[XP6JL(Y0&QW R*5@ BOSK>*HTY[P-:744N8ZR>7SRQ\Q69&T MJ6@X__LCCK\ C9^F-Y4M=_OW8]AX8WI^ 9\?,0=0&7P!#T"B+0GE[').;,I+ MA*=XP2MPZ#1?8I<")9 _?B6?"(3>H&04+ \'>$ M#&=1$+X_,EPZ0!?I!V<'AJKBG@"!<4.EQNV>+'#QE6G6A2K5]C(- (H^N,7 M_D1BD7H0@<"M7)9W@@(H)N"^ZP&Y& R4NHO"@"MW-GRIY IHH=%=NJ9Z33.A MQ52]7J/LUO3:=)W*F$S9(6+QGOO:>]YH0\788D9:(*K->%$RNQ3'4QN649*6QO'98,EV3WJ)4;D0,LU]C4^)Q T4D[I_:9U-6#R$1Z-E6_X4!]:C8UZ?CO(FO$$J1)A!MF!^_4.J)(K&/ M^; BN/GVUPAN#S=1]/Q;HLUIK]@RC?66"VSMV6@L#)K#\@V +#""CN)/ M.!%VCT?($B'+][Q%="?0Y.9W/;62'R4Y35PW+NXU2 MDN-R:D^?&KJ=R8A>GJJK$%V(R$RZ*W2)S*2',9,>#ET^;B-94LID(W%N/-1L^-*]E5 MIEH2S#P+P 4F$*#D$X+BG\L@N.]$@;8M DP 6Q8#3!%SX6]@N![=&X]"_U^1 M[O:>@5A3]G^I M[:R?8P'R=6U52&Y7.E=7K=;:B]JG3UP+^$]0E2G\AYCDKF MT%J&0G0Y^5[@'WN\P/_;M$+*(V^II_ D4D-;F>Z =&?NAKTVK3*I=*:0,_$" M/T^GK2R5KTF=QC*Z._X'WQT_&ZI'P?KSH85709L]F31Q;DT*JTQO;"3KU%5# M]:-EN4+.4OFU[@V3=='SAFFZI0H,#-6C3^2)_.\(#1[@:LC9T.!/\1L]%AI\ MW&DD"T,W'5^U-_IZ,&;45:4NQU<0'Y@?OVB&C&Z'/.3MD#,J"U$X_-NAPVD/ M3T$PF6Y5637T=;N&JD1V1$K])4 "& QGWG3O1$@0(4'D[STC%MC5^=S(-; N M+RY3;$BDR'2&&(%(:' XC3QD-YHIJ- M955W^5*GQ+@KBZ-X$AH/,#S,),,9^H]XN[P.4!.VG8WNDT?WR:\05 [8;8< MUMK**5;1R//8/(_AF-THN,M2[> 99CKK5Q;!Z5;]1M[<624MOFKK2*[/M MF8W(NWRV5D M#L@)E@_O@3]1^ >+GD?8$MUNB*Z!_PG0A#I<>DEQ!(B,C6N2@U(]VV MT +6',ZA'\6_S/U$G0"7R-J)%)5(4?F#T>6TO5.RB;%1*&0X;MKIIRG#2C8$ M':HI,#2/O:FD?+MKVU7+E*SI3'$UGRE$U5:4*:1%=&_[84/LOR.I>WY1V#VK M;,667H@U=*4NND@NY9$-IE_->.@UZWL#T=7,#*YFLY4Q-V>L<;;$SHAAKB&@ M8.7OA&WQZ*IO=-4W"K6>U8WY!EB4VK5T==C!!60ZU;*Y'%)<#(6KWO,M*E/! M6ECC(J)T&;'-M.Q:*<5"J"!__&(^6,>( M7L96(0[ T"<57?&-<"!R Y[/#?@&$NBHQ?<6$ZO"QYDVX9"C!5U V&O:"Y4F MK35P?,ISZT5\DUV8VFC6\G4"&+V,#(;(8(@,AD?#@H];#-T4(0\7S,KD:\D% MD>M)F79Y%&@*-# 9B,ABB#2%2%-X+'1XI46./D@;SK)0Y+QY7MPP_7K;#6P& M_V;O"2AXQ)N]!3,^LRU)<9Q8\_\3I[-_,M$MW_N^Y7L$$!^(0/Z_*'WF=C<: MAY8M*W8\&/P3G:UBCF5H8L9D0O-:\.=6^)#>8YN=5"]*_?1'AGLMQ*,CQ( MMIQER4O-,$ZOC%A'AUCWA5F2?1/9))#'121^= M]-%)_Y63WA14-RD@IJNWJG05J?:G5;2PA"<]#/N]=])_HWN#P1O:EBL:W^&. MX-WG,-SEW<*;9WT]VJ%[AA@?#@X6V?( *MW#X?JOL]VFN_4J[^#\?';P%3*M M!3M#%PM.D06O.D(6]<47,MYG\LCY^=',5JZ,C)@UH8OZ--T@<2ONR47H7,-@ M#(V@GS FRFV]7&[KK=G_TD)^PJJ\+QD/K?KB-^G.).1G36!55B6T.Y&<)I_K M#[UU9LPBJL-"$(!7WL@GE FWI(AR6,^6PWIK ;G\47_G*/!=3_IG$S:4G/H1 MLW7LN*E>W:UO^)K:7IN>VUVOQK[8P\ :ACVA)_I216(?B?W7'61_I-P?>,CZ M]3HU6B?E+K*V^FLWWDP5Y/SG$]0_I>*S\TT]6\)[9;UFJ(A'R3-61WP5'\:A M(AT_TO$C'?\^Q?RL2KZ5$=*,FIJWN5PS:;6&7,?*2,%I3_NG/8U&M2VBXSXZ M[N\7![ZHYZNXA*2;FDKPZ>2";'/=;,OH^@J 7]22>"+IMXI9^/&I_[@B>.VO M_\K:XO?E-?$LL3M.\3\!OX[],G\ ,]"D,OUG9CE^;E[()K&)E =DP,MT/9\T],]%PKAL00^-[_ M@!?O_CUCC$8S 0*Y/T_@&8K!?X)JA?\OB&U7+3,N!I /R!_3]KP1$R%S!/0[ MKF<(?H<,JYF>N*6ROX:#?90,1;2AL(^/*(3#:;W<_@N'IS!BAU5[B47I8%W/ M^_]__\^'N.!@65N&P'P$4I7XT%9$/2Z.P)M_BL927#O;93)H@J3VW+"'+K@1 M,2:!)/\=\W\$_(R3_WYFBX/I3,55_&#+MH 7-Y21^W/[M=UG/EK]]!][@D]_ M'#W6)PQD7@R(+9[0#$6T&A191)8KA T/1(($B"%)(HH0@(02CT:$A+E(+^".8A[A": MS)FC%.WP,WV>8\W>.%>:=NL H07D>&0/6^-M2L'B^IP=T/6&:1:M. M+O1Z/ M'+ \,^3I=0Z9XT(+IR?C-,\V!.S$,[.*-D3C/0%95V;-2J-:F5>'*A@9>F:N MTV<:Y"9>TL'Z="&71@L:T1#P\#,[XPW!2EK;XS'5MMFQ*/9Y5!6(\$@B/VQ6 MV0)O5<*LFV17X^H?OL<")Q\R0K4.&1 W9<6DU: M1 G!1#0SDY#!0A-8@0Z/E./]T<"9\!ZW;E!":QW?#/B4*C#AD<9L0M5*8J:L MQPV73C;R9,9(^4V;MR./L#7XWE!83]?QJJU76&1>5$9MIY,O*8 .<"CVX]5O M99H24Z*U^!!1BJFB4Y\CO58Y^);//2$@_W)%X.E(H5@JWA6XG-#.T'3+2M-T MXUCU:$EC1?8,Q1J]88QD/=>SE4,[A%O-%--1?&EL@PFE#$O2?^P6B0QR8MKF MV@9/;2PI7ZD-Z$X-J$<*4&%FX.6N[2F7.&8FGN-JH_6+0Q=]J2-#"!DK #VF M #76,06L0W*=F&B"#3=BXL$2(A8?0ST"R68!/>/=(/U.#]4''H6(;G'BN]YS[* M7[>0T4]8R <:\>_9D5@BHL,]T &-Z' ?= #V*1I1XGR4^&2^[;LGPR56/7SQ MS*VQ,[0,&?RQ#^R4&&?"*<0RBN0G10PO M6YF*P.( O.Z.;46)3<$WQLY%NW?= ]N_P+U;WXZ[-N5/AB/.MISWSM.ST_=T M(.*[)AN]%8P,6_Y-7WP!IM9&60U&)OI^^Y]0C&*%5LIK96HB/#9%D@4^7O:8 M.?1!X3]^T>0GZ^;=(9)AW^4X/C<*W3W8G*V,9P0LUP26*IA5>ZD8"Z7B:P2G MZO+V90+WAMY87_>]0FV5(F6N"+W5.+R4A[Q9P?^;*T[XM]>/(FWH?8"*5*++ M(1=Q,>2"&E![:9U*R&Z23)Y88S1?PA>"1'*=CN>Q @$!"WM*)L_8??1&N$1$ M:M"W0YD(3.Y8#?+!!#I&3L")5XM+6"W=TI":O:D8&CW.ZLVE0 9P0B;#E[H> M1O\A(_TGTG\BR+I;R,I:WBDO4&G Q@E#2O9Y<:9G!DM6X:BB*E !8A$8_>T5 M("H&2!=SQXJM^!F'D3[T<=2Y=7#FHOK2K1?W<.#DWY$+D,DX@4RZ;$D!ZI&U=4MNZY9V:VP3G;K[BAT/#+[>TBKO3H5GFG ZWSA8)J;RL4T.2 M%1B(>2CS1-#H1Z\.'5]&N1/)O46Z[?.=GNV\+YR]O;LR V3%@%W"P%\<9?L1_**L@'-XJIG@FT'&M+:OT9@X9J,83-,.$F' 9=5;T$P*$V?_34F""4\Q/X4>INI#47/ >\%/ONX, M+T7' "[08] \,A@'3"IWU;&8##8VEC9<@)Z_^O,2+YG$OHDDRQ1=4@)^C2) MQ&N:-U8RG;DU>PGLY"> _7#S:J-C?MD#.W7 (+5UQ7;Z"-KBIW%41U.-FM"C MEC]^(8EP/8@8@$4#;@JDUZ5W"CG<*42HD&ZVD%NC"H(5^.(X;CF\5&"ON5-K MIEQ&W2KC\O'R)H[GZS6LD?)W*AQ#WN\4D.X@;4T)V.XP?RVFF%!"PJ+F[R]< M]1.0% >:*(!'C?739??]2KEI7KB0AI8<_7'+],Z81,='Q-;#K9L M7^DZ$ /_'D:@^KK/5Q#]=@?T/TY8'TKLK_J_O!'ZO>\1;F]3DS0C,S*!"A(M M*P)!T)+ B#@N)$521F0420XIZ?BF;K^ZKI:5:7:&*.D1G;?B&"81)^](IU>R M,RV,>),3D],)X\[(+IN'(YGCD?6DKM(<,YD@TY&5S-#VAE^L&J?N2/<]M>12 M2BV+2[ M),XB6*Z8G;9(R1MB,#L6#5TE[S70SDI&*C6>$J=(SW+*C>J*=B%?YX9N M+37AYA-U0L^67VJWJZD:)VHZ M)V(L49_5X),]M/CR*IGTUGS!TDNBBX_S])1T:PTP\FCQPI!.2LA( @Q)H(1 4$E2 M$$RL?3 MJ9;<5;8SG0]X:ES-<.5;*FRP96**D+]11OJT1WH=*E21^9KTK%ND=,A-SR),O8]39:2?=7!)+K M>,*$E7M$IP9'$B$VK&[ZFW8WVT;60V]2;- +I(K ["SZN0# )9TX907 O5*; M*?!9IEI61$=QPI?J&6[6F(YK%0)1\C.N5UH*YK"J!DM,'"9 M*_BA2TNO>\2H1*S,L2VN=0[0"$QE*1I@/&0B_QU/4"5VK"G4>_UOVHKO-(K-Q+7_1J!32-9T"DTA M6Q'!SXX+1KGB:CM'SX5GL*8X">A!<\*3@?X<^$"@7N_F 3TJT%L'E&AU#!5? MQO_R?H_&HOQ1[==_AZ 5DN@F1RMCKC1:U9!B8]Y0N.7O.L0+U>Q'%#X_0 BD M=1A<3C$A80*AVBM[R(&RUQY)158L(55]/:ZC.6HX4NM]]5M5OHL1]4;[=,Y)MGOEDDP78_VDB#7EK @K&1__X] MO[WJ? Q<'Z&+KK[1F8CY\'!QX 7S@_[+5\J8V+36;";ID:UW*P(U8&84O>ZI M]U+&Y$SZ^(UF[^_]WK4,W;02]-YJT,\+V 4:2$$M%QV'P3%5/Q/KEQP!2<2"/9GEC7X<(72V]1?B8AR?T1!$TDFHLL=T@5+8$1$ MF/LC#)Y _]"B.?=-%P!D;U8#C^AR.R"+3OX[)$Q$E#LD"@I[7D1DN3NRH(E( M2[Y#NF")9"0O=TB7",;NDRP QB*C\G*$^>1-T7<]E5?>A*MBH&J M, OV"_P38>W=B\JU*BP3OH?I@60"IA"<"2W?@H3:!WYT+D,S"QDGT\1[! O$G0+B3KY5N2PZVB\JZX\LZN_$XQ])TK]\.__LDM[3 M4LJ26CA3))U$-PS>6>6*"CS8DS]^H4\$^E81U4N4[[NU11N)^Q7%_8]1Y+]< M ^;L\CYTL-4F-V9'/#5J%_B1-B9F;7BRHQ@4>)SZ9)WW.W=%M,:6[<9A@;C= MQ4%3]F^H^E>E7K@G8G^A)QL%_G'JRI<<#K?VS;WOI3S'4@/GPZW7>A^8=E'G MA'_YV!=>*+NL*7>V,OL6MA')&6HD.W8-Z0H8/:1G-:G448...&B2^I F\R?Z M(K[D^)+ E]+KI*M5:-#(>N>)#-6);X4E 80> H( M_)O]'Z+C_5-6R*T%X#K"[CL@;KW4^Y#UBSHHOB3KJ0(MEN1%1=25)>EN5"4W MDQU8>BGYXQ>%O&6U?./X>B3NEQ7W2)F_AH/B:\J\/$&KPC2)\VG"TF6\T/;R M+BR@!AT5!/)N(X''2*4(FJE$:10W2J.X>6N16^=9W'P#[@,>KY*(\18:*D1[ MT;-J(T+/.7QCT'9&G7:7#;IS4@01Y5_<-O_BYF)RZP2-FV_ 7>'$93,XWL*) M>*%E-.;UH<35XJA>;#;3@Z((:P53/WZ1S,>LI$B9N$@D]^8B+)*R@\2+4)5(PK:Y")J,,CXBG+AE2LC--^"N M@.*R.2-O 476+)>,<6LI(%UI875[@V[)PF"'@B!5A*;"[:Q>:>9X4"[BZX1) M///FCC?\3\"ON[H6"32I3$]4K'A9AN*P>$6(<[V+\8JN"3_SI0S:'."[4 >O67'_/:7L"<6;$<%>U'9\&J]%70TE/8=#:7#CH9#T8"% MVV/.6%%@3?]M0_E]%7[X&-4$JW&.LJ%@NZUMJ\U@GK Y0 SV,H +BQOPBO]0 M=#1GWZ]S^P X_T2LU@RDF"N&KFXAS5_6S)_ M\K+!K<_C/^($_FIMM-^I_'$%B7VKL,<_[U3R>-&#ZKQ%\>[A4#I<[/6ICUU% M_?H=\H=:C9V5!:Z#WN^L_SCC+@+FNP#FZ]5>0N\J2_+3(GK6BEM7A^1KD3F MVF].YW/5UOLNN/NEM-9K W(XBMCUZ09[>X)YBJH2LQ7HWWVN&.;[P(,VN,^= M9ILU?N>+AKT;UXIH.R=O[)XO-GU=4+_SV/1U/6'WO1G7\9%]*A#]1F/;CW9% M/FX*+'LVE+*W"PWLA)D-9+FY$V7_CVT@R.@^HMQ:SE-NMY ;ZM1@MNA/&,&C M,XV@BEB,2B"[>/)V#1=./+GN47[?_'QE+]%];\9UW(3G%>X/= "_M'2/%BZS M&BV9$J]DK62O0M!&&=L6#0/235Q3NF_M]GP@1^<'U#=9(\5M' M)6 -3?2W0U.<;VAM7_(6XB.H50^@/7TTC6_FV8K04--YOII4DDAI5:FQ[;XW M-OGECR_I7,^)>\27:ST=@71F*XY-((UUQ8:VY3Z]+X[M\5IL>V8M@VAS/2>V MU?@<-ZQN?AF42R$3V,>J/'X[K>O?KSI1[ME5<&<"?(<:TH4$^ -ZU>TDN!PW MN+53R#;Y^*(O,X-.?\#D7VE;3B8WWR3I2ZUU7U+UX" M.4[9=AQ%>#_V_#'6J#]Z8,2]*W##,4FKUY49:+5AK!QL7\ M-(VM'$IL!'ROF1[@/_>-<0(:X+>+__3\?RJ _6-8VO1+S MP4)5XD%W27$$WOQ3-);BVMDNDP&*(?6<9[Z;%MR(&)- DO^.^3^"XP> )9K<#$-8$2:8H%*>20I+ &8&@,$I@)'P$_AD24I*0%866?@3SV'YC2!#* M2&1H@1$912"&,B4,D^)0D!%41D@,)? 1^>(;L'!JAAG7Q/QPPBM2Q<9[ZY0\ MM5F X\CQ2)M=U"A,;!A<#O/R*HD6Q7%%A8A_/').C)D5*6=E/=WJ3C;)9KL< MYU4!"S]SE)_VYEXM7N=KZP:92B;7@[:[!"-#SW3&(Y$LZS6Y-SA'BC(NG\^EZK9S#FD6H/81&:@JO*CI:JW#I=M[F=4)>RAEX M93 TLCXF>T6!R[A(?,)+UDI=%,6.*E#AD8)CN*F:)YE\W$+*R:E.\9M"0Z## M(XO63)LCEE!"IK3M-:P,[^#]AL"$1V+3P5KMY"Q,S\D9TLU7JINUKH*1H5WR MV IB9%(9!RE-I_A G)IU%8Q,AI^)*CW1R#IS==(K;!IK:9894 M&W#HR_<+S)#!R:&""B0"F)602488(B1@1YPA2)S& M,&9XQ+$C)$DJM(@((W(D 8X%/XE)!*@1##T2*8E1 /^^_(:()24TB8,%@!-* M($2,%D2$H 4R26(2AE,$4&FWWP GU%8!"&XB;)4%AILUIN-:A4"4_(SKE9:" M.:RJ6R7@U6^]J3IZCR:LKT> 3#H#?=33'0@2KU(VXI!]6N;N;-4;"7V M?,/"#S6Z8\MS@/W@_!U=N+C9A0N&2"3IJ-'U"5;X6H[MV3J08XF(+'=(%C0B MRUV2!4E0;_K.(L+\%F$^&4U[]U2YPB:\E=36!S82[*$-=9G+YAJ_ ^-WUT+S M]<3(H^TX2W(D?E]EP']W\]@I="_[U^0/=^M<*89W(%50I8_]]9Q8Z(YM18D% ME^DOG#5X?W)TSFL=Y\_4>.0N1^^=]G<<*?MHQ9K/1[H_6:+FC7A'75S#4@I. MD)<$T+DVRFHP4-;W,YM"-6T*C?6F/BM3<:1D*MBH6VDT*@8K8'X?4_JMC@'? M3Z\ Q,"^BUYPI5R;6VMZMXC41_AS!?S)>$H5S*>]5(R%4O&5C!/H,ZL:#FOA MVI#76DT7M8M3O+ID@_QG](E&/HD_WU@UP[^]!O8UQ'H8K>F^\K4CC+L.QD&M MJKVT3BE69"N?ULWI@D]OO(7:;=!>OKGKO?:$,V]5%?V6JA41J58/AD<1[-PU M[$#_S0G@6?Q#*+E#Z,3D5&.E6D4T4Z MU7<$MZSEG?)6%5TKKBN=M(F4!OU^=W]W@2[MI52ZJ(FLU"DWX"[5DEJ>NW% MDM;CI%9I] O):IU5!1K"'?9$(W^(*A?T_!MYKF2?0#L-PQ\A,F(K>S;3;4[GT?Q_C6VT.)C?ST0>O'FKJR'(G,K M"0P-DL9.0)F=+R>-7JZ5U]=3?E64JD3)DE@X;VBGHDDJ!&5_/Z3F5@^ZF<06 MHN'Y=^'>5.)"!>["=U7^PK]_JMIW4O5NWGKLUKK@S3?@D97%5X#V!*"R9<(J MU?KC/C]/Y]K5:K?6CI?]2X< 4>DGC$"CUFM1Z[7M&J+6:Y]NO<:^=@?4;T[F M^@Z8U\[E?8,R)R;.9K:U J+N*L8ZMCND[F!]_[H],)(?=1V^@HJ!LMD,FJ*U M+6[E*J8#EE(;[4L/[H&3"H"S*MJVD)K4V71OCK6X5MJK9=(#PK!2+-!#$Z

S"I]B2YBCR&ZWS(GB\+#QBWP >TZ(A>4$W0L^!" @0S][U M+ 1[;5O+X-/ F_-<]E$1I7' EA&'W8S#\&_ 887=$>JW+O5L&YK-,\OV,>Z= M @[@SW<$W-_DJ'W'!DD')#AYHN:-::Z;HS!,+]%.,][4^K*R5N&)>LI%?3>$ M>7FBOE;UXPV<^L]1A9-3GURL$LBQ(P":OU18?+>PMB_!\;UJI5VX4EYK+-K* MV#( <#O'Z;9K\6F-_!N>6"W;U9Y9SC"=;,6-$SUMM;] $.($\ONF)K8 U ^?D@ MM#N0I1R!DDUIC,FU%M+J;%B[8@T79KOQXS1?TUM>1B!C/_^R95VAO9XIM1%K MVZ*I^HH7N](< =I+X+50W5(UJ2[:K@E8>ZS-LI9=M( ZEE$6BF'-_"\ 5@=0 M#KA;&IN68:GK%JSQ -[M5'P(%%P^NQPCLCK2J:R2&HAL)SV@7]0S+52SGSA: M?"H7_)T#RP1'3-UO\NT+G .(Z__I^5H4 +CX[OG-69[2% M)BO^2;TE*9,C**RA+DU$27G9(*X8J;Y?@,H!LD$C3#A M^M&PZWM MR??6A!5U594:#NHMN7 9O"6I"BR\P%2?5JM^EZ"]RF5KK[=MJQM M37?@6QL%T.O+Y$FMKNWENY559:IR77Q,FOID6D!=('(4F<#"E-NI44"FX M< MZ% 0@3HE;2NOQ>H[86,!3?V-BRTU=QQCY048#HU$V;2OC.^Z1(V;Y!+-LE9[:: _7<.O3<.=/ M\HD[JG0U(5?7D1K-,83CH5Q#!]H_ /Z-,<- !*3DXW_Q%Q?Z"*@PN\,LI3J2 )04X.2B2X!?FI4CZI]4SP;<[\"R7[;$"O^PS1FC85N0J M)=MH%*:JS=>(@8*4&)66RK^A&+6A0]:SU_Y+@R.6E8 ] C;VY+F*C-;;E^"$ZOJD)F3FOD[=3.J.7^BJ>=\NXF9( Q5 L082SED-ZT#;B]%'B?/T\ MNPNZ?.J\>D&6#LRKV=$&$J6BN&-+/GEN%34-,_+YE,ZE*;XOUM=)VFP!_2:9 M"-^:V:LW048.A-%#_#SG<78&T]7<'@[$"#'YP&2\H)1!?8% ,>9-!%2,UUVBQ1O(:90C-6D7H MS*LO&93ZK-4;GI('&-,&5)>#."9Z6@>O"BRR:$P9/:WU!89:Q^>%,8 -F-7P M.I,"HIZB^*$9'(-5U>&1#@=:,W D )[2%=>_7J69.Y4:G-2FHEJN%NC;0(UU M@IMR9LDQOK;&4"*.DNK6#+_&ZUQ\T@$K' 4>+OW@L'ZC8E!O?_ X)O:N:N M>%U, 5 AGW!E;SVK3Y?4ODZ[8\])NL5BZAEV2/ZFEU1,HJE$GT"4-/F,9;Y!V>)<\H>AM][)N3[;/J M6$\@T_0,\2K(U([W3;NV'&06, >$22 GK-:].A:(JJ^2F0?>J6MI9_= I>LH M9\D>/>'$9#^)>.NUVV#7TR(Z!'!))$YX#2_@5#A[EY\+1[+@6:^ PQD^B#5E M;CHSK+6BI!13&6EN'9[#X2A636H/*HMT,<[7[.EPG5_/FWQA&6[V='K<19L] M?<*%PR1B7*5>KO4Y+I;BJERVT([5RVRU=4]*^?XP?A%40E\&E:!Y#G\/.DO M8]_7U>)#_[B0#D@<:%;G[#7Q6UZT';L%<;QG5R_DNZO%8>F!1\S#30/Z$E 9._?-,!F!3 8$9B?X'1VP'!W)Z]D5; QSZ?U;N_]K=_-'P[;GM3\;$QB0R0K\LK('LZ7 MM5+23:F')S7VV;A>2((. A>I=2@O@EV"I5?$%;RYM)\MX 3)UGS)@[TI0TTI M_=,=G]ATL<1,XKJ6DU8$1K!MKPG5K[!1^^\ML37[!0 ^P7P=&9QM9L! D@RRRO4<"//$Y.%S/9%]:QD%H>*?+G9L!#B-'6QX((D>_S1 4FC/[0]/N M\")%F62K1^?Q)/M;##%\GR&&QPRQGQGCMF(KVTZHHFDUU(G M7DO'FS,.*'PGHL0[EHB!0Q)>CPM^&8F 1;9.C.!Z'2 D_,-0 0#I5WC?CK1& M(\4WJF>^L1ZS J" "+,#EKW+RQ\!@QNGV MZQ*#5)?M.VH\<RF.%>1CJCA!=/B#XJYX+2%BI;SY&MQ#]FV-AFUK8W:UKZ5*'Z5MK4_ M#KJ#RMJLGE<[B,''FX0XR%;5AJDW3K6%'4QG&QJOI0UDOI1%1)];=@J!(ZGC MD::X+-3Y 39'?F;1&(\ZBW9#Y[#T9%/A%Y*9E6"KV= SIQD< MS:LIJ:"79H0]YZ;-.J\VP,CD\4C#&SEI66X4D.FBQAJ]P7KARNRIIK0YEVSI MY0[#(=TTU<*\?%YF,#4' M3< B;G%D9O I-F'AR-!$J6E3;HFE=0\M3,QT,FTGZ^JIEKSYOC0V)&RPX$7- M:2MK?1A'THU3+7DGDC*K&\JFK'*F$D6[Y=EX.4(T,JY[ M*KDH2R*LG+3CIE=:T[[MZ/R$6Q1[O?WMFWZDZ]T7.?#>S41XITR;;:<)T-8+ M*R;;UKDOU8F=[P7:3.)L9FB2#Y:^:A$\#>9T!CK-"*:3A6PO[PT_S59%<:#. M4Q3!-MKK?6,[J/=@B=@VW2&&DB?\J:?]74=>+NQC7JXQ]%M],'2-DGM'YO,O M7]>"IY93S0)31^-SQ7ZW=2T89W.%/ANUZ2Y M25LS,!4:>HH9AZ'LD ;L.^Z.4D?0TRZ_@&%\!10>O.&!,3!9W^D([+^M\]+1 M@*2(=I 3; 5.GM-LE8BQWXV0%S+6M=DF9XSYQ8@KR0'!9?;5H?,%8?QG* M/B86]*XIP+KPC1?64P$@Q=#]Y;K956_-O>T_;Q\$8Z#M-PW27G;>I7W5IKTU MY^O:3DRU80I[",VVI8I/[(D3DY_S.G9[Z.P^2!G ^(BW) !9BA.O*+9K[:[W MQZ%C$HZ;6K)B[.VU@Y!1H,]"__LV@T!T'&\ZVR;M #CU##>XF_W>%Y_7O(TT M73J*(XT5V3.4VN@T'_MR%01U'!A+#OC_>76^IGX4Y&@J4D3L)\7S7%N]))D'A9VCR3N!_;)/WDS?S+]^G>EO\ MC(AV_9J[_GH5.H:*"'$/A" 3:"02]T )+$&_6:0Z(L2%3@0FVO4[8/^($/=" M""R1)"-*W $EP(F 182X T*@B4@@[H(.$33="R425#(BQ/D(\)EMM'W+\,5;#B]2^)T,T2"6N0L+ M;'_S+TP,S]$(YCVK^#J;<''6?]/TN5?6)[_*^C@X/K#OSOHH=7^);C(QUFG^Y<]MAGU*,<2"%F MOC OW\7I=,S+T:%S@T,G!OZ+3*DSF%*/=,K\'DOS MM&O]CE;R%Y?ZU3RXBS<;O;/M>"\;[4K-5Y^O<7[XOOAKY2-:_7W5WWV>PYA;X]Q"& M['=73"^'?]>R,^,?]+^*?X]MWD9@\0Y87-SV_59@(6K(PAB/TI.7I\9"NPP*ZKP#8(,=CN-PK^1L'?/R#X&UG29S@<((1D 8(4M@#R MVM$PSF-".SW"'VYD]6$SY7?TR"BU'H>4'BR%% MIOH5 ;:))V?LFN(Y76D0W?)261?L(2R0#0QU]%3[[@>+6)\=8!_;LH] )S+Y M?Q]T>LZBT$6U;I%31J02]Y"LS*U@_7YH\%\==>[.$7!O]OX^VUOV^S";] M)6R-%G 9BOWS(#'N*+C]Z*9TI+S>C\5\SY@W6S7233KNV'H.*7*IP:(5<^+9^LYIJ^7^NQ4=2>52K\# 0(:MA=$ MB&^>TOUM(M_=U]L(O=4Z*=0/*0J5?Z-0^8O5_RN*=3^?&P$<"GPK(S@02QV! MR1$4UE"7)J*DO.P09:053:OW:E!?QC.Z[>*5@\+O%+;=!7?(P0; X?\Q TZ1 M_6ESW,8VS3Y+W:VFLA57'&#F"?46!B4\ .?O3@]PV0YAN;[M\K M/'Y%4/UFROAO@NK-+?8[!U4QV]&D@2AVN%*Z/V591K$+0PBJP(8G$LS#![SO M"FFN()<1T%P6:&YG^=\YT)@SMV;,]1*!8)R@:"6DK67]/NW0%W!UI/EV'H+_ M^%UXMWUF[U8(W+7N&.;D^TVMG9CBEZ[>%_J-X4C0E3H8 M"KLW0WE]BHDQUW+]YO5!]_B5WQC:6'_49;B%#DHVI3$FUUI(J[-A[8HU7)CM MQMT8?H5J]C/@ =]3\<)83H^60_8^=EXG MANIF3,]3_+0Z2.)\?9E)>BK8>?STU@?[&5LJMA+3_"D<]SQ_T>8\$7N6OY@) MZVR_(WFQVPK=]0V#VY$>;3=R;409)O72NF;P.4PS2CD@="AR&[&[OJYTN[V7 M.YO<$*7:26Y-N"UQW>D+;@7N/7-:[H(#*=C5IQCX!X9:M 60AJJKCG3;_9_@CM5& 0OL/I1/4GR< MJ9>L!9]!D/EXY T;,N_U$!8 ;8(,*[DP A) [;,F8DW77AZ9= L3>(\E("$S'6@5(3/LR> (UL1;)4$RBSL+CULY$% M?H$W0F&//O 7U]K*+#@ 7\AL;"DZ[U%^#[J0]G%[2$WJ\CR/>).AC7,+5.CJ M[$NBLXY0&YU%]+*K$8J/7'G*K4NM&59V6G)N\$*SB9.?0-C]ZQ1[ 6AXVCRM M6N9"<2#9H27JM*&. M+5T65?7,0ST/V^K+';JI9M7,@!@[U+3]ZP\>/R'[@.FBP:.'E A !3@NA P7 MTZ4QL$P48(7%N!FP0&V(">^%>EAKZDTD\#L<#5X"7B9MLXO!=W@IMC<]; 2Y MQ]5W05<_A@I7T/5 $2OKL ([X$L>(EDW M8X8W]5@#H.I3.QV,A#P2 SP2T@"$&Z>OO>R/U#\66##8S 1L6#*MF +AQ&E M\_?L@*4D;ND&BYW:-5"))HHPB0&8&)%YXY0)2WY-@W4W*KU]= M2_"M&&!CD-$#ZK*]8[04L +X;3WV%^0+_@O]O<&)=YG[)^_XS%F M7UO#@K7O+2$VX\">(7;[BX@9OM_M(?@(5PXXJ<]:@G2*OX+7=:F.M7W3=KR7 M:@%DE1E\AG+$ @P!L QHHP6V'=S4B6, ? S8;L$W 1N2 AH%JQ$5L S;,,&O M@#Z0[5^>GGLG#QD/Y*?@L\?@8MQX;$IC (R]XPS6 /X'I ]@ AB&?P+63K=5 MK-@B\4 O>DSB2D>6DVINC&#+ MSH)K]#) 607DFD31ESP##P V#H#5'*+(EX$'9PDHK]"7P!/H?Z:T5 S'TM:^ MY>:1'$ ^^.4],"6%14MISI8)M$L5N7'!QJUNXC-V^D7 M)GVM=4CC=LT4FJ[ MS?5RW4RT )B(UZ $3+WML9RR'-$M7_544$X$;"?$'@%7]D9NF2W04 "UB_YC MP,S^.F!]Z"'K Q-!6Q0J-@K4IF)_*7_[K!60<4&/MT^-J6ME1I:!V00 M8*)@8Y;#3P'/@=@7L(U7M^IMTEN0OP=C0M!I =KDL&4SPC]^) :,4$J/%!_Y:_5,,["_!N M?0P_OF'OKN8\?VZ<'UH:3]R1 M(1A.W)J4/QB 'V$&WH\^.-&=9WC?L*1I?%61"+>NYFHE3LX/6M(&!3"4#<=$ M(/Q"X/,-^'.:EY^SX([(/FL))W/F0JY[M[6+.R M9+29+DPK:+/=T]9VJXQKXM7)OL4K"=0FZR(M.<4FOM'2W+QY(V1_UW Z/W53 M"8V=('QI2@]6R51F4TB.S2[U!NJ.41K4+,<3*(9U0,F!)@@-?R"E7Z"RA\ 5 ML1TO2J=&;7,> FU;<$P3[ A0)M!F+:C80776E&8<4%SW5& Q %U MP],YH-E].PSI>:_[5]F=;_&,ODE,#=-";I&;6@:*U_G54I^0[7G2_;#?/.>Y M9KRWY;@Y=!T>:J8%PRPXMF-*T ;FP'I.^L,'9@7I*9 +SR7$W^'Q'>-T0.?3L'GC PG6];_C1X MGLM[L.04#;)V '\O&^\DV.W"HD+5Z[.,VB5E*)MT'=@S*W M?9=G?<@>MFT-!6BB/&^P>B[8W;=/F:^*+FB.*'V%N^_# 9 WH05GCG24*+08 M=8;7VGRE7$R,A2N@19"N6?!]*P RNYS-DQ@AK_)(5ET9*Z8IH4C77*J*/6C# M6I+A&L.Q(V3P1(V'$2]Z8IZ35QXV>%_?.8(>=JXE@%@O^(%\9XOG)A%]+77K MR7[")'MB>L)V)S1\A-Y*CIC4ES.AL^P6\\[0F@'OGUIH"Q&L^*1L^ASJ)=IK[ MF!/FJTP>'92:]$+(*NQ@">2/;H2Q;E]]";#+P[P))_K>N:WF9/CG=8 * (]V M"&?%_A(,37O*IMES6S[Y0'>1%%_[@>_X,=6+Q(TH/7! MA.-)H,%L6U$34'D)THU1]-]?DO)^V(093SPEO >J$^PO/=^NVOOYO_^SO_IP M0G70-GMO6Q,_*HE[:=)C">%-B5,1CPI_\7S$T3B2]\P@=YHQ;(7M'%F1E(YHD R71_]KVF1<%^^U-^\_I(IR6> /-?+C8Q(4?X M5Z^9.TJZ/E=H68=TKQV$EH-'>R@$SQ:LI^=;AC+@L@"E=-O:I7=S?_90Z#G$ M/P1;"!Q[QXT1\?3V!(*[ 9F9SA>3)6J"#JK28P'5ZDNYUH9R^I?__MW(),KH M"PPU6V@UA:9[;7M8X&TX,G,\DD9'=AIUF14JY1=&OI#AUT:.8O'PG&A]N5+) M3K)$YVJBRQ>M9LL573 R>3R2*V@#=4%4IFI77F;GFD97L/D8C R]W:PBT[;= M;\YI,J_-VKW:A*XNX)Q8Z/7-$B9H>FXU1+M*9B541ZK6FE(LP:+'(Y%97T/: MBYZ-*OQBFF K6-$B73"2.!Y))BKRO#,@"1H?2/E:6T:[K>08C,1"DQH]+L7* M?;.!*F:!+,_9JMJ9P&9\H9&9Q7A33M0H3478DC8IIT>#'COV&QH?CL26B2XC M*_J"6=<4-U&N%(I6&;8^3AR/7'=&2*%5*,_0@5[#2F*7=MQ>T"'T<&0O71^: MF1FF,46TOC 2S3PEM]R@:>#AT,(<[6B/*:5&=[EUJ]]G-_72RNLOB!T/K:<> MTYPS7+;1M;,8MQ2Q6'5;\/U8:*E &G)CLERWF1PYXZ0VTC<77@^KT/L7[;R= MKZR+G,J-'3:?:Z8T*QUTNSH<6<)&G5Z7Z0UIR>F*";G;:K278S R]/;B1J*' MDCU?T-R8ZRL4GT-0MNUWD#D+@/"Z4]UIT%U:YVBGF&Y7>I1?SOQPY KAT7[= MVDSHF=Y8Y OZ=+T:C8,2F8=#J<&C8F*PHA?-M-A5^O=HNM%N9 M%DJ!A7:XW*#OXII"@9%A&D6J-+4F!$3EAH^"D9\SJH0'U=T.1SZN$T.PJGI+ M[19:%-5>\H(Q@25/0LP$M=)\MM6K;E!6DP&^3;]6YJ6T;E<*B$SK!0C5*5*=0UVSW%IK/-PG0^ MS9 ])F=8;&&P=(L,09UBTX669G (HI'T8)1BQ@-T;2$D'!EZ.^=T6,SN9534 MH48\/M3'@XK,P01/NI"AAZ49^3AH#', :K+X4:P&W2#F;3!R-"6EDI__+AXY$MJPCW%^A<.FY*''=U4B[5B9=("Y$!S[BG>ET=Q.L&41)=NYN3*.EVQ7*;4 M/D7\^4VN(Q=F#L',W(S>1X#84S.0^$/'U&+K)%DVVPL5MU:C;0J]47V9JR!,TYSQZ])ZT6& ;(-#<=_4 ]^01,I^;33Q%?; &YRK M4-?;,Z:AHWOF)ZE.C@OX>';MH?ONE)\:.T@B"57WB3G6]D%6 ^8&TA4FAB99 M2%TR;6.; (' (#4<-S-$2?-<25]GA;_B#)K)$DF1R("EBVPOGTIUC5PJ=6A5 M$Y>TJ@]OWQ9-PSI]UX3@N(J;R-05=$!VVYD,*^"%1OO7GXO?772Q,4^RZBR# M(DW%F4CY_L*8W\$!IN<=I3&W^;GJ(([>G0SXF5XX[9@XD<9Q,FRZ1P[^A53H M]WK+_3C?FWI$D&=]!?@)4]N?. "W2PGUID:\N.(3]>?8N M9._<*)[+ [I0-&YN2;^WO^PO%KH= AL8VLN";V]&*1P0@0%^1-+]:RBB!Q,9(@7RP)&P'B0H! X^B+Q88C M0%R,(M!$!(@; 00$LE(2-P")(@X'METMP (P)LB2^(6 %Y4T02MP")2($] M+R#>V3#T5??WC114_4+7\HWM4# T^/#__4K^^JBX]RIG!R&8;21GOHH!K%;$ MV#:A]8*%J ^SXOFU"QI\%0UYA0S>& M)%]CH][8)L] "6B9JX\8\2-Y:( M8_=-VS"MY4Q4^UJ,ZJ[!C))W#V?T?KGSF^!\-PI)+!8[BT[R<7PFXO>/SN=C M6R][)N^8;1%[=__N%LYWS+:^5*G\4./ :VB;V];$,4V1I=A?BN[7[OW[2]N6 MW9]&?;Z.;2]GSWWOW;^:LG;Q%F>[IMI?M^DK:-XW!/+74K*^]^Y?S8.Z-,*_ MI839>YL\O:G@2UEF4JW.JE11':Z2XU.KY72]<-]<]O[#5>1V+?:HIRL86YG7 MD\P9MFNX-Z>H;%FN3%VF*&R6JTS"XB07W@$G 9](Q!.A*O=?2S;WZ&X^U^[O MS ]]=MB_G*#TO7?_:E;0]]01+F[FWA#(7\MZ^=Z[?S75Y!9UA/WQKF CK!I,8V6Q'81==#><%.LY;#EG%.+NT4/QG1T1M^]O^/>9PS[WZ32X=]_ 6^N&S!U3 M8MOC7(EI9*0,6EW5FU3OT9GHC'NFMM&?\B@\UA\@N [ MA8(H<%D%3](<ZY>E.>4&@5A?74R%]_$D0\$^ZU>9_!EG-SB/OT$/P(1\!W MMO=OWZP_ORB^1]O\WDWPKQ/%%S7<[TH4Y_)&6:)PMT[/"#WIZ"6Y['2\@JG MMD^@\4RX9^"WDL7WG,7042P5D>&= 7FL$BPE30 \W=*8GB>HT>Y"5%NPOWD M)KRJH$29!]\R\R#R+IQ+I8'"K@!D73D0=<\I-.EVU4Z6E_D)*O7;KJDP]!"; MPFKE)&Q8@X<;JWZS6,7%.,U].B.B=(4H7>%^TA4NJ#;Q+?7?#>LAAMR?5[!7_!_44+#_2NSHJ99T"CZ6%52HUOFDGP]=$)$XV%MW*1,H7B=X? M\T#MV:E'QTU'@?J#/];T!$J/L^AB+*R76EEM9A*P#3CYZP_YU@L3=QR=N"%V M_AJ9GL_+HT[SF2X+12^M+;TY2A\3XZ13^H+5W*.W)>^,%",7KX[ M;;!H_E4JFOD4JEVB :%B20ZFM24Z=E<,]:2U)7,I2)(SQ"GIAF" M]UM3[DB",=;!$8@^ >8,R[9Z8'59,$8-:(QGY<6JJ&18DF*ZC)@=KFUJ+@K4 MKY@$J'$.5F*;@#2OUK_>/WNOZ@LXW*>-QA0+K- &;,MSR]F>B\WSNL5$\"CF M?P.,@\\YR)0\A23UC[7ON^-T$4YD[DX*?H,#.S4YB!B(!OLS@*G &-B$R)ML M"5^KCP-_GO40&TLZX&B:MHZ='QE.5,^!G8\L23\;L_9^]/U-^8@2E,QI<*;) M$IR!CM$$B3+2=%5)9@O%[%(=__HC&X[I5YL-%A*JW@ M[^#,);!S*69S*PF"1_.@;!L> .#^.'V]A:?O9[;@C+$Y$(7! PA:*2"96/!7 MQQ0FX)W>,'^4RUDQSJ<9B$8 .0SPR;6\8KKVQ' L,(_U]^\SLJ)WD\ !8_7_ MLBLY#9C46QFI)PMV(M&O7 W$H<;-+>GW]I?]Q9)@[J KUXQ;(1XVZSNAAVB2 M;.]+0<13I[PGAZVU;'/[UKT>7[_>G(J7B*,7U?)]#3".)I]J:H4EVWL;>=U/ M%M_M;?\RKO";/@$\CE_477%[1T!R< R."B#KL;/ '\P@Z?VSN"'[Y] M0 ,__ "P^ ^7A7@\\]-Q("*">/I[J$/OO99T8[;0=Q%Y+_51.N\1G*?_+W[; MK:=.'-F-]0..4.JHD6XB\:U0ZJ-]=2-^?(?$<[E6I?CW8KQG;?5X"??,K>(% MEOYN>'&VUI _%2F(>.J[X<2Y>,5E+/B;18OOI6F%><79[OE<7[GR,B;@M1X3 M9ETYDO5M;N]\B2)YMDS JP?\OC;1\3+1O%<3'?UN-V#"3"IMSE-,D* MLASKHW0K5QNP?;J+M(JYD2(UZ\.#6Q$(\8XT1VJ;_W$ZA8;V4U)VV8G$+CM1 M<9AV9UIKLK237[D#K2Y-.V6*)5CBUQ\R==E22S<6'[TZ [ERJ/3+&<@M9$I? MDH$\DR?],0:28CI+[C&5G:.YW(1S9D3-[BW&EV<@%%9B6(2?;%"IL^*X.E+K M9_BVW[4V]<:2]9'Z\07[3:).D975VAB< 7M8]ZNZ1I#*BUU41:5#9]8 M%AZ3+NR'B__Z@S\DTR]=Q[Z_2%E'LB3.%";>I0]16DJ:,8=0NP\O]VW% *_O MH3E;T;'(&_,N=K:E(DH7\T\T%#"9@,&-7%[LK_5\546$$DJ4G<>,U+N"BM0U M;&MJ+;J/M%)9F,O,>ME3>=@4C( J$I[)?$6EK6_AB+D[?\M9V4'D6SDK.\CF MW.:DM4D-U.ZDJ"]FS&;!+-N79P*LGA8*W/KV#YN ..GO4G^0K* MY;L6FM/;S8P%%8/,KS^)!Q1[6W>MG^@B^=',X,>8"9_W>KR%&RS6&[W&6_,D MO;9INT"., KAKA#&S93H8GOA=DJJ1."I##%)+TD5Z@70#T(\D"^R@V^4[=*5 M- V\<%?0PG.4<.),T158$ .6&HH"4)?+?[EVDMC'V.J9DV2N?0BWP8\_[[8) M:+OH4S;@RM0!70?,<>NA1J49G:4+6@TE97'0*J6$KEJX@I[F=-9,5JM6!FA1 M[;EYH7T>=5LW0J[/HSZA,[Z/1SV*=8)Q MRG2:YG)Y1QMG*NNR>@4>I3E-MTE-!4+-T3C>R9JU\2/E^HV:L0?LTC6-(P:U M;WI>FS2OS)\\!]:US^ VV-/G'5SO8T]9A&+,S5!BTBTS(]<2J9"E2A,IYMBV)1FE#$H:[*H2(K[VQ>M_>QJ,$TRS-Y MJR72G,O7':DS[)175V!1^JBQF"_D_$K%"P528COU=78.693O?\/3+_&H^\M# M>JWVJ17["_L[BCQ^-"GID)<0@)>(A@,KG]X"1SV9F'D.S]@5]GD;3/.T:\S% MQCS)JK,,BC059R+E^PMC?H64@WR1U,SB:-93D<4"SU@+E40[L,TN 3D;07Y) MH/%;^*G.X([ZIK0?\CC]=-H_4ICJ2;M0+JXQ"<7+3&6"&!8CE*^@UDPZ3HZF M9+'/5!N+YB.*26EY$+38)AXPXFT7-"*A_VXCZCO2_0E/SH\E^_=U4+BX-9.0 M&;LH)4MT4ZW1B3)5YFJ4"\@^\^M/YB&1>EO,ZB?Z52+*?ZN'Y*>3_I'$1Z=D M0K1[#*.;G$:'H>TPZ88Y]A&#(VA\+W_ 2_>_GQ' M]Y+/D?+!4?E/O.5#&H!K0#1N;3CV;UE92>*I9BY[9Q?L,"#$0R]5,"SM_^V( M2;RXC^-U'W$4;TE@R2_PE'2(2W@NI\,U'+&14,'C,[3BTB%):@>MN()')\X5 M%HH-.OF\X#WS?=9[;==MK[HL3&7385'0F>$5!94.BX+&"/0A!GE)4!54T07- M$<&VE!EL,&4JG+9K3628,<&41,6.<2)<&_3&'O0H$CAK@EB2;6OP%53GJ1L\ M_", %J?HN]9$5CS6>^II%.,$ 1 7' O8%5R_%72OLF!S(DWA?+&Z>P:VY36X MFL%OQ6 WHV#I(O@%SF8ZQP<%O[-=+2_IDJS88!& Z8&G,[ T>' P2W(I.'O MW@Y"DX+5LN!!QG>"_B7FMD=@7BNC M)Z(_ZBEUC=9+GD /M8%[H6F5/>%\&,!^8J;H-Y02N+G7_ HV%[,,V0: D_:O MGX*I8)$QP%'!X<^>9TZF2X1QD0KL_T*#M/ M"[OGVKS\WYXB\V1.L.TFI M9O577;293*/#QR;AH&OWUQ]=T4[H,4'L0=OY,TYCFX65BY)N8\BV4PS MY*!6D%*RD!MEJ=.P>NJ/]W\WIZ7>R)5T"3.A&;EY$BA M): 4.U3LO[B:*)[86L4[&0J+R,X/-/O__9\WV1=[VPI,#=Q38L<2PIL2IR*< M#-[\F]-<;FT%VTQC\23YI(5OEP4/(I:.HYE_Q[Q?@:5$)/_]I'L@[Q#\%V"ASZ#*GU*ZFI@*1FG;%?&NIH1YGN M:-%M9JMJL3K*;AC;L5=I>/4)/QZ9[.IEK.[.YPR9VPQSK<>\TB[#D:%U)I.M M,D3@RM$YSI">(Q522A]"MC67@D-H'K^7 D)79:%;D]GZ%2 MMK/LM$IE@\C!ONKH\OD6(;C R=$C--85V$%5!UT,DK M"\#GEV(7CDR&8%0N&3RW*LX9!5^8]1PQ2//],5 ^0F_O,+(F=D4BZ'AH;:USLS7:&[ %&L3K9#.E?+U[AB(_O!0)Y4O(PN*RJ.+LD#D MJ4=5XUV7Q?#PT.4ZCZT*C=4C4^R:HP:;&Z:1Z1@.#9VI-LNU!":SZ:K2=#RD MV.Q"2):]64,@=8;H1,EV79'&$3D[SL](;/P(AA+A!7"=:F6='"]::I%*CD=$ M1QHGFF,X-+0 83$>9[)69S'R9@TM0'2UWB11K275YF:-%:A-@R[5P+;"DXY-+:6EB(F@=M56=ES;3&O3 MKGN*D>?G@^["X'57)8<*49IFQRFR"=ES"%7;3M.J: #_D<4PERZ-^W*BU#[%="LTK<^I M0J&--ELD9:2X_DCE9(I*TH5EK9 =GV)F[7F_MV9QNDH7%;7 M\:Q4R],G&0^BZ'E^5I@3M"-QG3962JZSC?8IQJ/P:[N=8:L8774;?902PL5:F%5C#=9(UVAE:L7)-R'BV+8I]$;U9:Z",$USQJ]+ZT6' M 1"#0XFO4,W?UFN< LHL7"6GQ13=M\3@FEW%GL0"W>/;,6\S^!5KK_^ZWW#]P EX#L?5H0'9%2:2Z&A24SYM.WI[:OI; MI: =IMAK3R_M@65D@5VI_MI"L_-($OU&NC&BFW:S561G=*LS!B^4@"TY!Z^T M34>Z'E1_=@?Y1"*.O9@7LV=$[,UO@#EE@(O;(]E^1F DY;=O=$+/SZO6WEY M:3>4XRU#<^SC2-NYK;R3@9MW=ZK<"\-]8792!(4+00'#XF@J@L0-0"*BAUN M N;U9(H <7U 8)[W-(+$U2$1,:9;@$)$#[<"B8@>;@$*D:"^%4!$C.F\D'CG M+>97/1I?O>OOTFC\%;CNMSJ]S)V&UTSSK^__&H'Z0J!^19A]"Q)^55!$^/QM M\/DV0/U2K^J!]TD2[Z>W_F]*8LX_H.E)'OALVW[4Z\A(&-QQX0<2_06+($>/Z M(8R+#LH+10#_QOH(O-0/RV4XG!;!^8<0=AF 7-$M18@TDN^-S=]6(PFN@OHJ MR5^*'K&N'\*Z6J8B1 K)=U9(>I(YBP#\0\BYSVF.] P7C]216T#IEZ#G R[\ M\TSD&^@A-]22[MWX;4\,Q^)TT?K[7EG:6>!_-EYVS[@PW[K0O!(G/QH?/J6\ MW#,._/4H<6;$#")F\)Q@.*'TO+?#Z]6TH>93J?J'6(73'SU[#H%O:0^;_?C7B38SQJR,3'K+65M5%NU^JRVF[L4>"PM MK%*I\:<9 'X=^M\FQ0?Y6=NXJ.>+W'$%=,<5LATV,1<)O<,@TR+12AJ]*C*% M]3*3O_Y@:#R3_-9\X3+2\;KD<:3N1N"[<6Y]2[+J=I'WUAVNNP8608.JHM_+ MZPX-Z>>)[.X-!4A)&'Z.O=VA0OLC..'=,;SO@Z)GY1LW*H5^(# B-G!K>L]] M^%R/%:*M87I2)8H,DMM5HJ!4^NO\+M;/]Q1]E\,5]F@H6Y8CB7FO[83?VL]S MLEC[#1QV:'K"HYJ8=\8=61BDZ,%8X8H2HJTTB0*+QG_] 7@0\IS\_9U0_9;, MU+N42=_'2+^$ _;3[.&L[ECK%7_LEFM89=UG+._TRHYE7IFK-]K)&&NF%$:>%TDET MNTJOZW!,443[!B^(XAQU(6L"%@H9ST2AC.].55&H(Q(I$?+?6ZCD^(IL5YK; MTE-E30)]\']Y[K[LW5+N.>PH J"@:#B\)MT"#E[J>NR3%E/.=Y?4'%LN:4ED MG8:,+EM+]GI&U%MNQZ[E28_J3HPQX[ 274ZTW+YN4O#&'S"A\'3F._A1KQ5: MN3IQO'X;]AR"YYZI_C.W8M]#]_=Q*;9J-&>U>E]OJ^2*:E#$>8\9P+ * M'D]%897[IH: &( T !,)YS#0][ :L23AM^B8:XDS3^(T_SI.\^_&Z5VOAKTB MR; \(;[#Z@I33SELGC89214*66JI90C!P^H4X ]$G-C9XL&YW"-21S(NDG&O M:;90RB$F3TY;XJ*$.E/>).@EQ@Y4ZE[5VEV1;*]&Y0GUMM+&V4EJ6IV@^')8 M75-3AQ0*'NUC*-!O'S+I)/*QI>Z>.^9KWQ'2_MUQO). WQ:T$89'9'+-)E)9I9221F9K3%D M-[X!3K[-'W>O#.=*8<.;)JN[-=G?31S/6?+8CCP>$:VG)-)RC^%1;+/E[I8Y('$?B.'(*?)C;[%I\ONHT6%%UDBFYRS5=;?*)A+L8 MX^6T)X4#I\&+56/O(,(=J"$\A\K,F/-9H(B[JSDUT75?Q M1B');Y9.F\42G@F?>%LBWHTC?>3]C[S_/\CNWB/[=QK8*3*I.C4M"\YCEFUL M!A6[K+4\9N ;V'CJ.["#*,)]?^;R\SC]NEW<83%$HY/R#*T*1:EI%(C'#.UA M-;2+\7B"B"+*"9IA 9H#FS<$-3:'&DW,D&/_=QOZ7KE1>"]%G%3* M&IQILD64+(V4:E]49_44G4TT^K33&@/L)>)H^!YG;"Z9,6]S,OW"8OKU0_U>3HP=-[QEE& M[@$OW\AP.*%F%FAQG*ZOG65Y("8IH$['P]&J&*!=#1ZMZ%4?]? >J#92; ;. M;0( HA1/ 7/FV$$U#,8]P#W C#R*Q#IF#H#D+,>^'KKN42M%&OWE)[--6,M M27OE7.O>6EG56?9'LZ*>5]?!+-M&'787II84QW&RG2S@^%*4&XO_Z@ M\7!6LF\ ;7$-P,OG!(YN[MX!#OAI$5Z*E&Y!KJUQ0::4$ZP[X+\!RWB( ;5* MF,04ZR"MBH=?W4T-^+\9XV)NH,?'.%^1AWP+T!5?-EL/9Y3<$P@T=P'+8']M1@Z0R:YCX-&O,$ MVU:Y(8/F*M6ED=-RDP3FT2#V"@W>#;\'+!Z@,1+@!T 5(/^$)S8 <2,&=[@$ M6NM[=Q5$5B#2@?]D0],,U_KM;?7L;HLC+!$FDNAH4E,^3;F=W3X]S@$1W_*P MA JVVH.J;0^L*:N!OP?&!\^.B@L&GW4;#CK@!C-4*6*981MP%0D@SQR\WS:! MTG U0!X8&_Y?=K=E80V=-]H?OEJ_C2C[5K, @,?-+>GW]I?]Q9)@[HG?2G;& MK1 /FOK.B$8T2;;WK6K$LWZ])X&!CJ+_ALNWS>U;@]DP?UMOBRRFT#B:OJ:3 M9F_@VP_[CIU25]@O=%G_L"W_M/UB"'W/O.PE)/:[[FV3M?@?#^>?P+CR,'T M>MECGIL]8EVWA](O@6^_J.%A@<.SD*_/LVZHKN.[\?LO+Q7&<"Q.%ZV_[Y6K MG04%SL7.[AD=6I(9\\3Z/H7A+.&%;M%7LC=.16$[72;(X#"4A8:U)DF1EC)IG%J4&U_^ M[A6]<(#$+^M@K8Y73+T),Y]Z$TX/4@IV:2#/WLFJY8?2XRB%]-"%A3\B65TR MLQ.737H=I!]2B;?=PKA7TKJIB]P7#RY][3WMRT2.;N)VUL78RD6N=KV=JQQ= MC_%<0-"LVN4NG;CW52QWM,]01-0>+K.K-F X\-H7&2?>607NIG22 MX[Y0WH'\\.:NWU^U^%2:Z,L<82GF-Y.AV; 89>P6C1)?Z*D9Z@85#0_37VH0 M542SK78JKV95_+&79UO*E"<1ER6AGI'.A&\6W"'-7.-:W&WH#)%J\/X^2U_+ M%FY#43CD"A_1%G)Z9]);DM,J@U./)"Y,E)S4A6P#:@OI>.*E,NAWZ]HX5B/\ MQ/#O9'?] )?&/U=I'ODCE(W#BQ(GE(WEH.$@;KN!,K-V,UO>K$NZ-!JS*:AL M)%/ANW!1.\K(IQ$I+C?!8FY#<3GD,!]17-QJ/OV8F"Y(M:IFYKF"GJFL-BY@ M0;Z; TU_(S='P3!E28D<';<5,(X4DHNQBQT!O*"3C--B5Y5-@D!)JS00682U M"(5BTYX#)'QG\Z1*5Z2'W AC<<"1?40)62Z'613# M>@XM51L;@\"==K\/>8ZOA*23W]%[EY\=LMFCWK?O,(IG5:RE!P$IS5"HOL:4SVI1E8@S.R2B7XDNWH1Q]*@UE6,_BBZXJY!G$PEH+6C+TTM@% M)PA5H]0;TE"B2HVGZKS;GK&/0 MB_3$KK&D.C&5-JS1EGJI1IO_>^NA M&N:VHRD0K'[%,/@V""Q%=SB??]X(9_SB^EYE'9".U.-6><6"=6.![1XNUI4S M^4&EEUP8C",SA8;"\Y+ NSY; P<&4,)^81P+AV%?5-HK='7D^0*0N$A"I'J/SD1GW#/C_7LL-'J[ MS1V .F"K.5\4 7G>!,J8MYHG!H/@>R!BL[5E9IXF157J]@O%O#Z=E5IMV,0E M!*%__^VU0?_JXWHW'G_9<1UA]L&Y/<[3N869-&LJ:31FK5Q:TC-9P$*(,&/^ M][N8L7?&<.>!JQOHZ'-_R=KZS9C^)#&#DOIO$P-'K Q^T0+'MU7HP5S>PJ#2 M" 0X4 YBHB-Y3,]?J^QHFE&BQ5-AS3GL06#F?:8'6 <\*7PK6Y$I@>%GV-&;J$V$ )V1'R M]KN*"=YR_%6 BI;#Z?9V3W/3@.HFK%P/[2?O2$U#YY:*Z5@Q2A$?8AU)4R3Y MP0,&#;#5F %ULRL)C@GKU5*"'?L+GC^._I.C.G07/O$^8__\'9O#_7CM".J< M*4R"B$4J8%8[_?J@C0Q0R/_\%_S8*F""!E1[Z#^;_'-8<)6 6M)A>=,OOIZ, M)_:21GP=#7O;"DJQXIY/;RPA/$!8%>%D\.;? MG.9R:RO89AI(97+K)/R]6F/H<.$Q6/WCNR@?FSP MM<,2LMZT_\P-RS/1?GO&,Z O./G!M!Y@;&/^&\?BL%CM#'P,]I7 XJGD%X'J M2'DFG@#S7RXV,2%3_5>OF3M55N13AH4W$+2'0O!LP7J\0 MR""'A6[ G2W'_=E#H><0_Q!LI\!Q9*>^;*(%IM=MV#FG.+GORN%F@'(\E?' MJ;.G3EH/0/L4- >B+.S+(4%'CL>K@'[#:;8B60_/]O1XN(@?[PVM@-ZC?C)[ M)P&$=J!]GC::*")7&IIS>Z$NVAG#%?"",G&@=I]XS6IZ@"?F-R;X'N<#'7D# MP]'$,D TP=YI/X'><_+XV%:1+\W--(=RML/-'O%JO3@9G^Y#_>,'ULM4EYG@"*[-A[7 M-M+)EL72QQN(O(S9L*\7.2A,O!F:V,\0F '7AJTRHWC]+(F F M'^>_!X?;V7&M+853NE@.2)\2!--Y)MZ"MBM%DB65/DJ.,GFB+E8&B;KG;'_% M!_0 K:L7>'N^Z'3GHFQ]YFC+>LW0Q["-9DWA//^]\HPKLV/T,7%BDE5: M0LI48I4NDA.U#7N>O"J4 5YKX"T(>/,,XC(XX3FWAJJE/Q 8?Q"Q@8XI0O>. M"'_SDBV]D%>6TSP;M#N1)-N7+^:V%>CW %,^,*;!0\HSI4_[DJN2T,[D.ET& M'V>UZP_<9#KUQD+/PDJ0_L1=HP^]LYT,&EN]1^^V=+(>?>KP. MNIB?LYGYW#16 "ZVI*WO!76V_#.$)/WM+JGM)D_[RC?+ ME-$<$1KC4*,FEM(3FMD>[SH$WXL>\-'MNWJ5'TYT=:8JBZ4HI.2VHKO0A7U* M'7X^3O^\,08EQ[/*J$=$KB?7=_'[G0]-ED3)A'JQ#D.^T.T'2<_G<,_YV/B M&;YM/;%+Z,5?CO$[.>8#OB&=#@J55Z,TVR\-%K1#5-7&F&I@675\NC'>$USU M\P1["H9'?]*< MVWK>M[$_4[(=4]_YM2'=!FYRGW ?@* Q%3B=3[UP'@!$">PM-G5,Q1(5[U0! M21<,TZ?[?9K/@6, XW6%VW_KW#'GA@4-7<]]#V9V[$!/ A2O*3/%]@,<,<$! M6*#;8+^^/@18 E!A=\$*,-E>E@F,&D"%"4>Q%.1"05?>(%J!D7O/CH ?*P,R M$47/=_>P#1@TFK68 +!K#5W%,4'CE%FPXJ/7@KD)\!R<^G@"/R1C,VX-\Y#V M](KMH4@K@%1Z(+G!N@ LMTJ*IZ_XL1VP"L=&RB[&S_ (COPDL?^JI]?XQ.SWEOM@=<#*DTP M96?ORP=1Y]VW/,R"7S!@>A[<*=2"9]P4 '"+1V 22Q$5@&>P0K:GH1WAUC43 M#IL'(1(,V[=J*2\TPNFQCF0) &E:0'!Y@1<_JH/M C"G!NYB,5!LP3B>!RAP MDAKG^IAJP 2H'5X"P)A>Q <>*2!N7?(YN:O8$V\UP/PP(.;DFOUR'L$RP ! MFYHI@@^ZTVOP;1-H*WI^IQF8)("5/0&360_[D2C?JPV[(!JQ%K<6)A(@C)9I MV,%2P*]CDYO%_FJU6G_[* K"4'G;M_PW69!0)*+ MN8:IB2X\6)ZS%,"W&'!(9HSJYF*I!.K/YKDW/.U#!XBE26/%T@*2-0^R"YTY M;"BK \D"*3(.8 ]M#W!"VOH%#.$E 48LG[PH/'B#KOO&NO>U;730#X/NX5^@ M[&#Q6-;3R^LT3DCX!PGL"D13[$)GN?9-$'*K"!C23*32I*8#&-# M,#+%;1/-^4S3'A5F&5S%QZ/V)&%D!;;?AGD*QR-')&?PXIB9J-*&KT[SS=RJ M*[A@9/IXI&!(MEBL%"KH;#.R>AE$4:@"Q>+A.2?8I-(QC7Q?78MYJOXH:;W& MT 4CD\+EI+;K[&4APC<3FFA;GS?'(( M1V*AS<^:LY5,MOFIBL]ZBLDW2TI;IUB"18]'=F4FU7\LKR=H,5='!A.*I6K% M,9L(C^P_5DLJU95H>I;3REBYNF0IJPU&AC8OKI9J;SCF9NI@U77'Z8J%;DP* MC QMOJ_/QJPL#&$57 DWQOW!PIG#MX M/,:QI?%F;4MTM4?QLR9"J@D.EM8-;6DZF9&/;4%*H*3!.8].JLZ+@S%+AD=6 M$_56V5UT*0:9KW4"7Y3:^1(L*Q$::2<0I]=569HF5TO>G/9RYK 1Q+'(]>K MBL!@Q51"Y>A!40=THRV'L%H.>3S2Y>4)K4JJ0CO)B:5E)S,T-Z# R,SQR$1U M(@^,')^A%;-<[TN#6EV9PCFQ$)3JSD!_%&:9$KI(Y12T@A;'9-YET^$M:16] M+-J34H-&\GJM:"DKJJ>/60P-#T6=OKV<,JDJO4;(F4()"VF4IN#0\/L1DN[V M!79!%WM621XF9EQ);L.A(309\*UNNJVR%171G-YCK>A8B88+AV[QY(N3BVG. MA'+(:DFFEU-^(K,XKU;[NKT9,&L-:6!.!Y=61/M$9O')<;>268RA\5B#[L5J MS6XWUJ([L6Z)ZM!7E7 7AFP+"'MA'89O6>W6]'QKT:0=1T&Y9H=-=)WV,<2R M0'<2/(O%LU. U>)W6X>& 4S/8 M .BAV_;MAF-;T#T!9]G:?4&RUU]/D=3]4?[= L._Q.5;,_Y4>^8*T!\=H%5Q MEO1W/)97-&_!K^P'VN!^!_#MXI%/+'ZN.9;_V8!I)U#9\C5".(L(5P150\O/ MYX(1&]_3!A2 M)H C\*PT?_HG_3<( _+0Z+<59+NB^.EK'CTO*PZZ*3TUUO=+@'4*0/?Q5>>M ME0N_QMF&:04&+_%VZ$<#XPV@$]?G,-W MLOW7NYLF/Z5B?F7=H0@*%X("%D\G(D#< B"(5RK@1)"X%&.*9R(XW <(M9T M*X D(A8TRU (M*9;@$*@!S("!"W @LGL B2-P )(#.%%G5MP"(B#?="B"P M>"I2FLX(B7?6NW_5T7 MQG+\HUB.)>*9&VAI\!DL]RNKGX?#O>RPO6,P$_'4_8,9O5-!=CD@XW62I>#,YFX>SBCKRH='^K_<0UMI+%-8OK]G=H,7*##QRMQN=M4',^V^]?B M])=HT?8LFSHW\EY)LXK0]\MV_UHL]UNA[W=$WA?=^]\>>5^.]WTKY+V6)ASA M[Q?B[\LQH>OA[QUX#QO!I8$[="5YB_F7XSHUF2F9K](LH10[U$ WW/P+?]4,N!;A=]NR=MT^4#'!1R(4?@M0M\[ M1M\H_/93D/?2<8Z+(&\4?HOP]Y[Q-PJ_?:+_'_R?].;W*\>%"JB%ZZ5%WL)[ MTW3N3A^/$0+@E M=A23^_YT>G7#X_)T^K5!ML_2Z2S)49K(&H^J,D.:-;HZJ>./%*!3$M!I\B&1 M.M7V)Y*F]Z6ZWIV%=4$JO4@P[;-4JC0R:2([5_/T3)N-.GDS2_0T*$TSGC1% MR7"*2Q1B^Q&$>F53\O*$^K4QL\\2:DMEEJ/5K&^BS3PY&"TIKCJO0D*%H32" M>" SY N4>K>AM"/#G X7']\OH0X[Z9B* $MP^[7$(9:<3*B-?,!G"F!<^[[G M=>)SU][U.QBGUT8)C^)X$1F"*X2],N MHH//QQVOO>O/T,&MQR=A1F'06RB*2G[?&TCG#EM>?7>WX>"Y9EPS(-N0G^>$ MB\?.UPO8LDVEF6JM@J;',[6C<; '9!39C&C]KJ\<_I#8Z#MHG7(V2+7/-D1T M8$CCBCULC(99"M!Z%!W]=O>:SAT^O?KN;H/2KQE??0>EIP<9=[7F%C33==!6 MHU7.&H+:!I0>15@C8K_OFXP_)$;[#F*O*(\YWAF[$N,(_5Q7G2CEC@95^.\= MI;TM)]P=:CEW?*GLEG9_F63M6]W^75KR$>;?T;W+6]W^S^;X/[OBY"42BF]U M^_=IY46H?T>W/<^S_3N(KV[+K\;FDNG'5!]BO''KLZ*F6= H^EA54J-3YS++7<*+S#$T-SI@[. MS6I)IN=VV6;%'U6:0G>.E\VB+2B->== FX\Y-5&>=-#QR&4Q% 9/T3@:=KM$ ME5I_.#7??MCT8M3\[FCI%U,SE^AHCQF'U6C)P+31 %^,'8:"U$QZU/Q%A1]_ M BW?7, DJMMZ)EK^:#STBVFYDBWI RF77M$+;6U):8*A\$4;TG(&TC(13G2( MBKC>,3D?G )B20*BK!#_"'Z7O'_8)BK8/56HC5"EWQI+H^6PNS#;Q]_]U)+\ MCW B<&( LS7_2=#N+WBT1ZV:) >\*(#-V4!T^U'9J;,YY ML4$O:)(76FM]71YX-@.,UJ+Q$_F6Q]5I_V-S (I_MN.\EHN*<#OLY6A9_Q&5 MY9__@A_;>01-XDR(Q)/@93L4A2\-4!A%__TEB'C8GQ-/[-WV];>,$_XNO%5[ M/__W?_97'W:E!=2TMZV)3_*X1UAC">%-B5,13@9O_LUI+K>V@FVFL7ARQTU_ M[R@2'D0L'4#?[VIOUG M;E@*1*[?IJ1Q\$HSG/Q@6@\PMC'_C6-Q> ]Z!CX&^TH _I+\(E =W<(FG@#S M7RXV,2&)_ZO7S-T W^Y!*H2WPG.0_>CPRG= !-R?/11Z#O$/P18"Q]YQ8T0\ MO3T!R$78#)Z6.1(C6!+#,#9!)G@V0T@<*^&)!"D20H++$+_\=7"[KC+9MEJB MN RBSEK%>6^SK$T2CR[DD<&#$N!D8GCD4B"[?>F M"WV.#M(CGK37W$C=M,'(T-O5^5I0^CQR(R(.G5S(&P:G6Z1NS;(]NS5F$^&1N$6T!93) MSNB<6DR.^KT^LJJTV61X9"E9RF1E@>*8HCOL%3.U>6DP@S6)MB,!OX023-$= M3W+YW^/97%ZM]G5[,V#6&M+ G XNK8@V"X=B7\$9IXYE*_+:?Z3H@+\#U$N' M21+#=R19,,R8/9'\]#,;4*?D^:V!1)1B,_"BB163P$1BK"O-;0DF-@&"?HA! M&\$;"$7R@_]M7A(XQY+@=("@9H"0UC&7LV**'N,"%WE (UL/N1[RG<<4R_N^ M!41T#'PW\)^?&LGY(Q5=T!P+'CJ@8_A@;D!25C@-*!4SL(7M12?7<#0Q-N&6 M4HR7)+ F, C9EH.(>^1^(/;.82T=:AI=82*)CB8U90J\>_OJKB0X)C@6R:)7 M8"O@K NF,8,'Z-C>.YORL8K2 \O*:H:@_MIB&C8VL![/R1J:RSAJNERO-S0' M*$42T%[F8 FVZ4A7PCC(9P%89$/3#!?L(N;I/C%+LBVHI-F3/8AM[Z3).]AY MY3CL"6?'7 D 73=L'^(0)0%B08"_@"- =1,O^%8 /VMO_TJ_5JB(01+_YXWJ M7@"00#GR30Z@&&GB[=# M.=XR(#9^L6)UTNCU![X=['OZ\5=Z0",H7 @*0,G,O!C9CR!Q(4@0\201 >(& M ($!$1$QIUN 1 2%6X "$!$OACN)'V1N6#QY [4-GPT9!6_A#]X2Q IX0Q,]CQ7TA-9] M!RA]Z #UO9W$UNWYW__P$8J\&T70^)UC2 -ZR#^ (!%_O 'DW^\V]5KGM(]Y M8>X9M6%(XTQ<[35/R)W!UG[U3 Y_2]L2"C@OUD'D5V?7H" M:J58NW?0L[EFK"6I"U,1FA["UCTUGQV5=4.N]W(HBA>5@C)'[7XU\?&:89_< M##4#J&6?*"XD)T=HCD6)/HH3XWZC-B\G\%6;)6".%X:'[\1\)>Y>31_\4H)\ M+JB5*K6.GET-,/,%KO#SD:\#6)<%ERLFW;R.0;7#9[H M&)2\1CY>._>KB''L$A3'Z(\<6AR,^&4/296;"R@=22 =T_B%I>.5+*\OIL>7 M(VS?D"!O4CJ:IB)-!-*9TSF-Y*8*8A!*[O;45337F7(UWG9H:5/3%AK7X'D' MIOJG@70D7R+(.W"M-PP=64H6S"-^>]/!NQ7ID6%[RX9M9X> 'J^ 6[(Z72;@ M%OU'/*6F43NMYEI.(YDVZ?5O-JM2@;Q9I$Y1/U-IN QFT& M2WY%C>R;LF$C4_663=6722R3*)'Y(CLW:,2RF4+_L58F)K=0Z]87$/,@%VLYIC#A+"G6TC@]4S'5D=,H.V;G^,B\/;4Z41)FQ*)96ZA-2*DZ3CYNFLZA2+]K0EC61U!>O@ M0GOJ -!"UR_:73JDMSHTFQ'UH MF#P0+]ZCNFK-_X^5]3FJ:'VA$K?OVP%9^Z.*#ZO=RFDL*4A)>3232 M; +%1);CTSPK8AF43,H2(:3EXQKL9J%9PJ1*=H8ZF]G:DN<5@4U1IZK?ZY:9 MP1=V;\TL$H*0RB0+RW2B?:KZO>K4L.&*+[ H-^F5$XB=21,2K#\?J@!?-!FVM;PS;ZS6-S(DADQPX=$6&H G>)S8 M9!;<*$@O/AR9H2IW!IFF(1.2<@.%9(6RY1*HH^KRF!" MM"8,'!DZI0V5W3#XO$W1",:52)D6>V(I2 P['+G(\-UR?KJ:JM7%FF_7#6/& M.'#.T"DIK?PB,;.JN.HT\&Y-;.1PK!MDPAQ11W$V&K5K*8Z6Q'Z7-+A6&PCTAS+:*Y7'&29VE29$X$;\G#D MRIP+#4E?E-%))QAE M>02S3'%%SZH]#%GH_44!'?N^E<.13-)%I29AK&G<+B]LIKNHXB:T1$/G69WT MUDE;SI71+B8E"@.D8%B5L6^S'L$((YNU6;Y?07/%=G>]W#!L2X&>G=!YYIS! M^+%+5 MJ5W%XKE_1^CP-=Q0Z3VW4+8WP MMBR&RZD,ZW&5K*XO RSWWE RQ>4-J%#@^HQ;=RN@QV^611.JD#,%7 M@@ETX-0$1;+9Z91.K]N#Z*^M1'K%(N=2C%:J434NYJ2.=[HLR*&BK$>7V MNFA.9PNZ-4HLI1EUBM]O>KB>J76GJ+IVI_-AK=E1DLA)?D\9:CGCU,LJW6W9 M$Z?6SQ7MO'N*WV<-TEFR_<I+CCI;-4K]0W CHH-Y42)T9 M(9G"23[:P0?B,C?&5#I7+VPR;;.-F*+KYZ4?<4=]4R3254IFN'&>K^;V&]>U1I/$,*)\=:6X (UL?YQ5+T S+.=7OI))G)NK_9^]+ MFQ-'MD2_3\3\!T7-=,3M%\978J?[3D>P&P,&#!CL+X204B#0 EI8_.M?GDQ) MB,5EE\N P(J8Z5L&DI3)+ZG=BGP6)6>LGSSD3 M>(XS'66O@8_/UV:WA^]PW"V3[[8[C7KQD+P48O O>4V V2^R1GU\,C\)+[S@984,)B'37_ G M:,$K-D^O3HYLA3>4-3-&6R.TTXT:B@'5YH MZHHLK.E_][E!&W?[_=5K;#!M2Z@:8V.BRNNM0$S_V26ASF8X%/B'7.IO\UWL M;3",5DB@\WET29(%^-) "QDM85*4*1CH38J:8>0"+8H,C ("A)$:!4).,(R* MS")B9K8QTTTZ@6A#9'@;M%G5[@;-&Y=XG/E3'@7=$!+:T,]F4WY*8K*"H!M MB\KZ9FMN%NQ/%I%A,K)E(D4".AW"L*N/QN?P2="@-O,V'( #^!R;*"JSZ+#=7,?P^7][>&RKNB]89?IQT3]TAWD%O7^8ENY-T]Y]:> M7G"9ATRRW%<,[6E%;-03FM8M=TK-L25T,Z5#9M+AYXYJ)H7#SGYMV%GT-I;\ MGG,*:';JEDULYL@&:(#$-QUL$VRD?.-1:,%&S/>=C!9LO'SC06G!1DR(E B MY1L/C0HV8K[O6+5@X^7[SAT,.%YNDZ$<.QY>?O5*TGL^_HF!<'VCG[[VP-]B M4MX!D'WCP7G[T#A0*_X=QN/](EE\=EK>T33;Z0GC<\K@W#3P:8R[V8IKXO+O M.C#P%U%_P?,#3XOYP'4H^@+,7^1TP5,S?,"Z9@2*X4][V^_4F ]6AZ, \?M% M&&R?Z_QY?K<^>S6=R(X2LKBVR8Q^\/R_:VHY=0YIPAB?:[K59[K-*\AT M*MX>D/7^,IWU#&VMX&YA[UEGK4H)+3-=-3&9]JH38?C2+T?*]E;7NN@O7#3? M>TL3&? !/T*<5\L:B6Z:1ZX2_6EY:$^*ZU%VOI+GX[Y*+D="TY#33N$\L\3^ MXSN,&SNA##ZWQ7PZ&1R,V1JG$<&'NV5ES;CYW M^1&FTZ=:+\8]N3XO)'0VCN)LY(*KZ?A";U:)"I%>T2ZU.IEL4WZHL"=S-G2] M-4KVN_G<5&TI9N[Y>;QJC5O.S+;+;T_X09_B6EV'Z_,0+M\1^ I$!=THO-3P M=^&*@REA^/N\5LO.%=^/6"V%X%HMJU2UQ)6;*L]&UN/M+HS..IY<9*5Q]E0R6)Y80S']@E)%-$DC,WO?BCXI66=F4O2J M9R:%F8V3B>"@>SH!=VB*EQ^P"%0Z7.KWM2NW]]5,[GJ>BB[,V0^-D+W^LS( M*[46+]XH=&>V^.ZL?_[=MYNWN\7_Y!/\IWNY_I;+(/7 M?GMN_#^&_1[]KAS MB)I%KT483MZQ[+P&X#WE 8GC;TAF68>&]_OOM7X.+K29Z MI.7?.VT!(^^TE_U_E,<,Y/1[-1D%6CM:8VQKIGTYE#A%S)FX)I5@@\8(9)A1D0<1+R"_'Q,LOANS?-<*N,=[]_0+\[QD/ M@;L_?^S66">A^E^$QYXP\(/D5'1RVNS"[Y)) ?OT/BKAPE99AZ3[N?MJ?!J] M8:NL7Q/PYT9T,#OGG$;8GP_S8:>L2Y;?G[HZ$ "S_9H[YYR@K.WD%OFY2XO/ M3K"G*UD\M14=@$(0&M*VC(\-5N MRO<2C9^HD?OT[?V32,9\RDK%S=KHB6VDZZ6)_F ;Z_G)KF$TLXDE2C^L7XM\ MTB[F[Q+K89J'"_Q1+!D_UJKF^DR7R[=0KK-,[CI:L?^CQ'\GC#S;GKEK]X2 _B/:ZLO;5G-I-DK MR[^\\-4ACU[Y.7 N>/QETNF4\US1 M+NKW:J(G9^.+D]DT+_F(++^N$Y&NW&9GS;@3MJ/I!M4P#]V?9--;+LNY7@#F* LJ-8 MCFSS59R[326.A*H=6HQM$/,?GAD;8%'\3Z>1/U01^ME7TC]A(4RW6$TK?_LK M;YR/?"0$L(6;F>1FH2XQ>7I%T/2B8+R__/PMPM]&VR%T\$3'#X9B(LDF>&&0 MCG'\("XE8@->$M @C5C$IU))D6>C/^A;>='YZZ$EWC7ZC*UO/P]?[Q\&+ M5AV! ;;[I/+XHI871FW537*]0CO=:",C-C\JRO6^78_-\9%(>ZWM)W/C[%UUO-3Z M4S5V-Z]E6P(W&,.:>T?B._-FGI_PPRY*M[J9%I_JHC+XU!RW=_I.];X_-,:# MXMI>U(1((_D8EY;8R-P[THO=:36D&B=WJ_HJ5>Y/Q;OZ?7:0VG]23:SMR7S> M;$SM)I=HIS55>A1'@_3^D]U:IFKFBP6V6$U5^,QT7IKE6_#D'ICR+\BY#.7N( M3YNY1FQ6;LE25S77UISKV\U\?G203Q.]27>JZ-#?-IO]^?IAM1\Z>;C"[6NW)<$L;<\Q*<-%FEE MO=U?L/D$VTXO%/YU2'A_?Z.=,2^5\['6HEB.]9[O-*XB/TZ7A_@T-:D5ILF! MT"RVV>A=O8\FH_ME]A"?]K1QL;CDK%DW,JL-45U]S10?#O+I0^5U4:NSL_RT MO1H5>F-5>7G.'^13-J(O!M:38+/);JN2ERM2@:V-#O)I?BE.UF5%?&0C9K_P M6)O83T^OV4-\6EWW"O%N[FY11&WEM?-:G8M)\R"?CF/)Q."YV(L7YU&MU1RD MX\GG\D$^5<5>K]X;]B?LO%P:EB2A?/_*CK"OO_=DMOY0ZTP$M5)4%;93Z*1> MHW)^B7&T_^A\T$W&$J7'\;0W'')/.2.1BP]'\.B^W&\L$JU<6XY@T5?(UYNY M.7;TR:-[T(_PJ^ O9B6VN:[%)EV^-HDGZD-6 MKTVR\.BN ,@(HBA%AQB&4H(=Q&,)<9 9QJ(#(1.+I00^R<63>QNYRY5Z^4>^ MD2ZBY7U99=6!E, L>$ Q!O6T]UR M-S(=/F='Y8*DUD [$OKAJ)*$?NY/"TGC,(\ET>35 N>W'O[?5$==!-J$K&- MK'AWET8:5H 'Q4_A"8TB@\:BSR)I-LT^QCOEUSR4->R]?3W"IO0LK<2[$37? M;[22V7*LGCW$U(F)JJ:>1@^3*ZXRF?7*CLO)1ZZ1=;[54JLQS HT Y M;_RJ/:V(C7I"T[KE3JDYMH1NIN3[U;]W?O;/?[;1/C+XV5@6LM@3ZN#]Y11=F/YPSWR7D?5RO_RD8W;4JI%T M(M=6'K,_&&0*_ SOQ3)L= QG\&.=2)QSF[3#RJ:MRG#-C+R#,3P^&3/D320R M&)G6&#'XB!2SV$> O[U?0M:<2_W-+'5CRF##'R^-?^UKO,+\BU=I7Q89EM)M MD]=$\\^P'\NF'XNS ^+G0E#%_8 ZN>23$[=L281-*()YJ3[L=!! I'"WL9!9 M HB7Y&TJ$^(E>'@)A5@ D<*QM]&06P*(F+#O5##Q$FK]8.(E>1NR2P#1$BK] M "(E5/I!14RH](^)EU^L-7XW''81UY?AXS%?, M=!7M=CIC R&FCK\8FTQ1$Y'('+GWWOEK-G^SJUK(]I=U8(_MXY]E^RA[&X]= M%=M?57NU\Q/'U?7>^U8MV$)A?SW"_CA!NW-X,R?O_OM>7NR;-D7^?LSP7O0G M< IK*?1N>=R1S_KL*Q[CUU^&@@X\)YBM"O2Y1X'PU"01$?)]"%EQ7]"V4!:$L^%H2N A3[E/- M40-@XT'/*$B:6KP%" L;I9Z@4>K9(Q7_>\SCG3P.^W4MT[KMPB!B#).3ICB_ M8^W)T(@5%]R@-\V^T3$M]6;'-,)0*A:HFYN5O$*ZEI&&9\8:O^S7VZ6U>069 MCGA]0-8G>J5MMO-6M[1TJ5L48WFCTK7++TIF\/UTOQX(P M>GR%:_LQ:)M^DTE_K'7ZE0BS$[2$/7D$Z9R-#[\G&Q^SZ6%F_O#$W3WWY&)> M>%;O$^$2J9Z=Z,OH Y]@ MJ[&D^O#R\KHN1\YM6 S$OEB-Z=%U%SWV9]%%K^N'8J3R6F>%V;A@9$FK+?;'/['3.@'GCTM] MOL]\ ")/^;&L\9+7.>TB- $NJ&3U_!; MI]S!H$J;SGC*+T?%YWPQFDSQ#524%XU"]LP6@)%XN)\^=L4H:^>E1ZN8K-AJ M?(2%4/K'/\F;U <#T*$%<'$L>=H0S>7RY#$M@/(\HS\;+;G1K5;71G-83,6; M?6 ^"-%$,\=@O?-'8CYM EQ1*=$C,BVWD_)2-Q3QBB/E@2LG.G<9X7G3"C2. M=&X8!,K*_"6?E@QS!/YM2)TQZ@'S?G:BXRD4'#LIE>9J7*UUR]G:-/;<7I11 MXMQ&9V]=+#_-JAK'-A8/8L%LIP>UAR5&!Y0H<3>)V,>\WRL1D"=+)5XETY\F MDG5U7'],LS9;6I5;?)7O3)-(K!;Y1Y7EGUH8[HD?_\0^9M5>3T53:/X$2A22 M&-JY01 HZ^>7_/D+DX-5E!7;Y?MZK2CSY6I#?TJ/LD_GMGZ*M7ID?)^)=8K) M]#IN9)ZTZ'( XC']XY_T33+QL4'7H?$3&C\G"N)='=,?T_A9"WW47@[$0E=N M]U9LHL_)1@*&$9*RJX\EU*^G[.HK@WT!C^EU=(M7&(/2]N4G2M]-&H_RZVRNW3VT88PZ5&ZQ'[L'OYH7J_H,! MIVN1,%\4<0JD@(E/5S:K\:-VE\_GDI7'[K!8?CJWMA?+K;LHEVHUB_QTJ-=* M#?F^^0QR)XVU?>R&XZ*AM@^U_6]%@BZ4&8^I[3OQ96ZNEQKC;F2U[,\R:W&N MWX.-#1&=(ZG[\T=N=B_,_9L,.P\GMM.)[>$X]E.- ]O%O>_!CZ,]G&)X75CX MOJ-7 X:([SMA/6"(".52$+#PC<>I!@P3WW=H>L 0$:KJ@"#BVXY%#Q@>0DT= M!"R$FCHPF @U]9I+3II#N,W3_@MAI?__*A2+X^D7RFMO"B=L?Y,!+'JO[ M43S_EOB\9.1>R1#MD_+SA4>40GX.^?DZC*;+:%?[][6.NOX:,_%2)U#^_3V& M61__%BMWA2-P!\B.MG.Q7KT8[=2[]8D27QO&N0=.ZERLH:KUZ-UT76,;S9:5 M'MY51G22=2Q^D[SF-K$'%,KUCI@\P6W7[\FTQ[P66]5SK[G*2ZHR;;33JYG" M%TK]ZLB96WWB&?.GM_:N=E#U\E4:IKIJ/E&>+)S,W5$=T+'4T>1.-?ZPI1F@EA%;"-V7: M8UH)X\Z\-TD,2ZA;Y6/K26:Z'BCW66<*=?RT(^//$!2ZH+'3?U_HG.GO4F=Q M;9.D@QVH">K NH75,ZLI6=6F;3%95L:CS.HNOSRS"=89MMG^++H2IU$VDN[D M](;U9&?I&&F.O6&3E]^%]"L9\/L95-^,!8\Z,S*[>%6K]4)G:H\:@^PZDYBQ MECLU^CC]_\+"R6#+DS"DNZ02N*5OR_' MFNBUN^Z.8N5G\;'-F7R6:XHU?^_JF0"=/@SA?$#?W#># MJ6_2G5PW;G.9>9=/Y^YCO4G'SK/G;BUOJ;..5KY?1:=\IV$F&Y;&9@HM.I(Y M?9,X=4+_^[+V]S,FOQES']687-OQGCY$TVD$/>M\WXX\H/2(3E[F3IMLN\RH M46B>A#4^IPE(!56 K1)U]C$?&Y78,MNJ]%^3A8S8.7= :E692:FDN6Q-56U1 MEBH-D^6S2SHR.783YZZ[$#A G/W]K)-OQMQ'K1C.E^M6OI&ILVJYEBAU$T(C M92V=T6^.D_6EW30<0);@-PU9"2_ M0T.=<]MSWXQ5CVG/V7?/S:R]2BV[U5HN$UVU7OKUAQ$=@YP**Y%" R&,$/V. M$QE4H9,1^+@P4WKI8KN"^IEDOUU+S,Y=@CP32TK[:1HO=&44J:79B?2*7K)T M-'+ZAHVE0_L@M ^.%N^Y7%8]IGW06K\T]!$7?9RNU7K]N6G'^E7%&YQ\E%KE M"X_K7$QITR,R+4:7&&N,F*5N*&(8;S]B'O'<#;Y.?.&81H_.?>C@6(^_Y++. M1,D< 'LVI,X8]8 WWUUMM2=6PG=D!N:U5J>NQBJ:;+2,-^M M58O5YS):Q-OK21,KK@P$FZ+1FT3T8]&F2Y5_)VLI<'TL?IJPU-7Q^#&MT'5< M%8WHM%,L5F)KUNQ:]1:&=0(S\\?]86) M.?&ED*D:\<5RFA2BO-Y4VYE[X]QQ,7ME:>7*J*EW&X^I['TOVC2;VA*C *[R MI6Y2Z>LNG0I-F8!'T*Z.QX]IRKRV,Z_Y!K>6BKPZGXQS43;3%+(8UA!0BWXL MY1964 6S@DJW>(4Q*/6&J8E/FI,Q+'=%W1XJZ#SVY,'.F5\0_3K#N8)C,^ZX MQH'4"]/G?MMN#E6=3;;ESD*-]O77Z;EM/_0Y5V74XU-VOH65 M!;G4Q]UPJ8\9?P$7/<<=IW$5K/=58:D+Y;UCVF399"^7R:6T2+[\5[[D*"?)% 9] "I#LTLA6&F6K6HQ:77.I2&KG M/G5NY?T\7UE/O&K4I^J+FDY$)DAIKHE<2?_X)YFX2::NHJ0I5-XG"\1<*.\= M4WE/5^W! *7CW6G5GG-&.<_FJB)A,E*B=!SM'8 VU/^V>,P3_[BG>["Q7)*% MP 0&MG;U*_:I*J%D-AGI#8KE0:>02K7U?"K5VJ62MC!&HJV@AE34++R7GBRB M@FP*BFYB5FMH&ZK-&H@W:[HVJLD+)(+ MLR*5M%$>2&+-J^4= -AE.=)&:", MS-R:_G/=P1O.*;HP=4AM.*@.*E;E?K+DN\E(II]A9X/UN#CZP2!,E3.\./C^(G/DA\A#6\:"E5 M)P(^+3\ST5_N/_R;3>*UQW2HHY;G=4X>JR/!2U3W"V;^)E8P31[8'T=KREA3+H@9 @]??#C:/\W/HOWW^.9 M4"$63H0%[C81(B(0B.!NHUR(B0!@(N2'(&"!NXW_-+D8(N)4B&!O4Z'%](68 M^,4T^[L6:T"\T< 'U-Z;O_X;9\;^#GQ(HC"?Y++3%%/\S@SZ-II9)!I%@Y$Q M]L:-2@XOA +>X6S_<<]! '@@9_AOX $/_JY@^@/A5L@A9L_+?EFBO++I%B MJCQ_F/-;9=P79IZX=GT/"06(,B0PI)S:OJ4X]4-=T?AXX MN[2!X^_&GX*:]_UHR476'#2D7VYIU6T/YOQ==E0H3"-%?K2H/]^9&9<*X^4@!@6)<>XF_<$V;B&7 M?P&7_SP*=7%<_EXPYSJXG(L.8MPO3B4?S6+Y2F[TFIRB3IR/\W-INDY]_HK] M!]ADC59]1(^//K]!@8/B\)LE*Z55MWY.)*,W:FRN1PI7)QS"]&@S@97GV3C%[%'8ES<'L\ &3H]6:@K%Q[L.=F]L_ M;(R\S>ZU13962ZO9U+3-LE&^^9@?5R-'M4VX6+O2*"[9%W:>[#[7LSDEEU]E M,;MCVR1Z$TW\S .YY- )O6"J'*SS"WVL(T92SEZ1?O)0R]E/?&[!N#&#*H7V M(COC%HLB$@?V@\0NFHO!4>7;O;W.Z#F>K10;Z?0L;8Y>(GJE-4B0$$OL)AX[ M[:"5;\W^^Q;0=;/_(;/H&[*_SRYZ;C:3TCHC]MBU_KRV(H^YBGCW^6EJ'^!_ MXR$QR,[7W?XT:KU:Z=FXE9CULIC_(?:2N,G\=%;:62^'?*X("6\2,"!K-D\/ MD"T9[F6:?B(7_!U@[,I:+WC*E;.61>O&ATSXIJ.N(!SB#@]K$;KJPIO_=!_O=I,N/%O&1-2V/VN-, M)UNR[V*!N:D%YV$6<"!&-DD$&JUDBYEAX*$;1C?(1[P*X7_\3]YBEKJMB,P0 M,082$/'\+)TQD:(PF%&($PB_FO$R^<(R>,V4D,'PC"+SE%,868-GB5I7UO01 M1U\.D;5$2&/@[BA>:,:#P2!C-K),N"7FQ,C5#>@9D;?0+=.!3VW%DF<*7"@69WOZ,KX)'0SV.A@I"U0(A/TGFR.D7A#(:?R*UG%F*)@QK^' M\^A#C,@%N2/F+ SO5&5M_U%;VW]XN,9;G]LRV0!Y"P&0#@F%_8<1W?5RC$', M+WA9@6]OF<;>DQ@<"A*L+5 >P@DE!M@?A@30#&S#3P<;I ]Y>+7NX18CCL=[ MM'A9PY]+AJXR0*0S1"B5,77;$/#YL76(MW7HZ-X>\;]F.MX4?C4B%S!! '.I MOTUO1_3=]@R_7<:_U)?>+GP')%1D;M 5,%K4PAM" (F5@)A3!U^/&\H@\ > MOT\W9,M#G+.40W]$^# 6$L::/+?1AC@=>MXB( V89VP@Q P-G1<9!2V08MZ& M%R*]"Y'.#LA]2-ZV=/<#>A^2?'+\.Y.6[GHKZ3?G+-U&$[-37 #8K_K'NSMP MR(]?>=B<+L/=)M\(,0;^>.]G@'\)BT?CONT;U,#O#$=S#)$/)!E^#5>G.41E M(TKGM@ZE=L2N,(D%( ".'3EL4LT*@@>.Y 23_0I$1H[PNUR4?CA?%$14[F[^ M(C% F2IZI4P%+&1BLU'AC<,,Y!C>6YQWG8&@)7 K]]^W7>CWSV'3& R:)8UQN&CFT$WB+&-ED+6X3"F/P&6P[$ <%K M:6"1*MB;((8DWN36+[&5[%O?9X"&(B5 F[](#%"1$KL:D>+R%.&C@UX+9GG* M@KJ&@--4'?_,Q&O+$CXF=MU .R&N.=&&ULWT@]\DV.:'R3EW#B9M'$[BW;__ZOK>O#>UD;)[WB.Y9CUD<) MJ8Y0A%KOO(3?_!>O+/FUZ;(G=YM(NJF;O[P4#0""2=^RF3\8\D^.O8TE?$:[ M;SO@Z?E MN7).3_;=N;(LN\Z$0YBP'.(8O8#NL!_.N>*<[>IQ)%0M1/0C&T0 M\Q^>P7Z^]'\__J?3R!^*_/]64)4LA.G64'EE*\SJ?.0C(8 M5'80):E+3)XZ MVJ;'!+S_HO9;A+^-MD/HX$ED=" B,17E.':0BD7C@W@REASP;"PQ$#D^SG*I MF,1&Q1_TK;R;C1I&['BA$$D7ILGN-#.QT" J#$<0SMU]4>7TRUT,#+A'L/QA^B= M7"R_%'CAKITT'M=0VK?W9"MB+4OZ7!&*_,#4F_'GZ&MM#D^F=Y_,2M-%KMXU M!M,VVZT^6J\Y]HZ#_/K>FO9+L6G>Y>>H6'X:942QV)D,Q!%^G[_6LUG\Y-Z:BQ?U?GS? M+RO3]ISML4)"4?L/+?PDQ^T^.E'CR:'R8@_8O& L.\O8)#62EX/4/I)>K;2Q M?%X4Q[EII9S-6[2&?&\*07W9OT7SL MP33FKWQW+K6G@_I22G4,>'+O2(6GCI$7E.&T6Q[6%"N7[2K5[)(.,=]^LIF7 M^.?>8I9B;2V2K35JN7:B.Z(CAK>?C$JVHG8'G,[:L6XT,QSSQN^C+.HV\O](0WF%)IASQ6X[-NJ@XG.MUBQGH5?AWJ.L M8*4%S2J]3M=B?#I:/C2J7/O1 M_%),/2<-^8FU*U6[F"ET>V-IY'0DW7YT^EQ"TTH^-NKR\8EV)QJFN*2K9O;H M=-F_9S/MZ4NW+/#U>*87Z7Y-S<7L' M8_OY=&:F=^2N*L=S]U)'?3"G^%EN'USS7JI82B33U>+Z.5KG6W?F4[H]@C3^ MWJ,#.SM,OLKM"%NM/.OM=;O7,Y^R\.C>P:2*5E@]]70/M]WD6'Q5T_S35*W&*N8L;I60T8)' M]W";,).E6*)R-RK:L1(;[9KV4'9P +BK2/X^,9 BS2*?3JS[PK1JKB>M0QHKGLGG^Q']Y9[M=BO0KO6 M'"T/*3=.DVNF<'E%LQ78WG$_PPWTV6GB>SIH$R6@>> MW'_]0DD.NY92>F;7\RJ*WY>-]C,+.FN?NZN93(:O)"?LO/FD"JDG,]EJMPYI MS%1UW$3=<<*>\J9@R=F1],SIRT,:L[*6(^F[0:E1[!6TS.R^(7;6M>Q!C1FW MI&HR:JN-8CZ;6)3KO5%?$D%C[@N,^Y5F+JQ8I-N+/!B3='TILJ7L(=U:*0[* MLY;$Z=U&(YK2QFJ=Y0>M0[I5&;Q.N]-E)]%=+V>5YSI;*++%Y2'=JDK9QTPO M+^BLK U&U>0D.1BSRX.Z-6EW=/,YTGMARPMAJC0FU@M?&QW2K:7)BLL_]UL5 M5N:U\K)=&S2XT4&5U4E5V'+"ZHZZC4EIKN8[_5GT 48O[AT^VTNVA5[.KDWS MJV&[/^L:N75]28LTU&KR,'F"*ZYZ%]DA6^7TIW@](B1>YZV#.G!:6&O6P^-+D97[ M\W%S/GA4M!)1;'NK+EX0:LWC1FT:Y?ER2DK=1:=CHB[W\&JLRVRMOU!';&/U M4A?;3?6^VB*/[EN,,2[>&182]]/YLOYX7U[VFPWSL!+6XL)]IEHW4T6D6)4L M_WR_M.=4">^AME'4]7Z?%626'PEF/3$URVNYM:6P=XK-?EZHXQ;@_$*Y#KSG M5/4PM(+0J8H1&]HC@M)"[)_G>%,^4(TD+E5[+*ZZV6D^4VI$!MG47,YF@U(6 M P4EM"$M?T(?8Q<*%1R8 M0$6"[):T>/VBF!A[PP#LG8Y!$ C?:R8$#["^!V K=#6)5.OHYE:!3-A2.3 M ME>.)V_A/.[6'#0+#SJ7?" O<;2H9(B((B&!O,ZD0$P' 1"B8@H %[C8>(B(( MB$C?ID.Y% 1$A.P0!"QPM['08 H"(M*W\5B(B @(I1+0<#">Q/H0D2<;C9. M)L3$%V+BX\T#WT+)NT&_P,]L.()D/OV9]RX8?W9N <=]MOEW(GH;K"9?O]S\ MF]P5)LD>IN[/,'1-O,W/CC<(&>>J&>%O X?W(K/?!1!7QA5?,$J"SB<_ M-U!^IBY:Y*;7U"_^\EW@$#+%!Z(/WP8.[SG_%P:(7VS< M?R)_X1<.2R E(D&G979_V1HT/)(U% J'T)$('8E098:.Q,<&0ULYM)5#6SFTE4-;.3 &T@78RA5WBDIH)7U;(]F;=1'2 MP)'D0.PV&0!5^:ED0V@JALSPM:-4@AQ?X84^;W M5YWH-.G'K\FW'^'T)T\ZDG$SAY!\?%1?(_'^O'G_=1/O>QWS0]H--NV>XCI^ M<&GWQ)?P0]K]4MH]1?UB4&GW]%6+'R;>H*>9&??_R0C '__4=0VM&954FC.J M;=F\PD@800>-^("SW>G;!Y_!=O_?BZSTV^4?)K8A1?Q"QAF<6C)X@V>AG9/;I2? M@G;#U,RWH-V3&_]N^93H&F?VX9C"=*F%2YN/&^+F+!C_( M=Y^SR<]]N$N,!G?;+B^U/7_8"=^^5G4SUWA!]6[RL+0UX**0W$EF;C*9 M:!B]_7QRY]Q\ R=KPHI87!Y[-$ MOR%FK'9&[I:?^ATVWS,F#\5"J1;+$3&3#,7,[R>)SLV*QQ(SX):>^VQAINF( MF:9S(_=(1C/U2<]]N.^:KNKH%K3E"F-(1TL\;5-V#%.VJ-O8,#@/WQ[,(']Q M4NKL)PZ.M5LIM!?9&;=8%)$XL!\D=M%UE)UHRN5\;C3@8N#+(^9&6&GPUI5?KI?/D[MHER8E<75I)\.@N2IMF/-;J,K/DP;HWRB MI/4GPKV^!,F3#"7/63*T9V?$4TJ>?3LBAT,:(4?F:BO]Q_^-^:Q*\:TVXD*K^*$.M \X = M49!D^:$?(5 BG[B^%OL'[-4RW+%B2$>3H4']IU0:(B)4"Y](RQP MM_&?MC,/$7$B1*1OTXD0$0% 1"B7@H"%]TK\0T2<3"Z%"B(0B CE4A"PP-TF M0W8(!"+86RXTF+X0$Q^_*/,62MZ-^05[K&R0ZP2#/S[SG0#7MP'#>_&E[P*( M*V.*;S$FK&7K%A*O9Z#!^;G@-#?5@P^'][S([P*'D"D^X$-]&SB\Y\)<&"!^ M]:K]:=R%7SAL.&PW $P1^A&A'W&]3/$M_(BF(0OX9;(6NA*A*Q&Z$J%@#%V) MT)4(78G0E0A=B="5"#5FZ$I\W)7("I![#_V(XQ! YC8 @N%GZ&_C7\D2/I%F MA300FLVAV1R:S:&%$)K-H=DW]J M)W8U_0TJ" W%D!F^EAFBMUS =6(!":3-+1U#$.-NW'D$H7C\IE82&2)DA@3P M34TDV@$[1/]W-8\H_@]I@<^91^>>1_-]!=_/SNJ?';L]1W9X)"/HW'3P.]"* MLE$VI(OCF$*73!?_(H,B*(2X/T,*.8:M="WT$0WIXSC&U+402.S/=\VMSPW# M.T.8"F;<,&@SY.::AFZ\/;#Q"\?=G93'=^=&[+I-9YXLA\0<;&(^\9WTH!/S^7D[).;?&-EU=NP%B)A/?S?FP]0<],2T M.V2,X:+D!75=0VM&)379C&I;-J\P$D;003\@X'QXCB'U)S#_M\YX<%#>Q9GI M)QDURT4',0YFS;*'9LV2%$)>X4US:[PLX0=Z1:$$;.!,EK4K\KA]C.I=83I:_/%G6>0L9+IO5Q)WYLA^;)=M]9OE!7]-GTW+OX256BA:?QL\M M&*S[XQ\N?<-RT0]-D@UY^2S>SYP_AE:C(D$VY M&9E_7E/4)4CQB).[@4$Z_-F]R6#!XUOSP6+# \:WYX.2^0H!.?W:7(UC@^-9\<'+_)4BG/[L;]#OPN+1$5O>V?'KM MHII9>JJN9T4K-QIP'$F:XR*'L.B81R\:$YG=F/W<:\-[F[[PWD;+P%$BD92J0O M2-2=FQG/+I&"();#M. 1TX+G1NZY@4"]ZW-#X;LF(3NZ!/?KANI, ME$Q23;932D9*"#K(4"N; H*/E9=%JM74D$Q2$_^WO+B2/XR$9,GB?YYT:RN^;+>>MI:;*V M]NM1NZ\7/7UK>M]9Z7IAVAM(M8?1HO-LZ2X3X[)YY2] 1"UGZ- M1QTRP!>EML].#R#3O*[B0ZX)4E)_FXRPTWB&@67-P[7-_&QFZ"ML M7EAX4;R8;# 2MAF8!1@-C(C_W]*=SWTKX,>= /P-61R&SB!FS"\0,T1(8S2= MP88/K*\;C##FM1&&L:PQ@FP(MFIBXTS 'UACWF*6NJV(]*=C7F1XQI2]$28, MYB8DX'-JY)R^C=&3F\A7@@WKPU,SC#9=-)F9@;_'!IYXRW3(]I;P'[PS.*LA M\PIC((Q' ";>I*UY?XUX62,;Q_:2"2=$,IP/KR_*"UFT>459P]?.^_C1R$ C MO.8MH;(MVM\R,0LV[4@]X ;$QN0&'1TN%[+T#U5"R6PRTAL4RX-.(95JZ_E4 MJK6;&"GI!L( RMN&@31AW3%XS:0&F9G51/*G0MYB-G5%Q@_@M^<479@ZQMYP M,)WGXK;6*5K%:"R156)9.Z.F\7L0-@MG^$V68:-CR)1/<$O)T%7&PB\@1(C_ M]\9/[PQI- 5XQ]]*%"Z,X &/EAB!X!@ $Q6$]8PD&@+B"R"5C-B#C.'?HQ6 ME&@9C#%,=XHM6#:%*M"B@.4[II']G^$SZ:JL$5Y2=0U9O+%F>-)1D[")(O-$ M3A&^F1F8ZPP9: D(23;$R(PW+/P#0"--X=_!!_27S&&;$[AZ%N[QKR,!0KQR3# X1V:;OEE M%#GIQT[%$_EC83*!WQ.HXH<(5I"+=4"/A441$<^W@=%;G6TP.F@''C@@D[?P M:$ G?A&)E$T]LN(!PT#.F$TTHLET(F0Q6R(-K_$O6F<#/V?+M[@16V?"F-"=8NK^3?]L7ZX*V.6SO Y -?'O\;](UH2\NVWA_Z%J M%V\5?F2@,7X..+:&=0?9.:4&%@,D[<4T7R :V5B*SZAYT3<<D.7%1Y)493[PAC&H)C)#J33NM-EYLGM7:TRJ=_UIZ\<_Q\+3 M81,AR'A21)6WHV)CTN5'EC VBX51MM(Z-9[X6;FS>BP;M:D]3Z&';$R9V>W1 M\?"4NC@\U2(QN:CUIZDNWQ'%,>IS\4@F>VH\E9[;J8>'6+_!KEOKX6M3?.:+ M"8PG33\09WSO V;+='U9\CSQ-O"'IR'"%A*UJ@3A#\1Y<4__\'_<5$B M*-@ AH#@V &>%^X#(+KA0/:/HP3UMALS1^.^FQX4A=$D/0?9-?GO?_^7?_?[ M 4\G,ND[UIBV=HZ2(.4(1898KDTCO(3?_!>O+/FUZ8;]N=N$E^CXRXMN B"8 M]"V;^8,A_^38VUB"P&,/F"J_BOA YL1$(PJ2K+^6)8BQ]-E?4>XV"72._W3.%>=N4XDCH6K'^XIM$/,?GL$:!LOP M_^DT\CO!S]]Z)?T3%L(B!$M/A7[B].=V/O*1$, 6O$'@<>K#8)(BK:V=,"O_ MCX^$WB+\;;0=0L<.)VU"5_=C)1%Y+71EU*[.M5Y)C/9& W@T>LR0U9:@PZ(" MY+$37" 2Q]DDR?@2X3#D06SAS^:V#C)KAB6S$\=Q&@)NQN\Q6*SQ $Q3QAOF M#;\HO&7>#!@S[\6*7>D+4=4/FA*'=/^ 7R5JD_+K2F7G2[T7>37X1(IK' M?]X !C'L&A%ND7KM,=5*%XVY6N3M1Z1/V,2=6MDR5"L/I<]9JEA7XC/UF M5F>9:H.\80?H(6Q]PD\$KR=@/TL?G M">W1JG3R13YU_Z+>FT\KI3XZ4I#>+_/)3(:WXX!<[);)-^KU2J=>?.BTF>Q# M ?_]T*D\E(L/^4JQ'9B(Y;Z2I'I.MO"2POZ9?_S3MB",/<)4T.0-2T.&.99G MS%*VQDQ67/"8,$S+H1RW0RW)@F+IC)@'+.?II_$;+&[??O&/?W*VB:U[$PQ< M=0AA24QC6"3\X^0 )<>I%#%YV-@2Q>*:'V*A M5Z7Y#9+,.0A>?S #"S2,$$B+S@Q](8M@ZC!8\1F8U$CB!]PY#$0LFR%A1U(X M\)&I2]82[*4E=I<9)\_"F/80%*@EDQ5EC:1&#)$X?82&15T@2AL;5N8,6P/> M1AEK/8/""X7X=G@/-!<,%M37R_E=PP-[[SN&!RG4@X*\AM0T=-$6K)X#$Y]] M\2H4)B^/?%[M]EIF<6Z-K/RJM_SQ3X;%AN':W'7O\6L515\"[8)C=D%[T836XJYD0?)-N"[+"!3%NA"1LG1 79S0MF[J9M"&,05HTA?ND'&1S_@)FY M/]0W/Z3\Z!*1:4, B!"1(SLWOY&8D0Y5&:04!7L^Q!\B 0F:98.G,?=@=8AI M6-!M@_YHZ.C*GSE"%ER88?QF]^&M0F[MJX.JNXY/I=!>9&?<8E%$XL!^D-A% MP!4'H >ZYG<))U;S:;EQ$MU8.?&G?0*.W'1N ,-$FG=E;67S.8[.APPVY#P M7\"=)'(@&UB0Z\9AWL?,AH4=MF5 ) _7A *6$(39>UH>XQ]8Z93I#/XJ]VH M Q3F"(I-8B74+C!IE(1: U C279'%83F7PWDMR+3E+U;TV7J&GZGF[/W])SN M/Y3H'HH((*\"1^15'@K0X$.(1V+Z!NL J[(1',_Y1'+CR#)64S+YG4WJRGC? M6_#OO)?<.*4!V)PAQQ+ =H1U)(.W25$9_1Z,&\E6&!4;DKH&.C XA%7!UI4H MD@ @U?&H!(9'6JY"J0')XDLMQY"1)!Z@\%!3Y["KQ=D][;E2=#TSNN?F1@9S" M$/+BGVP91"[>B5/%17G*L:B!-T$+8SL.S!9L&>-EAH;.BRZ1$M_0L9CW-N%; MSGG)1C._Q_OTO#\YEH.D+=Q]E%YB! >Z\00@%$JJ\2>6<4ZUJ\99- M&-8Q-[;X>/L-/CX&U/I?!.N32!Z8Q?N<#._CL?6LS(CAJ4%=+&2_-J1(=^,1 MI$=OI "*6I=D$+'WK01W+YW:E#03$H=26&C MX1KO%!^TV%%&N]+(<[I!"#JUD0>_Q]#!$M%8WS)M&=['>X[ QB[KH@P-8B;LF;!^?) >32E;P@[.$3B M^"74*Z,R6U\0[]L['06J>S*_#8R=)NI';?"[]EPE,3AJZ=?MG1H:8;'4W$CL M@W;-?D$Q_7Z; NAGIDW*:>')!<:"CH6)XPJ3XD'R/K^&\*'K(_[,5H::U/X+ M@F$[5@JM//<[Q2".'(HEJI/W.;.D8D0F'O:0L)"K)=< MP"0N2JYK37CN(38L]M34V%Y)U8:> MS![,,[D,#B"C5'-&UH5PK,;4^;478MU+0=)O:+B*U.!BJC.&LF5XAH>K]@@% MPB_O=/Q7%?Y3 <.)!LDQ^61]O\L3F\I3E>UZ)4].V4'"6-,5?;1F'I&)X**N M(P5X=?8WMF462-%G)%SUKS;4+XUY^4^\UXU%\R^0%U'V;UB2_)/[^T_W+HS[ M&2TIP1K3N4,PP\:(!/$CY[EFH>1$Y'FP0!PUMDD$TBWYE:J)T-0IR!= I-, MFC;C99&LC+D"Z%+AG5U2)@6PD:/[][!)!?AJL1UM8U,3A>@;$GKC35,7*&8( M_(>PIEN(=!A15'SYOY,A%S+#V"#%\:E!/#GD!FDI)@VX.&*YI)C("$,HQ8&WTE]4L-$0K?,:3S,$ M).M-TVE8 F6Q3%^;LCE(Q)T?G3RC#?NCLCAZRVSVZ8GX@B_]AT6FNV, =09WM7N-\ZEO;VE'7=F;W&X MUG?@G:[?Y'Q^XWYA81)%EOLT]L*\4Y)*KA%@M[(/ P%3K4DO2&:U]0;X0+<"(G?C7 ]_0_?^"XC_HD%UWW,&Q%-M+G7QV_8WV&_&&"!>LN 4#?!3[%!CXJ?A M0K(A>VC*HLP;_AONC$,()/?NSQ\S^<93I1#A,G@/$/W!YP#QA==QP>W>+W3X MUPFGB\Y+(;!*,O,_XVOOENE;W NKZ!JIP2!T3ZFL]/,?>(6JM"B>!+XP$3C" ME #>T"?(@12M?W'HSKG@#\_0R#-X\QJ)F&TB)SR)G2":KX$+MO0'MN;DC.GE M2Q7<'R_W2/:%UCI$R&R#>C"ZXH*0QCYI,3Y/2Q%<38#?)\H25/VX00I#'/P&ME\@B6@-RHTX%RC8,98T&"HB&\H*I>%>VZ<;Z M1"??)6%/!<*\$!$$G\R@$4_>=BJ)H4&#[I;*^"F)_.2P:("]^$#O*Z-Y"_*W M3 _"XB8^"S1&\$5%8=,SLEGBF8(F>$?I(*<0FOJ-T)G!^YYJ(:H7-A4[@!R, M6\QGR/ B;*#E2&IMP]L -G(UV_D.^\E$XEAC5PHP&QN.NW6EMEMEYPIM./SF MN93WW!%-/O?5,A4&64T#:GU$(-N (#!ONMMF(U6W:()^LD:@+\C-G[>*O#$- MN2[[CM$!._(,#U*!ZEA4$*CQPB$<78FCY&] N1RB@6?=!T#E\:;OW>UD\=;571A.!$J_-X;TN"( @ MV0E+ M3'NZ,<+>P:NK# 4#XM3$A $=3Q. &/1(T,TUQI5*,IHJO(XF.M8#W6(XFBMS)0:6#@CR9K)[/0W$( 3NR14279(M)XE&!#>Y2+>Q_QQ- MM\22'[,DYN._J.3".H^^!B*I(X-HOV>RLT=>G=TR#2R:=-":Q'1T5!TI[P/% M#>D+MTP3VTYC+ @%M-+VH*1S"]^(\9+B 5KU'?0%6@@*P8V%A MZO6H9((!M3+'6/N0)+2EZXICE@%4J$6-'W;KR@AT-NU52!T(I KUK9-:8T.W M1V-LL NDLP,-L;KQ4A>LY 'WW+CI!X)@O"*"KG42RR@&V([1ZAA0 *RL(I7 M[4I2OVY6VHLU\WS;!<6>%T>R^=2><2Q+GV-T ^/G1@S#21FX8 MY@;L#K?7!0(ZXNGE26?7AK[F%^?F.&UL[QH9RA/*A MN+-KZ$"B0AJ.N!7@GG@KM+,=WQ($E%2P8-/)/)M,KSAI=)@!IHGG"QPYL:)] M9PNJ$7Q5P0!:XI1CT(_U)2%TUY?PRIRIS$5;MC6B_A+V@3 #0192A29K9/P9 M,6:=)#WDWD@^9ZD;BK@$U8*EOFY2_X#:9O2FW]IU&9&C&L +D=P<=,32(\3' M=JMEX8*RB1#Q&MPT#?X$1*'7>XI4P[E26,6:1G7:Y\R0/J/>!E3.64ZM#Y9- MQ'5W@;9E6!L\W&W>>@.A.8M?1W@K,@8!1'(!- ?LEJO*65/J2XEL+%*M!A;(YQIZDJ"\U#S>*#D?"CRCZ&KD_<3<'S9 M*3!WL8F1#\C!4(0DD.4&!&CLQ=G!+;:/29F$\S%UX$F[!??RP-X>X786HJ$' MV6WZ)MG.I01Z5F)]J[(&R6( ''X9O%US;B 45$/C%P5=_O4.1B@=TP\:@,I M!!#%"VQ^MZ%-^BXX&*%("-]K6$Q#:P%><*R"W-KI1R$;Q.@P+ (!9[-^A. 3 MY+'G(_(W3(E4X]PP54Q^/"7=>Q[2&7!S='.UP\ $AC37XW"KS#:D8R!,L22 MY8>A4R](RETDIVU!#SD7[3%XJ7Z609 Q5&J]!.04RCAO),2J__\ MP%D,J20%G>U0!H^7%ZCW3X)G+G&[55$F+R&,-]>G\=5BDH@6J7K5,(]N)(U? MH RW_'VO2(7(IS5(%^>?ASC=#:<084&M6E]E+<'NAA6A6(8NX15GN5#1C1TV M).AU(K6T"(47IK1XR7L#7D5%M'W6129ETV%2-DS*!B$I>X*.![O6(!5*K@F@ M.FUH0;![<7))-DQPUQ3)%:?.+0L>3"7JR&%Q *1Z8"B+I#GOVVZ95C>BU?L5="RM@0R7B1NB LB4:RY@D<-UAF^I?"W]-# M$9_(%5U+1 PXSY]W"]#<)=1;IJ.3>"[YV<;3<8.^;MC!UDCK3L.>D=HGFOP M.6KOA &\:U%.!1$\,%+T(=&^H@RR>VB3*AW=F&+@@<[>1,ZA/)ET#\1? F2P MTZQ;B*0#9-UP[^.Y-O.-9W9A$S&"5GAU>J50,GCHB2!0ZY/J",QH$EGNAHYE MS&H+MT?1;C0*A-:;@3&R:Q=)_DR^EWJC=>Z;.#G!2@[US6F%S,8FW1P2XY"8X$;TNWA>R:9-.C>0[\-(-Y.=(!0L"EW+ABJ'BTBTV MB6; "=B='JZI4ME"-(@CMRD0T?@.2XN^A*"E;_YP6VQ[/40V:@.2 "['(=Z] M'Z;JAI/V@$[9.@G?.XVL8 ^D_S\/B5R\RR%I]HSA33/3-V]%7FG2V7)(CI3\ M8VIY=2M@2$<"!>IJG+,B6H@,S2XC[CT,E9]"!_&9+)*R>]^--AK])W<67#ML M&V.^;(DOS7( _)!#DYT4RXR8PA60<[(JR=,T-F!#-W?28)2R$L^H8/NX-P)G M^LQ6/,(!\0%Q=*CWH2$6&NRCDH0904MR_",JR8@9XLD%MYV\^1.*Q"^"GQ\F M3'(FFG>X\9;U5J7/^"%*A9]3TF:M?<+0EZ%R!D,X=T8)6/"*EG._DU:L^%(W M8+)0*4W3;B9X=J9KTU$BVQ%+V^E!7_=SAS=V(B%P.PC+3H=#*1#(;3 OI./& M@PDM-[SN+T(: UD[ S6P4ELXUWA$?4:0M:42-[2WIZ#HJPE:=\JM)*<( M:@>1SH5>+ AO=L:Z"!#GQ#0&;"*!C9'"/1'];<=2_>S.!11M(D>01;W_*4 M7%=NSRIR4F2$XC6$Q !UZ2!-;C=&HL\8\H?S?(;1P53M&T92AUST@N(YF@1; MNRT&G="K@G@2VR%3!C1=!%2Y3A#':BK!0DI3;^BMD26IA"$7X'R#6!RSR+N6 M,L-HW"%19R?T;=Y>W /2ZBRG#;^[0\<,=@M@O20> 0WQ$C =&21*3Z0/T4]N M-HZ&V)$ .Y']Z5+8B&>O@U;U[EU";::R#72WCI.J&/YG\*=GW9CZFL/+!*:$ MV6GQ' V*^%'BA#!H61<5-9L>N*"%%"*0J46YBZ-HVL$1%P(,@%BHJP M-;,&!TN8\B.22R$I-]!8D1E1-IICVQ2[3W![<@S:9$;&@FSJ46']C77L.J"" M8TE"V>'&W7=4_$;9^%&>'V.2]%T\=@OI *S,E /IL!7IR(6-D]G*6UM=#O-30D(N7T> MZ)NW76V_0PHZUJ4PG_'M(%\3MQ!.ZQ*\!LU>X.+&G]\@\4%Y5$V;]@H;G70XQK%)$-+<.5S%I.E$4NZZ,:F@U!/N M OK=O1O2,0^OY*9@:8&%Z9N&!A9XQ%_ENK%@ME4+J87:EEO;?N]^X9872G+" M@82ZG7H?:FP00G-M7]\N;K!X7Q(;>HGNIKDJ>7$BAR[JQB&WO#QZA"7CP;*%&5B3=AF@;>J>X M7W>-7!>-DJT)5&O"@9=C !7!)BUI (2Z=V.IPP[A8%)M102*+Q;HH?+&YQ#[ M37IBI S1&R#P-(W/BB9!]1E$I9UNBF0TU^:@3J4!WA*VI<@^+S*!F@D3J&$" M]9LF4*FDYB'$0(@+&<&^Y8IEA+R#52'0L2DIHE MI-,2N<8E[\7*''&S'Y5PI+L,80ZPG]%N7&(C0_F-CGP[?4E#':((5]U\1_2' M3K &&ZMT7HS%JGAG*Q"\R>?((!!7M36T2+#H"C4ASA1*_H"51FS ^+&M M.M&-R!"G@RP -P2\N*83M7*<,TAO6<26]IIH;(?&QK8*A60DWD5]>'K,G4-! M5;_I-^5)%3/60B3)(_GN\ &I(DMV[2ZO;Q4](TDI* KQ\C%B2+4APX_=.D4X M$MW%SOO!D<> D "R=%3M'LQ\0'5NNQ++R&_SX2/3OH.R5\0N0Z<6)QB5*&^Y MFUZ$R@T;XAW2B++!$(#+BL=GNF<#"UK %Z&8; MW%N:U*.A"P'M(4UQ$O0TE>!=&"!T!<#TEZ5"U8,.Q6>N_^5S=78/Y#9/:=X^ MWN9OW7:]VX@2/9/3&S>J.T6(,S\7\-N'PQX9K[F3,@#4FC-5QW'5' ?;$1Z\ MMBFC\]_\V!:);3@[W1A<3F4#V4^1+KT#YD>I0-OTW,H792#JT$M71JZD8G5[?7?\_FKL"G\%FPT2J1-C;:IE$#>T!#B M>8J(7KNF&1CHH$12)HY;B0RPI\ _=FIJO7L$&_'KS"-R44=#9&[9Y WII'1# M!Y<>V%^#W,"EC93\5^G=JR ^\KG9U*%X#6'HC&1O4U#3J^B8FTDUX-LQ7D9P MQO=N)5-I.2X-:;L%C2-$0SA?+23K!*?EQO!E_ MY2.DNQQ&VU*BFU:%7B;%NV],N <]]$00MZ.W:KUB#AH#=*(]Y#WR5H,F\M8;2M+TDBVY)^RV9":. MG)N?!;-F4[P".STRPMR6J749&!.FH>U< M'/7NC2Z14VOGC'S'"/&V3W2P>ZR*UY37[6BZDQ+RGMQ*NV]'3P"!SFU(J-JV MP-/WBH]I@)($_ 4(0@+%D1IRDF,E2D-T[N317I25_(UW@<9I.7#PNH]_VL F M8$[B!'ZM[^559<.]5092$L#MI'I!OMBR(M+?8M=!)OL@ 1+?#1TRAX[&A'9K M"DSK_[?WIDUN(T?^\/N-V.^ D#4;TC_8&-Y':SP1/2V-K5V/-)9D>_=YTP$" MQ28L$*!QJ-7^]$]F5A50X-W=(%A@E\,SPR9Q5%7>65GY$\=*Y"GOTC%Q@2B! M-5<%%3"%6 VDB"C2XX]Q#R[?WCT$+13QO?C6&&^-DUS2W%)B/IDEH8P&9D@"9YFP M2_GA307) 9DN4K[!/ 6M#([A(G#N@7,O9_YWYFU:+"7PEID7GF%(8_C'DW/@ ME_6&_+<\5L?]#1N*NTX@QD%#@B&_ 4V3LHL$C FF'N[ D9!C&U/J MB/(V8G#_]8?)<#1YLSJ.\D6G2XK(M7WQ\Q>JKLU/_G)H@^[$'JXT]R>G4VS5 M(*3LT.Y;^8_ CMWQ#RVI&[ !;P[ <1"3MNT-%7S8E/)E=V1W]PRET[7'I;%, MVC^(/.J#AR&S0BIEE,3A;/8TD7@\G:Q-(SL5S\Q900'PVS:3KJCH+?)0,/27 MXX)S2D_)CTFC(NQ6CUQLSIIT9 MNZ;^L]@92EJR(MOYLF,/<^%Y@HUJKY?TWUM"&;^:G<%>85CSEFE_@VUY2R^0(U&I=:4_16$P*^P)*Z MHN2:;^/30 3*!!9'4)>S!(MN95ZKF#KY#,K1YMD,^RI-B[IC6AUQM%@6/ZNA M2Y$*+J\),=EX731<];/)#I[*+WL@B9MJN8XP7;-0' MJH\/+"UZQ[_LJL96517PRRAW(!X2A+5YTD,UI:'R2EGV([2+J%E)>7I4G@)< M\3K2LN.^;JLEP KOEL][TFR2TI(.<]?T*!=6FZ]E@IZE0"^;W=RSP$]B0X(;S?_QDDW)FXI M+H!+!W9/O71;&\^U\(3&2F>9L09<0IGF3?9*FQY8;RHO$>?-%^#4X#DS]RO? M6G5X*R(P264S'.8',,"E2(.\D13CIRH1[\W;XGP(()"D"('8=Q:[/D_M\7=' MRU(/8>7Z8KP[/U@R()RW<.^ANR]0?PY_8]@^%P[RBZO96$ZF#PZ%$\(1T. QG8 MDWK3X9O4, Y$,4=Y6<;VY/C6W'CYYD?EQJT')L='Q1(2+7O]3\I$;3/6 M[^"])*D8S8:2L;^&D]WRV?A_@3 M5>T!\7)T"?# ]^SRRG+X6UP7\0"[W1C$N'' ME$ JMNQ0';#!N&';LN12K.]::I&*>T@M/T(G8=. *Y>X#HGS>Q3X;HZG)% & M]2DR_ERJ$>_LJQ'_G"T6#N^;^5GI[+,ZWWNJ&Q?!]R.+QR5,VO[B<=X"'^/W MQ(W]_"P*!U*AENMB;" SO%_HHD"=*W[E[8G6#H_E#68\ZOA.3:QX7EIVJ2*2 MRK:MO.6F$]ZW9)O5!TQ:=.B*CHDA*[O)\O-1O\/BBIS+^Y:*;29/%E4+.*9/ M.RW>O80"LC#*V[=*)E!:0_,)')8U%S&SLJF0'@.U"NSIZ.PYQ8LYJ2U!8DYW[6;X394&2GSP;J5GQFIVXN!+JA6@TP")BU5OH44?OR99JWBEZ!!8%)7*&_Z#H2 MY K?M-+.\B'&4"#H)J)I%QW_++0$K7(BVP?)D\2\ZQ(.+B;!9N0"9N)@%G?M M1+9+::<]89JU\6X^B37_5*RY-IYFCJ0J&STJ&^\+X-;+8HNOU':*(%:IC4F *">?Q>8@I^HK"1Y/K?S4N@X0 M25F:@8_+,XNRB\'KEH70K-9!3U!NDI46\%\^A.N_B[;*HO2"5)\74<.!''57 MZ80(WV$[$6P1G/O-:TVO!<2P.T?M24UIM2'T)U60%,+DN[9^(G7POZE)$0+] MO\_BWO M%0XPW2)1B<)26Y12;0<.+$@-O"51(H',57:3O+*.PB<<6V M4+EXF?(F,#\$CJ$LY +B8%H,HOJLM+R\#4E1O\6C90[-I+9U*1"(Q-L%6ABM M5M'<..?BS0O.0WX1C(NF@0F/I9GL%KPREKS&;,L3!6@U)[C$]0@3T9P)-'+> M0%9AJ=U<04PJ76S!EUDBXU95;6'3&&Z/5-3NSP74N=RIV\N*FNIH,G-J&5M+ MLB\:/ESVNWRS4_2OBM ^IAS(G48]2YRM/ MXV%S,)GT*_#H_62%P1 ).IOF>PG)NM0+Y[QP/X00M7;HR%R^U&?+(1/"8"@, ME\REJ$H=W\\A$0D L=""J@+0E"?46E'%D[&.Z\2L*-3"U4+R2DLI"C3Q5> " M\)']@W8&TKR[^3X5558HDB.PHC3 -ME4;L9Q=?+14[,H_C80?M':*<\*/E2; M"6ZL2:7!@!^@I:S5U40B8WXQ!K'=/JDB$X!"I3CY!1E58[F-HF+(SJ8NB*)] M&;70I)R^PER\(B*V0,2B^(+7Z_KA,LNSR(1OY2=BZR"A+IUQ!(,C8!)"G,J7 MG#"(.-8E'8=1W[QF7-$W$$$Z__VPH?ORJ;Q.7.G02/TN.?8$LB#)FL@FE[(> M_\R\VZI]_R=%GSO@4W0+1W>7JZ^&IICVXMHJQLN4OBM$'8F*Q_5@44<>23#Z M.GXGK#>>*8-1-S+ NX=U*=I:M$QC[=R94-33G4]Q-[)ML!UV2O;^NP# M=SLY@G%.P_PP(-\"#)F"SWR0VR)P*D0[6PY?N):=:JD'1"!$4@B'IT 4+O(E M'E3)A>9U**>W"DW;SY7;66VX/+(99.]56+@8KO)*\7$_$(E0[(_4% M64ZE,+?H<)TE2HOQ]Q GS%(1])+)O< ;94 K;#0C-"#54JPY,*+N:,V+*3F# M91^KF*@OL8NH@"%;RL*1_.Q>S*AM\&U^K,]C,YY-* #)! %%C=#L+:^BOD9 M/_BNJ!'!0)\CH4K=GQ\^XBWWU4R&XE>$WC8C3!NHZ([$G@H!CL2AI1>O$#\R@N(HD7*,-_]IKUD MOD_,.]AOW"1^/ROME M,B?L\-!?HEGP+?98%%&C3WC.EW G169;%^J*BB6?J M!6*6R$D)C$5>/@[7AWDQ,+\YI6V0E9$@NY%X^(DR&,JO$,Q'C@A+RDCNLU-2 M$27%MGZ1:@2%J\B1,?3Q")^#,"VXBO[&2MWB5T$4')K]IM?0P0[5%Y=(-C/F MY><9J.B)#F9L($.>^7W[Y2K)4[]"N@3N_+]XV3/*)QVQ7#G743I*[F:+3'B^ M= P$_/@LSN,B?&BG>R$?6.C=K16]S@6X':%HVBEHB@( MGZI4015%E"7<2)$A\05DN& Y6'32=OQP3DM^C3P3)TY E[+O$@-(7 S2@^ , M\7U>"D3;<>< MFQDNMX1'P\]?T8,V+CGI*3%L[H6@EX<6:@[1\.UB%WC67\!PZ2/I6+2MK #(HINC M/Y6*T!6<4'+J"R>(M*EP"5K<'Z 6)1*@6# '+Q#'/V8^[@WCYD=TAS+;6N4_ M!W1$*N&#%(@^LL!9.D?L,&Q@1<>Q8M0GPGG*$YC\I4KE-I]''A7ED@A3$8YH MX0L(IPT&0AJ[I4*'\\9@I.C!;\1L%]4KK-0<2KNTZLH*=S,!.E$LBNU]+#RG MQ0,RE15%=%U D4^9FI_U$4R+8-Y($LCP.=:@_8/JR<#DIHP46_'"+R7'5!:P M!VL+QE.ELFB2GD_%/;*.O<"5=UPWAIBX):5)''2,8N748TGZG&3#N4J\7IY% M]9\F7-P9NMK<;RZ,2HXJ2TKG)$22-$*JY.!=6/S"@7:28F.C#.2$$;#O^4[L M"W![CL;#*V@%0CLMNWR.\"W"*+P0&'G% _C\(UP3]003A>L^+P>YXN#N!10W M9\BOV[E=EL?D3)T/$S)#AC M_ED]:N40"GU1P_RG()K"VKXO2H;_$MU=8'SK63S8%9GY#&1 Q.Z8!$;>R!_4 M;7=&&!-;UYDXE_'?T33!&F)M O>_JY74?RDJJ:]6*ZG_I%92*\O"+]3&IA2I MF[STFY0D><.R5Z'T'0N+$I9ZW[#OO DB:2C'YVYXOIN CD!12(Y5*QS#TM_4 MGD9P<5YM@B\KWD3B2C*$A4N%:Y*PVQP#LOP+@KG37<)[H:'SDX7H'2#DICA" ME"2R3V2^$LHYG_4 F#9^7&RZZ3FQ(AH@SQ3FS&*>9D-SY\_RK$J>G$T MUR(X.5[GKAX(X.YQ2R8O: (>>L],^GX(BRD]3C<0MI*?/7:IV$>(LD0ES]'A M>4>VE@C1R(6"WWRQ 0;?^?+KC8$;!X3?0'5'.1:%!,"$2G1'(+[DH].F)!DG M-, (_V34(S 459!>)'LGU3& Q"H9A'/ MFBA^XKIY3OMPH4?MI'?%F$[IBTY37;SSW^!3[5GL?GT^\J.18UK< N>>O=XBLZ(/0P5@(\5?5WAYZ*3YG+GKNQ8MXO^C\*K7H]< MTEB^53RM([I8YLTA5_I.\LF)I_1Z=A<" V5%5EI)*FZE\GRTN6C=Y9+(OR^P M>^4E#T/N8!'V^O]*$\_\4F<*2B1+V9']_HV-,OF%AY-=199:Z= PA-"!$U^[T#2$T((1139H0PJ@F30AA5),FA#"J M21-"&-6D"2%,/*<''?IVUY@('0C1L7N&$'H0PF@F'>@ /I.A@P9T&-CCB2&$ M!H0PT9PFA #-9$R$#H2 :*YK"*$!(8QJTH001C5I0@A033U#" T(8<(Y/>C0 M-Y4T>A#"))JJ)00ACI9!D9]44E;?K+$^>*U*\=!E.*92/O)QH[V+\L U<*, MO_SCB\&+QZ['P!X>=T7&!RS(M/02E2FP,1Q6V(K"VG=86/O3C],J6&%?Z%#) MS$OSY)7CZ_^N8#+[]GD;QMC'V6-]%HMP7AKN.'N+SV(1]KE;=6CVRO3;>7%U M-7;[N+KNJ79;/0]#9MLZ;[N=T[3[6)H.[='._:Y3,_D9>^Q:*>Y]"8OGR@?Z MF3,3@6LJSPVSY'D+D/R$X_*[12=V+=E=1&-+GY]S%?UL93?@IMC[8UJ G#_Z MC^:/+GEZ#>8/WG^@(FXXNAEH1FAG=.B&:*C!,F)TZ+%U:+-MK-&A6_C#N.#Z MF8^#(ZDZ4BK-EGOL&M,4&W#"O%GCB=PV1#YS(K^LS'@?7WG7M6O-]^D:3-0? MFN*1G=->G4[NQ7#2:/XU[L5!EF?<="(;]^*@O=<&$]FX%]LV4AM,U'-V+[1+ MW*QQYD[2O'J+O4-C"?N3)4[H):^;+82-J4/5:C/FZ%6G*\)%#6>WZ] &6WG# M?X;_#/\9_CLU_YV9#URKZU<'=>K8O=1*Q!KM#SXS6NWK6M0\@6NV.=9HM[\N M<[RS-8WA/\-_1^:_G?U'FL=_9^8.UKHY9]S!!Y6NK8.+NBYCL]D;S5*C$C'J M3NF%,ZA_1 56O1@+Q!55/5R8,QK&Q8V;"R867#RF?H7S0@VUL= M]9KJ]QM.?AZ)X^I4LO899>-=G'<.L$+O0O?DM&%EP\IGDNA$]S#X)(&;#GIMVUX]!S,FI)Y>0:U;U:O8,-5(JJ#7L:,^J7# M-59WU.I,^M51KM&]10RSZLVLG7ZKUQ\:9C7,V@1F[;;&_;$I^SQ]'OHQU)NT M&]:LM$2Z'QK ;UKJQB:JQM/F@Q\C7,-AJS,<&#NNSX23.^CV'6?K-8G9[%L\MY*@W;4>*+BQ.U::MZ'XFD.?5K45&*16KUAIP9^.0>W MRLB.D1U5=L9[(@\C.T9VGH/L'"HOKX:M?GOPVM38-K1:_# BCWKU4%B+I'U3 M&+99&O[DRJYV!3_6JJ%I)?NK@U:[O2O59;RC8]7\/C?AP4V+\Q*>;K8ZAQ:GKZP\CH$5BR: MRC1@$U/+#??&]S!X!B6BW4EK4.6>[SDX6X;3SY+3>ZW.SGC#<+KA]+/@]&&K MW^^9 JS3[R<\2DU5>EY#BPT$S?A-/R5S!KUEGL&1@7&GU1F9&^[ M,IU&=HSL&-G98GA:@]'(%!,U\9S"H\A=#ZVUV'!H"NLV2^N?7 &:$PM/U@*] M;FO0V979-1Z3*;HV)Q:VI!N'K4G7'(8VPO/<3RP\JK%0:S"IX[3/>88;S=N: MJ:/ABFY[-IIMS?PICI+$6L;1S$\;L+>IWX[VIE17#_2P%V73@)W$^%37ROK4 MTZHZOS%N];KUG%K.##=Y9]>[7UJOCB&*[&6Q&\\N_?& MK=' G ,V['Y0VKWQ[#YI3=J5ELDWV'-N7A;]7#SG!A]P^,DO:UK\?.FG,#@W MS['S&W[ZT6_TUE:S=H5KQI"LJ\BT60IJ>!;5U^N:JRXL=,/'>O#QX"RZ^!H^ M/B<^SB=Y_*EJY-4WID:?O*4'=/S4R7TZ>BS0(%?2>-6U]2$Z61%_LYR1X5D< M!SZI,W)VYJR);82,4VWX6+=8K&%8VK'P.=#6L_!RF_/R\C7K2]5I-N;GQ@N%K;5+J M^LWXZ!EW_:;\//V0YR;*1T_!ZS=EP]C/8QAN(N$"+">Q'&O)8I>%J7/+$$D@74'??495]>MK=O**H)KK.G?S MC]SB/"Y+G+KR\U'GO.IHKG;>Q1:F@ED#/AX:/C9\K!D?FZ(AK2OQ=:)>4R.. MYG%R@Y;"U-5KX5J,C6MAZI'/H*Y^N*O-J>'CY\K'IJZ^L=0[=6\:XR(WL4K^ M@;G3]V'*;F,G99[U?SX+/.N3LU@^/0^OF?2>)-VN?8[F*5GUAB5K'A49-*AD MXN%^D_;<6=G0F\A[/<-\AOEJIFK[)B9Q>TW"JC+,U^C,JV9V]WQ[?!NW;R5=^F/J3 -V_&$>.+!J MAK&>0J-O[AAR U T\%3;@/]TNKEQ*"J@/XG,:X4C4UCSGUF2^K-[_I4?PI*D MEYVRY&T?FDP*^Z$;,R=AGO6RT[7'%HPJ\*/0FD6QE[PK'??69CXD95$ ML_0.QFL!:>$;H( 'U\/8YT!@&*''%G@Y/<"%98X6+$[H"8[ULF\/#GCMWZWD M/H$)\]O>_OH^_UN\RBG?/8\R>,5=%'^%M7)#L;H]A5"2L4(_? 1?'7#7T]@*1@OFODZV:EDPP]1W AA(-)LE+)4#L;OY M.& ),C?E(WHPHY7O?CRC_>CYWW[^"?XE&7QDU_?L__T,=_?I^IX!_4:8UYQJ_2V;YEEU, M@1N^7C@S>/.E$]PY]XF8YKAC#W+$G,L<0@87PAK;[@-9C;3$7 MSO<+9#(Y%J15GTE.C)L< \S/[XX@]?/EYO\D8J,-MA%"^#VZ'7<#5P59([%,[/!S!^F6R;R*&!4[)Y:U@X*-J8D=T; MV!Z3)J7LG:"J>IPY 1, 3[H'8N+&N!]YH(USK2E?ATKS3XX?)G-4[7%T[P3I MO5#BX.K#+XJ/(.[&A\,PD*F*6\4K:+Q!= (BS M-O66!;&,.^>_^C!EMF1$79P!\ BL#5B0"":6SIW4PCNC+$U\#_\;\Y=$00MM M:Y"A/K,<(-RM!=)$YE!. P<92<,%"_G^.D'+2,\H?+(4WX9Q@<_H+QJ;=<>L M6Q8R7*Z" "TK@?O@+WCT/2VAOX!7?..KO/;L%A$*OW)XX('+1$8'A@X?0Q"* MPE[B)W@T3B=_H3[^&3)0X07AO':R4T+\5/ 0L#CRQRQ+LYCDC1,?25NBOF.% M&8DO+!7/F&4Q,GI^B>!NSGIQ MC"LIGV5-8?2V]:N@ XT.2"'($+,$W#9.*B=((BMRX0&6/[-0!L4C$V 8?^;# M#%-EB/ 6=AN!TYFB#F07Q7P%/V=.@,IRX:W,G8?@*-_>VUS\/TLIY*]4QKT QHHAI&E9 M;+$,HGO&R/3"._EC\3WD(,%CI\"+,Q]Y##1Q/&>.QY\'TAP[WUC !Q4$D4N7 M%]K^0CZ!+K>MSRO1U_JP^!=.DD2N3W>N+$8Z]V/O L.Q^R*6R]#A )V0$8_S M]<>+EC15;C:G>-=^'S M2X@R:DTCM3":YPN[ZM7P;U_YKRV'?X3!]>3@A .CS =\HP0E)2BSUDH4CRSJ M0MB8\HI*KH:IFA)&7.0%4&QX+$ <+&X6W"Y9?'/HKWJ>P%3NUXLIN;TE&6+? M\3-KR3GZKX51MEZVMV2HW"#*O N/!1"7Q/=R##G#2=>6_%.9P9"OH6_A+:77 M]/CGM7>MZA!R[0I- NX3& T?HRX01H;""ZP%]X%/S#:N"9&0WIA/3%TDU04, M\?DSC/7H[8766B&J8M$8V$#4".JRROF*]W;7WRL=Y]S?\-B,Q3%83E(UW)#R M!>(:JF%R/-@@Q\?+VATBQ8+SA"CW[4[MHMS:(L?(+*#[X0LYB&J$.^= 5:E6 M*M(0IWATJ3*3LIAW[,X6,8?W'RSIR8-%?5B;J!=BWG^ZF*\OH>#7C4H$W>;" MS>&K)\:EC_?,(7!_H]^U46(J+J^RVW#$U-!F[20UPOHFPT;Y#W=KWBIIOF_/ M=R%J'3^NPXXW=KMW=6?>F,+_R?,SBS(+H3BZ)_)OJ M(B^YLKR#1=BKI<1*TXOEIXU4YP$U4H61>6KUIZ&"!E3HV#U# M"!T(,00'Q1!" T)T[>'.TRR&$/6IIIT'$PTAZE--(T,(#0@!JLD00@="&+VD M Q4&1B_I08B./=AYVL<0HC9+W3:J20="=(REUH,0)KFA Q6,4M*!"D-[: BA M R%,'*<)(8PXZ$ %HY#%8Z5N;(]K MZ&JV;PVF6[D #T'A 8'?^+F =W0NX*Y_#5,NT*^NN^>P-\<@^;M?N)]OA#W@\SYCA@M;=Q])Z M7W*X?G8_C?.]+PFBO=B?B[TZ%?DU-& F;#;6^N"P69P1E$<-E]^QGY#O6?(P M\JG7:)\_FB7Z=J_7;):XIA9Q%3& %MJ]?N/^[#4C MQ3%-E@*C&"M6C#U[,FXV2QC%V"C_>!LGKJF3[Y'15 M,6^VXM\\/8,QMMNC9HLT-I.J3J,?%RMPG<7K(W/#-3=V+&RNX:Z)S$-[U' R MOZS,-M>Q@Z9;-HZ-;:JC4N]1;Z5VZ0JN'3NJ$ M7EC5>QY539UW8BQ+<@\DV8LR[+1:ERB7EN?E,2?,.QZ>?,([<+&M7JG/=HE9 MU&DAVA1-[,7/5J?=&@Y&-?#+"3)I>DG+FMT[=VE9RR(W7UK&K5YW7(^P-&DC ML6IAT8!QZI.4P5E*2A=\ER/DLZ )>K0G/6$525^^,%$ M&,8,5"#SZYFQYLM\K]L:#+O&8S*B8D1EGWGLMX8C(RI&5*H-+H8:S+=B21FU MQI-V/4F;NK=H3&SQ6#_C[&.+)E3G^J5GTF<)//?BYRN$]UVR&#>BG%L"]DLC M^#''W?SI1[\AE;I[ME5+$Z_KN&WMT]Y);*G(*J'H/K I/572L,*31_5OGORP MM0KDT1Q:P\GHXQ3;[4,4>@[\5[OEJYK_FLI\M3<\6F6^E>JP9I9B5Z@+:N[P M4 "[=X(XE4C7WS*G"O/9W92",>37,=U3?;M=6JF&^QC#?GI;M MC?0E-,J9&M>N2:X=)3A_3)UIP+096.4D_V>6I/[LGG_EA_#B]+(S+@V5C$&G MFUN$;87M%ON^9&$"(W&C,/&3U%K&/CP&AHBYU26+DR@,67!!;=$9'M])TL1* M(RO)ELLHQNLC+W/3TD,=-_6_^:G/DI;EAVZ0(;O K0M\EX.]TVD<4Q:RF9_" M15&6)K['2@^!9?CFN_B(-';@ZY8U=N'<1DA1/_):"IF]C.&EK_S7_%+'>MFQ1_PS+$V MZR<'@UTQMO&$>,X<]!&,9\X3?]EKB3OUBP!G\T)ZYX\%8:BY43W7A>^?E\^']>MNW^]DDEV10$ !C-36&U MGXR= M5UFY_V!6EB+Q[;5%3^AM?(*B\/%R/P166O#E29D[#Z,@NKV_6)&1+W/@3>N. MQ(#^$M:-Z*](+?+Z9M&^@RE:LP",?8;WP:42 ,7R M1-.D61PMA(PB:XE/0K3(AOD+= 70M=C@-\!W_V1N6NE2K6\LKAW(+'EXGQD0 M,KQM67\"&8Z=@)/ZRH-Q@WL4$S9,?93<[8#R7_(SL$#A0W>*R4/.:QMX(8>+ M1%PF[%)^4,*X[JUP,(>I33<9& MZ$ (4$T&2E0'0ABH:4T(82((':@PL,?&=]6!$!U[8%PF'0AAS+0.5#! TYH0 MPH0/.E#!.$LZ4&%?A:$AA GBGA<2#"%,>JF1A'AX2YO=%63GB9EQ>JBGTP.RU]O^Y<&@(%_H M>,=OO#[^'=7'-Q<*Z.18ZWW-./XT8J\E0(Q18H^E)F&GGWH)=NFP#WC$QZBP MRD#.3DUK'338[@!2,\(?)SA[/L36T%R9 ,/8YH,#C":C$N:G<;D$]-HM*0K/ MVH0_-0II,DMBLZ%_BAE;:Z-K M(O/0'C?<'+^LS!+O/@=UGHF;-6RG9A'_AW-RPYJT4W8*737: -K7+':MUO,X M4Y-T%F0VGL=A6YQ-)G-UGL=I-SE/Y'EL0!%L%OW/VOG8D-IY* CBR7(^>1/' M6][$D7HX.NL]' W@>M53YQWI3@X-6EJ>(P-)C];V?9N/A3II#=N3>G"D&UC> M4Z&PK&T0G[NPG"&6]+C5[]:!)=VPC<*JA44#QJE/4GAWK)-/N&))Z;0ZXSK, MR@E2N36@KI\A/_3/'G+=1!?&!CS:6UI/D#5?YKO@+HV[QETRHF)$99^H]%OM M@1$5(RK51A9GZ$CV6_U>'2'X"79J:@@L-FS$-)\E.KOPC<\CMFA"]:U?>B9] MED!<+WZ^0G"])8MQ/\JY902P%\&/5LR^L3!CR4\_^DVLQ-W0YT2=>%TG9W?V M5Z^=V%*154+1?8 [6JJD7J]2R/6Z+5'ED.M[(&+TQOG>C:JB)_\-*^6_VBU? MU?S75.;;!YW12)!YC3+V5>(V-)(63ATVE#=;K'O2Q8F,"HW"A/XVEK&/CP2AHM)5C=: MX,\.MG^FNZ?PJ)F?)M8LBJW$"5C2LN#RKRR%-]$5VROI,8&;1&'(8"0!NY77 MN&Z4A70[+,(WWRT_$D:PR$+@7!P"_ +/^L;XG3/'14+X-'@8N1,$47X=7I"D MD?OU8NHDS"O/Q)W#HK'$;BBI_-"-&7U M83K7L-1I['\'YOA7YO/NXRUQ)W^QX$/Q:%PL\=RM-!>KU[)>^1D%T>[\R57A(D*&ZA'GA#.$^CX$?YOHK8\%?8#S^ M:XO&TK$V#<,-HLR[D,)AE5YE6U_F#"Z[8S'(EP,Z'J0 17>6L-2:WENO2I,= MY2_P6/$"*;)<*"6;Y:.3#^#_*0U3?4J234&' +.Z*7"E?(JM=&-7VLN[ 7 = M6J&YD(I\/Q$%XAC]Y;>>:NKV"S]:B"/F/\L]Y/_S/TK-\==V!<76IS(MT92_ M2[;SEEWPWOO.#-Y\Z01WSGTB^V> -.4[[9?Y]BDNA#6VVY,?+/K8 58=T'JL M+>;"^7ZA+)DPU1["E!CF.!IIO]\<4?OGR\WK1]]MA7*OM0(^4E@(UQ;& M\P6=#M1:UW U<%62^P#.SPS.*8T5&2K%F/2W#X9;DAE#*U*03+X75AI_(@;A5^;&3?",>$L\]8F_ MX.G+.'(9HV$BI@F0Q?.394;3 ):.8)4M:7YPJ-]V6"UUI(K["3/G%\MQ\O&3 M%?PF+'2O<@N]R;OJ/<5,XS"[&Q\ 2H>M6F8=%,P_&,P!HE-_"2+9=1G*HCM-@,6#85?>&8-3(8XL^("OM*T0PA:D,!W%VU9 A1&UQOVQ@('0BQKP;1$*(^U;2SH-<0 MPKA,SX@*!JQ7!RH,[+8!Z]6!$&"FC43H0(B!W>\;0FA "(,CK@DAC+^D Q4Z M=M>$#SH08FCWC('0@1!&+^E !=!+1AQT(,30[$'H00BCEW2@@HFF=:#"@##6 M#"%.3@BS#:0)(09VW\1Q.A#"Y)>J)<1#>W7M*R$[3TR@9P^6/MZ3QSH]Z-$7 M.I/V&Z_[?T=U_\W!2SXB\8_@AY_IG/?MJI[IM/?M89[IM/?M&)[IM+7$='NF MJKD"NSRR.S7TL7B*7?Z Q_&,639F^5C)J#.==CU=2+6;]KY$RYE.6TNS;'(# MYV^'*LL--!DP.6\0P"6@UVY)43">2L$A_4=S2'<#:F"S..1Z[H2W[)QPM<^R MM:W>BI(':TT6 Z,HCZXHUU"0FL4A1E$VRGW>1?+SXSPH\83OFW$_<'-F1M.]9>5 M&6_=]A5/DQ_B&XU-YH@?SLF=.Z.]QYI4VF@=F;59_%NE _-\B#YH>*[">"^/ M\EX:3O4*O9?34UT/[Z7AFSMG[;ULR#$]%$/Z9,FGU=:QO%^P(UO'^D7K6*=H M'7LDP.P&PNY5B!V_MCEW ICUTO*\/"ZN_&C-H6T^KGROTZ^!6>I)X&DL*ET- M.*=645FS_LT7EC:H/*F9U#+&>\6T^ M0XSKX8?Z45Z-$3@2*=?+0L_:#O 68R>?<,5B/^EWC;-T9#G1@6UJE1,=$@X5 MR\D ]YB,G)B@HK*@8FTGIOE"TJ]%2.K9NZD_J-#!G:HZJ*B''TX95!B\>,$> M[3(,XT.W?R1D?((7.RLW%UD46CS4-;)\W%0RFI":$,)B2 MFA#"8$IJ0@C33%@30AA,24T(8<1!!RJ8GO\Z4,%@2FI""(,IJ0DA#*:D)H0P M/?\U(83QEW2@@L&4U(000[MG"*$#(8Q>TH$*!E-2$T(8K%M-"&'TD@Y4,-&T M#E0P^25-"&&V@30AA,&4U(00)K]4+2$>T?BV!H07W3KK:-9>Z"2X$3LK=$[? M.LA@2AZST[EF\'NGT0):=I5Z[FQM\/B>+^V?V#M1IR4XE4;3K7/B,P6N,P;M M*5 <)B(Y-?^>*B)I/#PR2W6,)WW!,,X,%\]A\9I.I?KY(=@:X[B &.&OH%Z/!]DW4 -<] M2Z(;X+KG1W7CK)CM5X-3IZ^S4B5.7=VII5(C2MY5D_%&E-8K7_:@#$4/2M/W MN^JI&WPZ[3H]KS+(MN[.KSJ3_FN#2F=0Z2H7D#-LA=X;&@")X\J)!CQ3GY#H MCTIWL!49# 9U6!:0=Q@4.:$ M!6V74>;>A];,3X"* F;-/W SIZ6 K*G <_G]_.(6/6<6Q0S&9[E9'+/0O;?2 MV D3QR4H-O;=I4IRZ];QPX1++MX41$G"$MLJC;!]A!$^871\>O2357QKS>)H ML?Y8^.+.B7$W/X0WN"G,32,V.&Q1+8]Q!$!/HOE9',BO$OP^<<:DH)N72;3 MR'*L.6@X>"8.8^9\BV)"A)L%F9MF'-7/#_-5S^D6.RG2"=Z=^DX SXQFLP2> M,+V')\K9X)U\UGRR5>+ZG8PPU>$J/I$NR2["X+S*A$ A4L$7]PO2(>1=$7N< M CX\B.Z(ZN)'&M2&,968PU+:.BE]JMP 5@W-X%S0,_<+D)3':%2UMIX%))[+\XWR5, MJO7J%Q:RF9^^-NBH$AU5C(#$S,G22'[!98R^J1M M6L/3#_.XK&F6_/SIH)I M3ZL)(0Q*H2:$Z-JF@[D.=## ;)H0 C23Z=>L R&,H=:!"AUC'[2@P]#N[CR: M8@A1FT#L[BUM"%$?$)6A@P9T, 7FA#".$PZ4,$ %6I"" -4J DANG;;Q! Z M$,*H)DT(8;"=-2&$<9ETH(*Q#CI086!/=O8Y,(0P&:;G10B38=*##B;#5"TA M'MIQ?5\1F0$LTJ_1736 11J CAD(U8<3_RA;O6X]+ M=Z:SUK)KYS/5S08'^/G2_@CIL3.=\[YDU)E.VUCE9S1K+:VRR0V80@]%IQ," &1M%>71%V5F#H&@6AQA%V2CWV8 9&TS; M?7Q0*9CQZ1-8]=&]X<;>P ,^?*(CN]=PJE<'#_A\TY=-IO]9HP,:!;9?@9T! MJFUU[LKNTTIG1OA)XPEO_)4'FZM)PZEN_!7CKYRMOU(9FO$)UH)E7#<(I5Z2\KS0EG@KPY-/N!*TI5[; M /8=63J>FW!TUY(>>@G'8\Q(I]7OU6%(ZHF<#LSK50CAJ#=''*PN#9JQ4?\& MK_6 ]F GGW#E^G_0G]022-21)3?"HH^P:!YS'VP:^ZU.>V)BB>/*AP:\4I]P M##;LI^@E'(]*2+6&@[&)))Y])-$;GW\D8?"-A9YHK^*GKFWG^.$*4JJ ,GT" MCFWBP#M605.M$EZJN-Z:94%@?7," 5GK!$%TYX0NLY8!L)1G.80FG%I_"WW$ M/_V<$B+IC($<.@$ADR;XE<#ZQ\ M!K..4\>G:RW9ERHY'?;N@]CE4>BZ3^61W%U@PO;>NW-1ZA1JEVWYS??7IW6?\AO[NO'EM+7%>.$KK-R=V MYU9WU!(# >4,?]/K/4$P)Y2(O[@B8D(/6)+V2?FQ(GA0,_IT%SSLJM'XB_^O MS/>0$9$]KYTE(LP"RR:@5%V6:&/@PUPS)/(K3"] U"Y!8L!OI M G_CC[IC,^E*XF3\;'CNP>_SS0=/A?VZC![UL\YVM':.9L\!# M(',DIC2K239-@#7!9 "?\248V>-B > Y+_MVNR 0F-PE<[$G9'!O6_] G0Z: M]QN:>">E1[/O/G >,0H,()9\S<%!"%DMH> Z\'DU! M1,0+2:D#9X)-3KD2!X&QTCL6?!.FF2OTT^GM53'],D]&9@&V$(8$MK7+V M_$]\T %0VZN3OX9'I['_'2PX3(G[>-I0YF.X(I:Y5'*G!4@3WI/N"!B* '[K M%/,@E'0Y/W0=XV44DZS<^>!\.T*9+IU[% 1KX7CH3M(;\-:7W;$]+"05W3?X MENL#E^3'0X=]PXBX9H# U7K9LP>Y] MG"]PQ\+D3],-\0L_.[<0P.#XA6I^6\0V!_G!,B8LUCP/DQQXAY-D7+L) M1UY9,.F% O4R5_#,RHJ3L>P56EJ,\K,^A"E@D'Z\F"\7Q+.DNR_^/F7 M#"B+O@(LS=0/'2[2ODA*P6! 2?'/X-A[&$0A+4,JSN66!&X*71]$@V)9SF9$ M/YC@7WET 1'1)P;BE**?_VL4+X2 MB_^RC\AN\TPR 6R>7[B9@E&'-KH/1B\ M%$/4$IR)4-0ZHS>T=M.%_9V'."NMZ)Q_^+Y$3>^0.@9)RTRA& M)HV6*4E'",--<&(HX(4JBFYC9T'*R!)ZB/3@[_P'50DIMV5+DI7NH!"6(J0L MC\GE2\K?#%'&'!D'+P27(P3=&W\5Z@H8#13C-V \X+&0W4:I3UR9@NY)T"LA M701!8Y!Y7&?$478[MSYE 9-,.!U<=#!C@U=B5V[5$8GX11CJ)[:E*)Y2."1R MC3WZ'RS^(5I)!$7PQZ#3ZG:ZH(/!IQ5^8+%J'OI'\"8'!N;<2C. !J7JW7^P:"";OC5<[BO_G?Y1:I:^E@T6J6YF6:-'>I23O+;O@G=B=&;SY MT@GNG/M$GJ;NV(.A3*-?YNER7 @+2#'YP:*/G39M3K[8L)@+Y_N%LF0BIWP1 ML!F(,[]-?D<)\DMZ[-Z&\((P:;2\!"LP1+4 ?XIY04@U&AR)5"O:IZ=LZ3C6 M/&:S/[[XPY>/UYM:I%6@QD.P(TY04N/B*X6%<&W1:\=<.M?=P%)@H?*4A//S M 8Q?)MLF%D:22_X'J"OBFI$V7/2ERSKJ_36 Y,@:EX<6BOF,'(P+>5_&J#&O:L MJ="QQP8170M" "4,4)(.E.C:$R,2.A "),(@5FE!"*"$,=4@5SWF>1 M])ZVT?_-D.6:&MQU>O9H[0A:LQ1]I0TM=R>%SHSRPX:;>-/1\N$3'6\XGMPL MJK^T-H%H-,&N[423>-],%(D#3XM6O&&ER<'#(V\&U7&T=:NJT=F"'HWIZCY8 M>QJFJ]?8U6XLV>WVH/E@[FMJM[!I_ D/K!4K5++SZ%.[ZU7&=;E^N'K MRW-JV'+\-A3-]#@JFWT37)'J&G)IY*-4R+\-=%ZJY%_MO1JC?,_(#ZIJZHUR MD'3S@SYN..3=P'CB!%%@_=[.QKYRC7-3'M,>KM<:=T<5[DW5[[ZJ M8M#3^B&/ZH3;;HU'NUJA&_UY8H>E"M[4P=,XK)'BJ-7N;^@[V^2,S7OJ*K3? M4VEJC*"11WT"WZ:&"*F1GD^_V^JUN[7T6&^B3]3@W$\]''_RE,YA]FHP:/7Z MM?3^?PX_.0.V6-4^F34&@[:32PK_94W@S+)H@8DBZK;83^YWW2X%6GU M)X-=1N19^$1-=GT:Y^$\Q@ ,!ZWN3I_>Z$]M/9>F.2B'9XS:K>%D=%XIHW>S M&3;IC686^\ZA#2QL0YK#'$3A]I;.)@8Y8FKIU,7SITD]G7K6E2#T3+JU1.F- M]+RJS4:=FEU.DZTZ]:RK!C;KF)Q6K>!_9R\G(]V.GSW:EG3[O8/\3=W<2JP= MEU!3V*+Z03[D^8MV!1ZAE@B>53A]>N$R/FI#LMWJ]ZM,7C32TZO H3L7'E_S MV9K/X]UV:S3>Y;@9)=Y(#.8*/*WF,W=GTAH.UYG[?%%I^9_XH$>TW4=?+V^] MGR"<1GY.L"B=O\IW0RUM$&*N-Q]NW 3JIJ+)'HJ5&B8^XAQA;A7!L((H0>@G M@7Y$3?\E!E08A1?D&'/L)XG[*;%42X_R$&;*]066*H+:+2(0V7_3%RV.A'(Q M=3A*T0)!7_FE @"6!U]XWP9L58Y,A8/EZ5]^,8)4%4O"P17Q.@5-T;80\>#E M2,&U\=B*]R^P#A3 O?(*2Q2$1T'1%B U)3Q:Q'CT8O\;"Y7E!!([ AAQ:'?* ML(CJJ(MU6!OUQD7@J^?@,@S+3U4CH8(5.)EQB 1UY00PMF@V@T>7ASC:\3#) M."L(9QM>PA^R!M#KE!^H,A-RFT1N@]]26 D?E;J8/2'PV(,56$E: 74553;C M@&DO!W8_QPK31AD@ R^! O<[PC)Q& (;,ZCA7G1+7'5=G7@T![Y-J^ M^/GWF!$HGL3O+E!$5^!NI M2OUJN9(%^E]P3"T$/R9J;9/C8\#'R\4?B6;)79;XM .DYWW9W M\.V*L1(XNS Z\&8(NL]*G(!Q\#R? !3A8R+T\[(L227F3J)9>@?N!"AQE__( MD4"CS+M C&(W]I?1##" MMZ'/8T_XP3"C8<;=S/B+X"(?4Q(NXBX#:PDV^K?*HZL.;:\"'K6W\^?18M"5 MD)-2DL-U<@A6S;$+SR+_]^IOHD^851Q-O2J?B] A]J?1JRE ?\-!VA6E.1FM M)F:J3V#9^N1*?WW8Y&!!9<)ISZH6PJSXXW"7RY@GTH4+)\UB?C6(>#*/8M"/ M+%Z(!^:>T68-%#-^=@*+@0 M7*6.,P4+;;T0O%1,Y5R2EN(Y4"*"[#0?*J27 1DO?MK^\M MTAQBD@ MTP\E79,4,F>SXK2:AEKYPRHSS3:I(_5TK6& <5/#%"\ M 8K?Y:(W"RB^3F]FS:IM5$2;]VO%+EY_=:-,ZB:P0L(LY1?3%BZ90<*)CQ8+ MM'YIY'XEPP7A>F]U1Y /+\\2T<-INTTQL#@+>K0%_E :,.F^H(%$6WGGQ%[2 MVK@7"1Y.$7UA.JKDGN$HV6(91/>,B7'F?V'<6NS[-4EP344;U7!P> MU<]] 'M8+X<#Q7 MV D3ATBCCS_U"=. N(X?HE3X-[V6]9-?&EK)YWSQ\^<43P/>^BY-+&1Q,O>7 M6QF*F&'72O@_"S0\& 5P%O\,;.SAIHM'DH$E^G2_D")PLI,4ON!\X2-^B9]8 M?\W@Z2P&MOK$EA 7X#E%D-P%?V*G??'7%O&08WE^XF9\+PC^+[EI28-+E<%9 M4Y;>,1:2%%VC,QCR "*?W8DXZ^-L=O&+$Y 2^#QG( /Y\I^.MV!<_V"6!S(9 MI=;<^88;TR3B%U,QU(2&ZL0Q%DWP';-2W :43):,Z L*!3P%!FHV%5%^;($C M"H0+(G+LHSB.[D"?TB\>FU9*B@=/?%/:3AXRZ=:=N=LS^MTUAH\?O&/YWA]? MW R.-;OI]UKMQ>O!IV.E/!\YL-IV,^R^XZ\CO> ^"W /A14J3 M1P@2!G\&XJ^WG.99+&ZJ7=AP?$(UVI8Z3E(%RDBM?*BX64SIBM^<^"NP_"<_ M^:J-S@4AO!'0@/=+[FHN^.!C&'QR:4%([?G\+[X3CON8 M+.9:$[\E[0HK&HHR%/=^Y?QX?JN/-Z)MR+_FQ8*\V@F=)*&A<1SH;.!0855Q MK,J@5#] GDVG_)+R=)X,VCVPQ+8*Q25*$= YN0M)@PE70E%4X..ATHFL.UI& M+#) XR6N][F]P'N2GP(RQ,D@4I%CUD@6=]0ZHNX($Q][H< MN%5<0JDK*\S(A87/,[!\45RIP_0T9MWMBKR7I/Z$C/1)\MT5GP1RC-X)N/0H" MR]M).,##:#^4LLE\5H*0Z)+!&-!_ VW@1\#2UOQ^B>5MM!]:*O99O9D+/+RH MTQ;9^JD#BP!/\RF P. EI9I.KD/HJ#>_"A+2A7DHLBFM*$\8QY<@.\#&\0 MS"'9ZK2>[4X%_*LPK-?2L")MWTGCNJJ K\79!I'&$B502;[90H(<.F(?!2(' M+&8BVP>#BQ:P8BE/MN$"!A&J VG1U;T9_/5=%DE0("Q9G+58SJ\.QQJF9!AC:?P;:C&X4_A%KO M@/$C"3%VRWA2%Y43_$+D$*$N5-8\C/Y1LQA0_+1 MS=DLIN13 8VF+/ 9C!8N5>3TGJNHM. 7Y=)"IKD/2CDX9818S@K,-,-<.L:\ M\&A<1D6UBVGE)G"3/2G-@J\9/W 16: 70XI[R8W#+2H@)E=8O @,4AL=0: ML6M4D<<*GQNV>=AOF\U#LWFHP^:AR#N-^]UNI]MKW[0'T_9-?S";WDQZ;OMF M-AM.6<_KSB;#WEK>J8^#BJ, P:]_QTT.#^W^S:@[&;:'IT\X]6U+#I!T;3'$ MT^2=WPG?ECM.1;JKAE$^+1+Y"#X>O,7A:>=6L3=&>U&NOW04;S _%AGB#P%N M9;D9]VK()8U%L9#\O? QJ/"(!Q^\^)0N%_L;(C!@GA(5XS%4$12@&XIFH=M^ MXQ4+ZZH+N\P7EB[LO$$?P&,SBHO QN:.]Q4XK)^R@(DD0Z?G7'0&K]CK(I71 M&7BEK[8:X"U[BC-?G@\[<._%MGZABASI?;&"E;:_G**$RNB $\$8@2C@\&3' M_J7F9S%SGG=]=R ;-%QC.L/.&[6&0AN+ BZQ.59(KFWYD,X),[OIGV>[U>?SQJ=P=.R1'[_>K3E_?O/W[Y\[M/[S_\^O'3 M;U=?WG_\<-,=]T>=T:F<,!P45Y#OWTN84F#)[AN+!FHI(U4FCZY;YR^@X(+? M>64J$-&N<((4QNWPK[/,9]H M+2.,8U#YX-5HH.'U4PIS1-Z(_^""4$U+V@_KWA+-%GZ^%C:/WFW//%&,K*O+N\>PW05/@UP"E3/^5; M)\K2%)[NGR/XZW_P7^]+Z>DKY;YKGNQU;G$S%Q;FM_?7--,OS)V'41#=HE^< M0%3KBB,P_^4LEF^LM^P;"R)^$N'59S3B<\=_#28P!C+S)[\2(0$^4CC]K^41 M-_D=V2;: M)2N+T\]".B&/SVOQ-BZ!(\;&V107BR:LOKGP995,IM@7I[WPEG IZ21^DD0N MIP>M^A2?*5E^,WG$F+^L7.!C"OSB-LK= 6&2)OW.L-_MCF_:[<'TIN_TAC>3 M<=>YZ7CCSGC2[O;@WVNY@M_ M9%5UL:LHW-FWS"7E)4I[.E))8%3F;2R>+>UM71?])"+4-;EH=SI"%\+([JGZ M-7/G^?!Y188HOD C4-HXC^)B&1P/1# IML_Y;(NRC6+#%V\K'&(LG?3Y1K!U M59Q**BTB6HHEEJ?01O/7$$M70'PS>I0,3XM*&(^QA;J)O0 QIP0_;E'[?.]. M&M3MV])H:?'./"26A,9F&^H:17%QC7*N2OX\6_44)"=PS2)2$XE"PG?7^ABF MQS3T$UJL[W;&73:8';3[P^'-],!_&OD@!IKS]K#Z6BPIL6Z?PLAX,9* M$ BT/V,KE&CVCBJ:;@:=X: W/KU.Z]J6.DB+1HG,P\>Y*H)_XQZ<<&+U\6#+ M,3FO>2^.C#WK7UQ1XF1J=IYV[V$ISUJN=E#0+IH]=C5K=SCILE[[ MQNVS]DV_-QO<3+NL?^/TIYUVV^OUATYGO9KU+9LYJ '_MHS"SRSTH[C@X9M. MKP^R>WJQZT%H(<9IX4 M/E)%W$[I7'R(PDJ3@697]Z!=W8[9U36[NAKMZH*' MTI^,^YV;\:CMW?2G;?=FZD'XUO6&WM@=@G/LLO5=W=_ %?WLS%AZKY3DP[,F MPU[[](JW;ULX0(N/4#TU8!1N579[[ PZ;. X-]Z036[ZWJ@/OK+#;L;PPVPZ MZ#F3\;K='E!'PO?%CMY-?]+N3C2PU0/;XMT2E<$99M%DO^7I( (-RQ7@)3YA[?O_K83X P_H_^MWP4Z'8=F??EHO?O? M/[__Y?V7SS_]."U9KO:DTYFP;O]FU)X,;OI#\'VV($3;W0%_ MBB*:RN-Q-FX\T+$>IPL- M8CP\TTOE"_( !9VJV%&SO\QB;%]&]7P[#RST7SFK!Q;PJQ95FGO1DNK@E(=] MYF<4Q.96NYO7LSOQU E9\#NZ56TX]KNVE11U7^S%I8V0XT_T.*>D=QL MGKG^%$,5UWU>I'J"BNLV0\7M/79D-)[1>,]6XW6-4W>@QNOJZM2I*JGQ=:/4*^_T!2#KT@2_)73KS+"$L>>^^B."N\P[FUVH'\U+7[J0%U^^YX7,Q02JD6"QC-H?K,*7V M%X)SAT<\Z!F?\63"/ H\%B=BC<1)"WS6MP<-IT 4PHCUE;P9N\DG>5?W+8\J M6BH4#VU9J7-[BP.JD#@APPZU6A$T%V%9TH#OK* M]JW4IHC\3*E^.Z^WR*^$X51J#1X]*W#R\WF5T&"5(C*[,V&+#>4.Y1J&0PH= ME3*+]<=1B8L]9/GN_L N8&7#*&3Y\EM8$F2UK?9J[<1A!4EYS>2+?2+U&'39 M2EEM!T OW^DL<<=6+-O:AO0KV1X\\(>G3.TMC/N#)%V(MG& OV9Q MZ"=S[%6$:@K/1=/Y[VT4K= HFM)V'4O;>Z:TW92VG[RTO3C_Y@X[H_; 93>] MT;1_TQ]/1S?3]K!]TVD[SJPW<]W9I-RYY//[/WVX^O*W3^\^W_2[P_'PR.7? M6X6KO7Z_-)/$59L[@0SB8]!O7+$!=07)<,VW_0\ M\/_F$?5X/-)A*T&SYU=$3Z.Y")S[*!,WK9;5'UJ[BH#46Z*RXR7PGU#O"$N- M7_[Q1??%(=/K3^S)EBC[>-/;57>+W:P^?_S+W[#SWN>6]?X#-G=Y6/UMH^EW MP)1Z]G!R7C/J#^UN[5SXQ I7C^2=QYQN.=HT?DQ^M/[[XY\_6/]C6__S_I>K3^^O/C2*@8P&>Q(78FQ_ M8A;\[V@>$OOY4R?VG="PWS-@OUJG]'O,$M\C< )$!9W[; 8!O3R0\I&79QNV M,VQ7[91>[3C^]-JPFV$W3:9D&- PH&% $Z?J'J=>O?UP]<'Z=/7_736*=8SN M:GJ$>N6%,-]/SK\=PWC/@/%JG5(1A_X=X@(K#U5;HBZ:%3&K83[#?-5.J2B] M-TD0PV+'3H+L:Y"PFA.IMMCRR0NM0>M*Y5GY=0U%Y#!3T;54UZSHP2M:'F>3 M!]6T^NQ^I?79:BVAJ)=J5?>WR/>V%'47)W>FD7&5X,S%D,#$N:'1M[5MM<]LV$OXK.&?:V#,2*@),I6$KM-'+N1/\@BL #VY<&^ -3Q/[K=\S+C M90*"_3)Z^QL3*JD+*"U+-'"+K5-I,S925<5+]A:TEGG.7FLIQL#84=#O![W@ M<+_;/3G&J4Z;,:J,6+\?'H6#WJ#/>D=1_R :[+'+MVS[X^ATQU&?O3\=_>?R MW*]Z^?'U;Q>G;*L;AO_>/0W#L]&9[]@+>GTVTKPTTDI5\CP,S]]ML:W,VBH* MP^ET&DQW Z7'X>A#F-DBWPMSI0P$PHJMDV-JP4_@XN2X ,M9DG%MP+[<^CAZ MTSU$"BMM#B?'X?R_IXV5F)T<"SEAQLYR>+E5<#V69=>J*MKM57:((T/LOD%S MW9U*8;.HW^O]-*RX$+(<=W-(;;0?'!XNF[0<9XLVY46+-.3_?V40/C[,_;D)E'I2;7)$MOWNO]B*F679V_8[RJO*7:8#KLHDV"X M4?$Z%0\"]IH;E]"P8L:N2C7- 3.?CM=THU^AD(M28A-8@@D1J3."3#M,X@)P(TFV8RR9BIZ6,Y?@H:FDE(@$(:S#8H1?%I MGP930>(8I'DK9$T)%'."PP2+9VTU;""T%D*[GX$0L%26:"2R]](H'<0/DF.W M;O7+,L4]S&G/XOVJ[.%_2(BR:T+,T;:=Q?]0IT54A M+T;E4KB#!U/'1@J)220)('V =$ZWI)EJ0T'+;23C(IQS2#^&&=VRKLXINPN[,[N(6^NSN2 M.X,0@3N1@K#%C2HY>4QN$)>4-A'@N!9SXR,<)?=ZI?"W;EG:"@XG#@(>Q2ND MK;3+.>;K1J"JUA5"T+APG21*"\> 2\#&4&(4SA&)V ,509Q(,+GT:,.M("OT MC1N\.;PE.^Q\PO/:^0(R!J0I)CQR@FHT:Q*716R]@V_SC^MS&0J&<B:[P(%SC0P,*)?!)'3;*%0Q 0F!-U?' T&!E-7:#,J!(G M3..\UYZ4_- .YE8J_@KC6ZIQ0W;02N#<"-K9G?LU@.CX\"#+B**EX7N9OI^BBF;$?;GE;\OH#E[/^6S6[WO1K5@(3N$.\YQ&4U95S8Q[1\%!_Z>VRIJUHUXP MV/?3M"[36_,3[.@\B]KKI35-L7+^@7_3PV=*L"0WI+X*;0 M\_<%FD\K[B3>('AQ\/>5;N]%<#!XHN*%5A-POQI(O\&5[\_/^@>]H?]T?N$K MHNYAG-_K670OQAM -=XN5M:J O%RS=P)(7O6Y> ^BW>+9(K<[KOD;3(78*]EQIK2CKF M<.7::28A9>?7D-04CME[?WIQ',J3#:0>(;N/$E+;S M<3]'.?D_4$L#!!0 ( (F":5/7XE^EP @ *LX 9 <&1F#,Q9# R+FAT;>U;;5/;N!;^*[IT=@LS29R$EX)#F:&\S&5FVW+9 M]-ZY'V7K.-;%MKR2G)#]]?<_,:'B*H?"LE@#M]@ZD39E0U66O&#O06N99>R=EF($C!UT>KU. MM[._VVX?'>)0)W4?582LUPL.@GZWWV/=@["W%_;?L,OW;//3\&3+29]^/!G^ M]_+,SWKYZ=UO%R=LHQT$_]D^"8+3X:F_L=/I]MA0\\)(*U7!LR X^[#!-E)K MRS ()I-)9[+=47H4#*^"U.;93I I9: CK-@X.J06_ 0NC@YSL)S%*=<&[-N- M3\/S]CY*6&DS.#H,9O^];*3$].A0R#$S=IK!VXV#M M)9F;]D0*FX:];O>708%7/VS3,YPL%)UX&W/ZQ-)^F%>2;@+(I4)@9C:60D,VFG82J% M@ )[_/IJO]_='AP&)(VN*Q])T>BS6FXZ* M\2$'_1P"^\PU_1(&3\ZNAA?G%R?'PXN/'W[_<2#\J@O_+H_]KS)6)M-%S2Y: M[%@4F&^N^)^\Q6+0),-LRFWXB&H\*0>Y)EG@Q#;L[9=+C-+KL N6\C$P#6,) M$\S!-I6&_5%QC8'/IMA>*FTQ,[-SI7/6Z[;_Q53"+D_/V>\JJRB/F!:[*.+. M8.WB52[N=]@[;EQQP_(INR[4) .L@EK>T[5_A4(M"H7E$T['9<%X,655874% MJ#861ZZV0L=SEN.5ECQC"8^Q23.58S:RRLO=$2@@!F.XGI)(SJ\!YVV,:;!- MH#(X948,0W.00"PU%G0HAB6>04T$:#9)99PR4]'';?\):*@'(0-R:;#RH'+% MEX :3 FQ4Y#&+5$U)=#,,783+)HVW;"&T$H(;7\!0L 2B9074[QO@])"_* X MWM:-^[)(\!GF],SB]SBK!(Z)@6]$H(6@D?3))8C0Q%+T;60)LZ4J; ?<9=6F0]VJ14N#K'9L$V,K0 $BP_@ MV0VNI@IKO!7_E)2#5)XD-'XC+BC@3V/!=+E MWA,E"Q,E.!'9N8Q(E*#<^&)KAP7--OD6.P6#]]&Y+@=\/?(M2D\QK\S]NU"> MB "C6,_D,X^J- Z =$ N(9)!*2C<.%3=W=)3D^+\\A9A4:>>V]"V:OJCFQ*I M"G4Q*I/";4*8*C)22*XE&2!]@G2D6]!(E:&DY1XDXS*2 M>X,0@3N6@K#%C2HX,28WB$LJFPAP7(M9\!&.DGN_4OI;-2T]"@XG#@(>Q0NB MC;++$?--;5!9Z1(A:%RZCF.EA5/ %6 C*# +9XA$O ,E09Q$L+CT:,-'09;( MC6N\.;S%6^QLS+/*<0$% Y($"QXY1C>:%87+/+?>@]O\Y>I:QL$+.R(O&5\Q M1:JRG]?@/NS+Y]) Y6#R]0J<1;-"TSTQX#V!^@QH\#5"""$"&;7ZF2X*80X98 MDJX5QVH=W(J3%J-%-==KRVN5>N6%HBEFDB[90C"R@-R\YVB;*X=Q\+,*FWF MZ= UX)!Y+JT%!\H5W2*%R9;N"8FZN0$V$8M(=X;H%/]3:3A[@."/2J+J[F&I MBM@M4K?6E?ZLTC_&-3\5/Q)Q06LA6E7%$C"*=1J;5]P3X->4EWSQX3*3*YO< MSM1L_?\@;-3%L5^)KF 1+K"C@3F)?!9'=;&%71 06!.U?'(TF!E-E:/-Z!)G M3$W>*W=*7C3!W"G%CS&_)1H?R!9&"1R-8)S=OE\-B)9/#[(8JVP,E",*/JJW M+W7-/)"7F9H"WIVDRG,-7X ;PN.[)-#..G#?J)D[I+9N05-WC/ ) MV.59;Q MTD X^]+49@_G2_U)%1TZ4W@P\+4V_D2;5U;-&OQYMFM9./4FM1?/O*FE<82] MP9RY;S?\ 16=Q^N9GO7\/6^Z%7/#*=UAG5-[RJJR'G'GH+/7^Z7ILGKNL-OI M[Y:6S?_MS"^6#ML;1E&R&C7[0FZ\JL'^//[/#)TT@(# M^A7!LB-FOR>H/ZVXE\G]SIN]EV7QSIO.7O\G,CFPFD#_0P'^?=AI@8I^?=7; MZP[\I^.9'XS8QR'8=]/P0<;48*P9-5+6JAQQ=]:H>0QU#^7"F.Y[*"TJ%]\Q1AY]"W$] M+8O.;B"N*+>R?\L8V*7&]2=MB;38N5L1P**9SP!PWU*P/W%,WOG=W4(0O[.- M3Q*FM-%PDDI(:EC20O6CWW=[=@!]9HSXS>H^22!MUF=V] NO.9((78UCO6>' MJ)^<\EX"P=6'"%MK[*VQ]Z0KB&< R5-N(60?U!CR"#0[:#%Z)6J-O)\!>8'; M5I_MYCV5�V&-/Y7GK$X^N1QJ)"T+Z_TN%LYZ#Q=MGBC7J3M(^*9+* =GT] MVVMHOM6V< BPT#1_7:[D(VC[[52>6- A'RLI:CCL[W?Z._,=#M_6=9NE_C4\ M]U[?T?\!4$L#!!0 ( (F":5-67A]&M04 "PE 9 <&1F#,R9# Q+FAT;>U:>W/:.!#_*GMTVB8S^ 4)!4.9(81,3*(H3[]+?R@T+::YN[TD*;3 ;CE;3/G]:[PKW?#&/$8\(#&L(+ M[_4K"$4PGU&N()"4**0NF(K!$VE*.+RF4K(D@1/)PBD%Z)B.8]IF^]@P^CUD M-2S7".Z"XU@=JV$W'+ [KM-RFS9C0NKE]34\JZL M6,V2(RL1(J-FJ,):OZ^%[ 8RM4SH\]J,R"GCAA(I&I*J+JZT,5312FN9(F1+$;JGFO<0T22J3K"Q5W[PKXU,JT6A<) MKHR(S%BR=)]Z;$8SN* +N!(SPI_6"PI>,RI9]+2;S\[8WQ19HWF*WBJ#)&R* MS+6NW<)^MS1=S]Z0LZ"Y1;Y(PNX-RYC/$J:6;LS"D')<\>11NV$WNSU+ST;7 MI=])4?]?M:SU1[GXTAN=[J@+*\=U[!:,S\![,8+)X.ID<#&:&.,_7XW>PF#HZ9&&;3>VI_=? M\TRQ:%F0&,=]H5RGG>YB=OHZ5<\Y!()S&NC'8%&IJ)C"FSF1&*!D"5K*UIV-VAF&&%L\SOG.XAEC!P)N0,'-MX Y&0 M.>/W!6.@J% ($YHJ.O/QOFG7094.",99E6'/\OQ$W!JE-P>O+(:=G==04+4RK]T((Z_"YB#B]->,E\(AGA M=;B4-&/:6;FL8P#B*6( RT!V:<6ER'9"FG5V'="ZS.<'52L#: MMB_]FV][;2$)1:K+O/7IU20-\9+_A$B?<)H9X]N$+F$0Y('0$*_C.%%UO6ZV MA'=<+-!E4^IN%TO[BO(#YQ \]&<)YFB>(+(##%ZB0;4"FJ3OYTQ27;QGVM'9 M*FP'!/$LP3D^" ]7P?D RQ4DRP@YG>915P/H(1R?#$>C" ?CF!9F)/9+'1J14YB*S.[O8_%6#];\UR]LX1?R$5@M](4,JC4 D"4DSZE9? MUK5IH;RX>,CKMDP# "-<:E/T?&2N1$4H.KZI;RG<)T%:X,U_D\($GI*6Q:2XY'';/E/%YW62G;M&0MTY1=;W-4X\3/]B*9=W6??=435 M<9>?*OPJDQOFL]:O9?'1,[/5^(E,MI34H-\JP+]-=MI(144%5WSF>6;+B/T^ M"?9DZ=[+F!*,94;UA5)BAKBZ!<0 "^&1G?_MJK4]MB$F_^XRA2L"'+4RJV>Q M_D=E^ <'?4OH[AE,=T/= G"?Q*+./O< XI;L><#.'JC[I2?JEO3]?/;Y;*NO M\])>0>F_%.Z[C;9M6K23@"Q/E_8.>@]9[ >"YB"5C LAB^P#(CWXZW,#D?8S< TB>$D7=CWY>>$#>SX \*S^UK Y+=B4&:^JH MTB?!NZD4/PI:QKD9R91%"?_VM M_$(@U^O;A ;NR ? TFKU[.XC:5=Q^S?#&/"(<)\&\,9[]Q8"X<]GE"OP)24* M6Q=,1>"))"$+WC3+H_['D?K@?YK-U Q+.N/>L^R^EX_[S@Q M;0<\27C*%!.!=&$R444S'MM*WR.Y>=B :0?L%E*UC.GK MRHS(*>.&$HE;MQ/5PI$6=C^0N3,6+%"1Z]CV\U9"@H#QJ1'34+FG9K-YWR39 M-%JUB=PT5]*8*'9+M>XUK7Y,B70G0D6MAQ-\:612C@L%5T9(9BQ>NB\]-J,I M7-$%C,2,\)?5O 6_4RI9^+*52:?L,T75:)ZB=\H@,9NB/&L6;/KK;:EI=%UR2\".OE7E)7.X"Y" MG KJ-=.NM:W)+X2U[K^G/BYS*?0CLGB/]&@=[@Y%W>7'9ZWJ7PROWS\88Q.$V[,L=DS83SH93B=^JE=W2&$W3%T^\-K;]#?41>6CCNS M&S"\ ._- ,;=T7GW:C VAG^^'7R ;L_3/37[T;>B7=IY&,=9E.LT'^*ZY. + MSJFOS[,\Y5 1A?=S(M'3\1)&-!%2@0CANG\!8Q'/M61:A4ONFW"DA37TFMWJ MB1FF*LOLR6D=8RX"%T+.P+&-]Q *F2G^E"L&BH "&--$T=D$G^MV%73.4@62 M0LCB,O_18\;4GTL\<-%LP@,8W&$NP3$+P@EG+$TU<,%?/',:=NM*W.;ZSG)U M&P!S4TI\:$$5N@''[&I$/I,JZL5Y]&D.OS.?PK6D*=->J\(%XSI1RV;O18R& M10LC,0S#$*6E=I">JG!"%;!-L1!_)'.9S@D&7PE86]&%Q[,5K6TF@4AT!KI,;R+Z1*Z?A8:S=XJ]A,$B^-F2_C(Q0*=.*7N=E;B7_-4 MF[2?IISB3527BJO9JN8G1$D,X2G-.C MX'@5B7M6KAA9A,,YJY^T-%L.ON\V,9[XL T.8 MWG(27'DZ!E7=3;#JP6$X,RXV[$@P*&DU&Q6N%B$J#+*,/%NB*#6/LT"(A,IL MRO3!^C3_/Y%Y9&19[:7()*;EP(F0 96&+^*8)"EURQ_K:!HX7Y2?S+J6T@3 M"!=H\D*-S)4H&_(R+6O9*.8T[,U23K>L5685R,S%XBW+%'29*4N$IK#0+C2=G9L-YONZR8F[7-FNGN9JU>G%-/YY",HS%HO1D^6PL M)$G<"1;K'XT%NNV;->BJGTQ2??32EBZ$'QJ]_8QE$3%%C30A/G5Q>69VH R> M[>OFFZ7[,%GR_='P)>$*K8R,/M'IB MN#EIOL@GO3,\"9DV[#FP9J?A?L^9M@6\WRS/]XHL/Y-Z[S:?MFG1$U'N*_<] M>T6VP\ZT7>:S#9W9;YULVZ9_T^Q$C]X"2?:*H"P__]W1@WG^!>59VUUU>C.U* M#-;NZJ+5!?>$^!^G$G.*0%_&"^F6!?S:FTR;'<5]8PV!Q(Q3HW@N2_[U-Z@V M;N8WFE:O9B5D2HW\9I*$BDJ7W H6%'1H-LW:R>JB(6^SLWO'_)6O[!VRSM]0 M2P$"% ,4 " ")@FE36VS&YFD6 #T[P $0 @ $ M<&1F&UL4$L! A0# M% @ B8)I4V7$V"3I+@ (1H# !4 ( !:2D '!D9G,M M,C R,3 Y,S!?9&5F+GAM;%!+ 0(4 Q0 ( (F":5.%L\W$HW4 )%U!P 5 M " 858 !P9&9S+3(P,C$P.3,P7VQA8BYX;6Q02P$"% ,4 M " ")@FE3SY8!ILA2 #;_04 %0 @ %;S@ <&1F&UL4$L! A0#% @ B8)I4] U=\V.J@( *A$A !4 M ( !5B$! '!D9G,M,C R,3 Y,S!X,3!Q+FAT;5!+ 0(4 Q0 M ( (F":5.=-P^DE @ &(S 9 " 1?, P!P9&9S+3(P M,C$P.3,P>&5X,S%D,#$N:'1M4$L! A0#% @ B8)I4]?B7Z7 " JS@ M !D ( !XM0# '!D9G,M,C R,3 Y,S!X97@S,60P,BYH=&U0 M2P$"% ,4 " ")@FE35EX?1K4% L)0 &0 @ '9W0, M<&1F#,R9# Q+FAT;5!+ 0(4 Q0 ( (F":5-*J(/7 MR@4 !&5X,S)D <,#(N:'1M4$L%!@ * H J@( ,;I P $! end