0001200375-20-000040.txt : 20201106 0001200375-20-000040.hdr.sgml : 20201106 20201106165859 ACCESSION NUMBER: 0001200375-20-000040 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 100 CONFORMED PERIOD OF REPORT: 20200930 FILED AS OF DATE: 20201106 DATE AS OF CHANGE: 20201106 FILER: COMPANY DATA: COMPANY CONFORMED NAME: CODEXIS, INC. CENTRAL INDEX KEY: 0001200375 STANDARD INDUSTRIAL CLASSIFICATION: INDUSTRIAL ORGANIC CHEMICALS [2860] IRS NUMBER: 710872999 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34705 FILM NUMBER: 201295162 BUSINESS ADDRESS: STREET 1: 200 PENOBSCOT DRIVE CITY: REDWOOD CITY STATE: CA ZIP: 94063 BUSINESS PHONE: 650-421-8100 MAIL ADDRESS: STREET 1: 200 PENOBSCOT DRIVE CITY: REDWOOD CITY STATE: CA ZIP: 94063 FORMER COMPANY: FORMER CONFORMED NAME: CODEXIS INC DATE OF NAME CHANGE: 20021022 10-Q 1 cdxs-20200930.htm 10-Q cdxs-20200930
0001200375false2020Q312/31313131P10M33P10M00012003752020-01-012020-09-30xbrli:shares00012003752020-10-30iso4217:USD00012003752020-09-3000012003752019-12-310001200375country:US2020-09-300001200375country:US2019-12-31iso4217:USDxbrli:shares0001200375cdxs:ProductSalesMember2020-07-012020-09-300001200375cdxs:ProductSalesMember2019-07-012019-09-300001200375cdxs:ProductSalesMember2020-01-012020-09-300001200375cdxs:ProductSalesMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2019-07-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2019-01-012019-09-3000012003752020-07-012020-09-3000012003752019-07-012019-09-3000012003752019-01-012019-09-300001200375us-gaap:CommonStockMember2020-06-300001200375us-gaap:AdditionalPaidInCapitalMember2020-06-300001200375us-gaap:RetainedEarningsMember2020-06-3000012003752020-06-300001200375us-gaap:CommonStockMember2020-07-012020-09-300001200375us-gaap:AdditionalPaidInCapitalMember2020-07-012020-09-300001200375us-gaap:RetainedEarningsMember2020-07-012020-09-300001200375us-gaap:CommonStockMember2020-09-300001200375us-gaap:AdditionalPaidInCapitalMember2020-09-300001200375us-gaap:RetainedEarningsMember2020-09-300001200375us-gaap:CommonStockMember2019-06-300001200375us-gaap:AdditionalPaidInCapitalMember2019-06-300001200375us-gaap:RetainedEarningsMember2019-06-3000012003752019-06-300001200375us-gaap:CommonStockMember2019-07-012019-09-300001200375us-gaap:AdditionalPaidInCapitalMember2019-07-012019-09-300001200375us-gaap:RetainedEarningsMember2019-07-012019-09-300001200375us-gaap:CommonStockMember2019-09-300001200375us-gaap:AdditionalPaidInCapitalMember2019-09-300001200375us-gaap:RetainedEarningsMember2019-09-3000012003752019-09-300001200375us-gaap:CommonStockMember2019-12-310001200375us-gaap:AdditionalPaidInCapitalMember2019-12-310001200375us-gaap:RetainedEarningsMember2019-12-310001200375us-gaap:CommonStockMember2020-01-012020-09-300001200375us-gaap:AdditionalPaidInCapitalMember2020-01-012020-09-300001200375us-gaap:RetainedEarningsMember2020-01-012020-09-300001200375us-gaap:CommonStockMember2018-12-310001200375us-gaap:AdditionalPaidInCapitalMember2018-12-310001200375us-gaap:RetainedEarningsMember2018-12-3100012003752018-12-310001200375us-gaap:CommonStockMember2019-01-012019-09-300001200375us-gaap:AdditionalPaidInCapitalMember2019-01-012019-09-300001200375us-gaap:RetainedEarningsMember2019-01-012019-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMemberus-gaap:CollaborativeArrangementMembercdxs:CDX6114Member2018-12-012018-12-31cdxs:program0001200375cdxs:TakedaPharmaceuticalCoLtdMember2020-03-012020-03-31cdxs:reportingUnit00012003752018-01-012018-01-01xbrli:pure0001200375cdxs:PerformanceEnzymesMember2018-01-010001200375cdxs:NovelBiotherapeuticsMember2018-01-010001200375cdxs:CoreSegmentMembercdxs:ProductSalesMember2020-07-012020-09-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375cdxs:CoreSegmentMembercdxs:ProductSalesMember2019-07-012019-09-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2019-07-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375cdxs:CoreSegmentMember2020-07-012020-09-300001200375cdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375cdxs:CoreSegmentMember2019-07-012019-09-300001200375cdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375cdxs:CoreSegmentMembersrt:AmericasMember2020-07-012020-09-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375srt:AmericasMember2020-07-012020-09-300001200375cdxs:CoreSegmentMembersrt:AmericasMember2019-07-012019-09-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375srt:AmericasMember2019-07-012019-09-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2020-07-012020-09-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375us-gaap:EMEAMember2020-07-012020-09-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2019-07-012019-09-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375us-gaap:EMEAMember2019-07-012019-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2020-07-012020-09-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375cdxs:APACMember2020-07-012020-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2019-07-012019-09-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375cdxs:APACMember2019-07-012019-09-300001200375cdxs:CoreSegmentMembercdxs:ProductSalesMember2020-01-012020-09-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375cdxs:CoreSegmentMembercdxs:ProductSalesMember2019-01-012019-09-300001200375cdxs:ProductSalesMembercdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375cdxs:CoreSegmentMember2020-01-012020-09-300001200375cdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375cdxs:CoreSegmentMember2019-01-012019-09-300001200375cdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375cdxs:CoreSegmentMembersrt:AmericasMember2020-01-012020-09-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375srt:AmericasMember2020-01-012020-09-300001200375cdxs:CoreSegmentMembersrt:AmericasMember2019-01-012019-09-300001200375srt:AmericasMembercdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375srt:AmericasMember2019-01-012019-09-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2020-01-012020-09-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375us-gaap:EMEAMember2020-01-012020-09-300001200375us-gaap:EMEAMembercdxs:CoreSegmentMember2019-01-012019-09-300001200375us-gaap:EMEAMembercdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375us-gaap:EMEAMember2019-01-012019-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2020-01-012020-09-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375cdxs:APACMember2020-01-012020-09-300001200375cdxs:APACMembercdxs:CoreSegmentMember2019-01-012019-09-300001200375cdxs:APACMembercdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375cdxs:APACMember2019-01-012019-09-3000012003752020-10-01cdxs:ProductSalesMember2020-09-3000012003752021-01-01cdxs:ProductSalesMember2020-09-300001200375cdxs:ProductSalesMember2022-01-012020-09-300001200375cdxs:ProductSalesMember2020-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2020-10-012020-09-3000012003752021-01-01cdxs:ResearchandDevelopmentRevenueMember2020-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2022-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMember2020-09-3000012003752020-10-012020-09-3000012003752021-01-012020-09-3000012003752022-01-012020-09-300001200375us-gaap:StockCompensationPlanMember2020-07-012020-09-300001200375us-gaap:StockCompensationPlanMember2019-07-012019-09-300001200375us-gaap:StockCompensationPlanMember2020-01-012020-09-300001200375us-gaap:StockCompensationPlanMember2019-01-012019-09-300001200375cdxs:GSKMembersrt:MinimumMember2014-07-310001200375cdxs:GSKMembersrt:MaximumMember2014-07-310001200375cdxs:GSKMember2019-01-012019-12-310001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:GSKMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:GSKMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:GSKMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:GSKMember2019-07-012019-09-300001200375cdxs:TechnologyTransferCollaborationandLicenseAgreementMembercdxs:MerckMember2015-08-310001200375cdxs:LicenseFeeMembercdxs:TechnologyTransferCollaborationandLicenseAgreementMembercdxs:MerckMember2019-07-012019-09-300001200375cdxs:LicenseFeeMembercdxs:TechnologyTransferCollaborationandLicenseAgreementMembercdxs:MerckMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:TechnologyTransferCollaborationandLicenseAgreementMembercdxs:MerckMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:TechnologyTransferCollaborationandLicenseAgreementMembercdxs:MerckMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:TechnologyTransferCollaborationandLicenseAgreementMembercdxs:MerckMember2019-07-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:TechnologyTransferCollaborationandLicenseAgreementMembercdxs:MerckMember2019-01-012019-09-300001200375cdxs:SupplyAgreementMembercdxs:MerckMember2012-02-012012-02-290001200375cdxs:SupplyAgreementMembercdxs:MerckMember2015-12-012015-12-310001200375cdxs:ProductSalesMembercdxs:SupplyAgreementMembercdxs:MerckMember2020-07-012020-09-300001200375cdxs:ProductSalesMembercdxs:SupplyAgreementMembercdxs:MerckMember2020-01-012020-09-300001200375cdxs:ProductSalesMembercdxs:SupplyAgreementMembercdxs:MerckMember2019-07-012019-09-300001200375cdxs:ProductSalesMembercdxs:SupplyAgreementMembercdxs:MerckMember2019-01-012019-09-300001200375cdxs:SupplyAgreementMember2019-12-310001200375cdxs:SupplyAgreementMember2020-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2017-10-310001200375cdxs:MilestoneOneMembercdxs:NestecLtd.NestleHealthSciencesMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2017-10-310001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:MilestoneTwoMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2017-10-310001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2020-07-012020-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2020-01-012020-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2019-07-012019-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2019-01-012019-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:CDX6114Member2019-01-012019-12-310001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:ResearchandDevelopmentAgreementMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMembersrt:MaximumMember2017-10-310001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:SalesBasedMilestoneMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMembersrt:MaximumMember2017-10-310001200375cdxs:NestecLtd.NestleHealthSciencesMembercdxs:SalesBasedMilestoneMembercdxs:GlobalDevelopmentOptionandLicenseAgreementMember2017-10-012017-10-310001200375cdxs:StrategicCollaborationAgreementMembercdxs:NestecLtd.NestleHealthSciencesMember2017-12-310001200375cdxs:StrategicCollaborationAgreementMembercdxs:NestecLtd.NestleHealthSciencesMember2018-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMember2020-07-012020-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMember2020-01-012020-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMember2019-07-012019-09-300001200375cdxs:NestecLtd.NestleHealthSciencesMember2019-01-012019-09-300001200375cdxs:PortonMembercdxs:MilestoneOneMember2018-04-300001200375cdxs:PortonMembercdxs:MilestoneOneMember2018-04-012018-04-300001200375cdxs:PortonMembercdxs:MilestoneTwoMember2018-04-300001200375cdxs:PortonMember2020-04-012020-04-300001200375cdxs:PortonMembercdxs:MilestoneThreeMember2018-04-300001200375cdxs:PortonMember2018-10-012018-12-310001200375cdxs:PortonMember2020-07-012020-09-300001200375cdxs:PortonMember2020-01-012020-09-300001200375cdxs:PortonMember2019-01-012019-09-300001200375cdxs:PortonMember2019-07-012019-09-300001200375cdxs:PortonMember2020-09-300001200375cdxs:PortonMember2019-12-310001200375cdxs:NovartisMember2019-05-012019-05-310001200375cdxs:NovartisMember2019-05-310001200375cdxs:MilestoneOneMembercdxs:NovartisMember2020-06-300001200375cdxs:MilestoneTwoMembercdxs:NovartisMember2019-05-310001200375cdxs:NovartisMembercdxs:ComputerEquipmentAndSoftwareMember2019-05-310001200375us-gaap:RoyaltyMembercdxs:NovartisMember2019-05-012019-05-310001200375cdxs:NovartisMember2020-07-012020-09-300001200375cdxs:NovartisMember2020-01-012020-09-300001200375cdxs:NovartisMember2019-07-012019-09-300001200375cdxs:NovartisMember2019-01-012019-09-300001200375cdxs:RocheMembercdxs:MilestoneOneMember2019-12-012019-12-310001200375cdxs:RocheMembercdxs:MilestoneTwoMember2019-12-012019-12-310001200375cdxs:RocheMember2020-07-012020-09-300001200375cdxs:RocheMember2020-01-012020-09-300001200375cdxs:TakedaPharmaceuticalCoLtdMembercdxs:UpFrontPaymentMember2020-03-310001200375cdxs:TakedaPharmaceuticalCoLtdMembercdxs:ResearchAndDevelopmentReimbursementMember2020-03-310001200375cdxs:TakedaPharmaceuticalCoLtdMembercdxs:MilestonePaymentPerTargetGeneMember2020-03-310001200375cdxs:TakedaPharmaceuticalCoLtdMember2020-07-012020-09-300001200375cdxs:TakedaPharmaceuticalCoLtdMember2020-01-012020-09-300001200375cdxs:TakedaPharmaceuticalCoLtdMember2020-09-300001200375us-gaap:SeriesAPreferredStockMembercdxs:MolecularAssembliesIncMember2020-06-300001200375us-gaap:SeriesAPreferredStockMembercdxs:MolecularAssembliesIncMember2020-06-012020-06-3000012003752021-02-01cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMembersrt:MinimumMember2020-06-3000012003752021-08-01cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMembersrt:MaximumMember2020-06-300001200375cdxs:ResearchAndDevelopmentAgreementTermFixedConsiderationMembercdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2020-06-012020-06-300001200375cdxs:ResearchAndDevelopmentAgreementTermBonusGoalMetMembercdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2020-06-012020-06-300001200375cdxs:CommercializationAndEnzymeSupplyAgreementMemberus-gaap:RoyaltyMembercdxs:MolecularAssembliesIncMember2020-06-300001200375cdxs:CommercializationAndEnzymeSupplyAgreementMembercdxs:MolecularAssembliesIncMember2020-06-012020-06-300001200375cdxs:CommercializationAndEnzymeSupplyAgreementMembercdxs:MolecularAssembliesIncMember2020-06-222020-06-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2020-07-012020-09-300001200375cdxs:MasterCollaborationResearchAgreementMembercdxs:MolecularAssembliesIncMember2020-01-012020-09-300001200375cdxs:MolecularAssembliesIncMember2020-09-300001200375us-gaap:MoneyMarketFundsMember2020-09-300001200375us-gaap:MoneyMarketFundsMember2019-12-310001200375us-gaap:CashMember2020-09-300001200375us-gaap:CashMember2019-12-310001200375cdxs:MolecularAssembliesIncMember2020-09-300001200375us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2020-09-300001200375us-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2019-12-310001200375cdxs:LaboratoryEquipmentMember2020-09-300001200375cdxs:LaboratoryEquipmentMember2019-12-310001200375us-gaap:LeaseholdImprovementsMember2020-09-300001200375us-gaap:LeaseholdImprovementsMember2019-12-310001200375us-gaap:ComputerEquipmentMember2020-09-300001200375us-gaap:ComputerEquipmentMember2019-12-310001200375cdxs:OfficeEquipmentAndFurnitureMember2020-09-300001200375cdxs:OfficeEquipmentAndFurnitureMember2019-12-310001200375us-gaap:ConstructionInProgressMember2020-09-300001200375us-gaap:ConstructionInProgressMember2019-12-310001200375cdxs:A2019PlanMember2019-06-300001200375cdxs:IncentiveStockOptionsMember2020-01-012020-09-300001200375cdxs:NonStatutoryStockOptionsMember2020-01-012020-09-300001200375us-gaap:EmployeeStockOptionMember2020-01-012020-09-300001200375us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:EmployeeStockOptionMember2020-01-012020-09-300001200375us-gaap:EmployeeStockOptionMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2020-01-012020-09-300001200375us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2020-01-012020-09-300001200375us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2020-01-012020-09-30cdxs:installment0001200375cdxs:A2019PlanMemberus-gaap:PerformanceSharesMember2020-09-300001200375us-gaap:ShareBasedCompensationAwardTrancheOneMembercdxs:A2019PlanMemberus-gaap:PerformanceSharesMember2020-01-012020-09-300001200375cdxs:A2019PlanMemberus-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2020-01-012020-09-300001200375us-gaap:PerformanceSharesMember2020-01-012020-09-300001200375cdxs:A2020PSUAndPBOPlanMemberus-gaap:PerformanceSharesMember2020-09-300001200375cdxs:A2019PSUandPBOPlanMemberus-gaap:PerformanceSharesMember2020-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheOneMembercdxs:A2019PSUandPBOPlanMemberus-gaap:PerformanceSharesMember2020-01-012020-03-310001200375cdxs:A2019PSUandPBOPlanMembersrt:ScenarioForecastMemberus-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2021-01-012021-03-310001200375cdxs:A2018PSUandPBOPlanMemberus-gaap:PerformanceSharesMember2019-03-310001200375us-gaap:ShareBasedCompensationAwardTrancheOneMembercdxs:A2018PSUandPBOPlanMemberus-gaap:PerformanceSharesMember2019-01-012019-03-310001200375cdxs:A2018PSUandPBOPlanMemberus-gaap:PerformanceSharesMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2020-01-012020-03-310001200375us-gaap:ResearchAndDevelopmentExpenseMember2020-07-012020-09-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2019-07-012019-09-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2020-01-012020-09-300001200375us-gaap:ResearchAndDevelopmentExpenseMember2019-01-012019-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-07-012020-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2019-07-012019-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2020-01-012020-09-300001200375us-gaap:SellingGeneralAndAdministrativeExpensesMember2019-01-012019-09-300001200375us-gaap:EmployeeStockOptionMember2020-07-012020-09-300001200375us-gaap:EmployeeStockOptionMember2019-07-012019-09-300001200375us-gaap:EmployeeStockOptionMember2019-01-012019-09-300001200375cdxs:RSAsandRSUsMember2020-07-012020-09-300001200375cdxs:RSAsandRSUsMember2019-07-012019-09-300001200375cdxs:RSAsandRSUsMember2020-01-012020-09-300001200375cdxs:RSAsandRSUsMember2019-01-012019-09-300001200375cdxs:PerformanceStockUnitsMember2020-07-012020-09-300001200375cdxs:PerformanceStockUnitsMember2019-07-012019-09-300001200375cdxs:PerformanceStockUnitsMember2020-01-012020-09-300001200375cdxs:PerformanceStockUnitsMember2019-01-012019-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2020-07-012020-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2019-07-012019-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2020-01-012020-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2019-01-012019-09-300001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMember2020-06-012020-06-300001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMemberus-gaap:StockCompensationPlanMember2020-06-012020-06-300001200375us-gaap:ShareBasedCompensationAwardTrancheOneMemberus-gaap:ShareBasedPaymentArrangementNonemployeeMemberus-gaap:StockCompensationPlanMember2020-06-012020-06-300001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMemberus-gaap:StockCompensationPlanMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2020-06-012020-06-300001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMember2020-08-012020-08-310001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMemberus-gaap:StockCompensationPlanMember2020-08-012020-08-310001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMemberus-gaap:StockCompensationPlanMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2020-08-012020-08-310001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMemberus-gaap:StockCompensationPlanMember2020-07-012020-09-300001200375us-gaap:ShareBasedPaymentArrangementNonemployeeMemberus-gaap:StockCompensationPlanMember2020-01-012020-09-300001200375us-gaap:EmployeeStockOptionMember2020-09-300001200375us-gaap:StockCompensationPlanMember2020-09-300001200375cdxs:RSAsandRSUsMember2020-09-300001200375cdxs:PerformanceStockUnitsMember2020-09-300001200375cdxs:PerformanceBasedOptionsPBOsMember2020-09-300001200375us-gaap:PrivatePlacementMember2019-06-012019-06-300001200375us-gaap:PrivatePlacementMember2019-06-30utr:sqftcdxs:security0001200375cdxs:A200220PenobscotMember2020-09-300001200375cdxs:A400PenoscotMember2020-09-300001200375cdxs:A501ChesapeakeMember2020-09-300001200375cdxs:A101SaginawMember2020-01-310001200375cdxs:SubleaseMember2020-01-310001200375cdxs:SubleaseMember2020-04-30cdxs:numberOfRenewalOption00012003752019-01-012019-12-310001200375us-gaap:DemandDepositsMember2020-09-300001200375us-gaap:DemandDepositsMember2019-12-3100012003752017-02-012017-02-2800012003752017-02-2800012003752017-04-3000012003752017-04-012017-04-300001200375cdxs:April2016Memberus-gaap:SupplyCommitmentMember2020-09-300001200375cdxs:September2019Memberus-gaap:SupplyCommitmentMember2020-09-300001200375cdxs:March2020Memberus-gaap:SupplyCommitmentMember2020-09-300001200375us-gaap:SupplyCommitmentMember2020-09-300001200375cdxs:TermLoanMember2017-06-300001200375us-gaap:RevolvingCreditFacilityMember2017-06-300001200375us-gaap:CreditAvailabilityConcentrationRiskMember2017-06-302017-06-300001200375cdxs:TermLoanMember2020-09-300001200375cdxs:TermLoanMember2020-01-012020-09-300001200375us-gaap:RevolvingCreditFacilityMember2020-09-300001200375us-gaap:RevolvingCreditFacilityMember2020-01-012020-09-300001200375us-gaap:IndemnificationGuaranteeMember2020-09-300001200375cdxs:MasterCollaborationResearchAgreementMember2021-07-01cdxs:MolecularAssembliesIncMembersrt:MaximumMember2020-06-300001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2020-01-012020-09-300001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2019-07-012019-09-300001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2019-01-012019-09-300001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2020-09-300001200375srt:DirectorMembercdxs:TransactionsWithAstraZenecaPLCMember2019-12-31cdxs:segment0001200375cdxs:CoreSegmentMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2020-07-012020-09-300001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2020-07-012020-09-300001200375cdxs:CoreSegmentMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2019-07-012019-09-300001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2019-07-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2020-07-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2019-07-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2019-07-012019-09-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2020-07-012020-09-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2020-07-012020-09-300001200375us-gaap:OperatingSegmentsMember2020-07-012020-09-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2019-07-012019-09-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2019-07-012019-09-300001200375us-gaap:OperatingSegmentsMember2019-07-012019-09-300001200375us-gaap:CorporateNonSegmentMember2020-07-012020-09-300001200375us-gaap:CorporateNonSegmentMember2019-07-012019-09-300001200375cdxs:CoreSegmentMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2020-01-012020-09-300001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2020-01-012020-09-300001200375cdxs:CoreSegmentMembercdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2019-01-012019-09-300001200375cdxs:ProductSalesMemberus-gaap:OperatingSegmentsMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2020-01-012020-09-300001200375cdxs:ResearchandDevelopmentRevenueMembercdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375cdxs:ResearchandDevelopmentRevenueMemberus-gaap:OperatingSegmentsMember2019-01-012019-09-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2020-01-012020-09-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2020-01-012020-09-300001200375us-gaap:OperatingSegmentsMember2020-01-012020-09-300001200375cdxs:CoreSegmentMemberus-gaap:OperatingSegmentsMember2019-01-012019-09-300001200375us-gaap:OperatingSegmentsMembercdxs:BiotherapeuticSegmentMember2019-01-012019-09-300001200375us-gaap:OperatingSegmentsMember2019-01-012019-09-300001200375us-gaap:CorporateNonSegmentMember2020-01-012020-09-300001200375us-gaap:CorporateNonSegmentMember2019-01-012019-09-300001200375cdxs:CustomerAMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2020-07-012020-09-300001200375cdxs:CustomerAMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2019-07-012019-09-300001200375cdxs:CustomerAMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001200375cdxs:CustomerAMemberus-gaap:SalesRevenueProductLineMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMember2020-07-012020-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerCMemberus-gaap:CustomerConcentrationRiskMember2019-07-012019-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerCMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerCMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerDMemberus-gaap:CustomerConcentrationRiskMember2020-07-012020-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerDMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001200375us-gaap:SalesRevenueProductLineMembercdxs:CustomerEMemberus-gaap:CustomerConcentrationRiskMember2020-07-012020-09-300001200375us-gaap:AccountsReceivableMembercdxs:CustomerAMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001200375us-gaap:AccountsReceivableMembercdxs:CustomerAMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-12-310001200375us-gaap:AccountsReceivableMembercdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001200375us-gaap:AccountsReceivableMembercdxs:CustomerBMemberus-gaap:CustomerConcentrationRiskMember2019-01-012019-12-310001200375us-gaap:AccountsReceivableMembercdxs:CustomerDMemberus-gaap:CustomerConcentrationRiskMember2020-01-012020-09-300001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2020-09-300001200375cdxs:PerformanceEnzymesMemberus-gaap:OperatingSegmentsMember2019-12-310001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2020-09-300001200375us-gaap:OperatingSegmentsMembercdxs:NovelBiotherapeuticsMember2019-12-310001200375us-gaap:OperatingSegmentsMember2020-09-300001200375us-gaap:OperatingSegmentsMember2019-12-310001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2020-09-300001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2020-09-300001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2020-09-300001200375us-gaap:FinancingReceivables30To59DaysPastDueMember2019-12-310001200375us-gaap:FinancingReceivables60To89DaysPastDueMember2019-12-310001200375us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember2019-12-31

UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
Washington, D.C. 20549
FORM 10-Q
(Mark One)
QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended September 30, 2020
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: 001-34705
___________________________
Codexis, Inc.
(Exact name of registrant as specified in its charter)
_____________________________________________
Delaware 71-0872999
(State or other jurisdiction of incorporation or organization) (I.R.S. Employer Identification No.)

200 Penobscot Drive,Redwood City,California 94063
(Address of principal executive offices) (Zip Code)


Registrant's telephone number, including area code: (650) 421-8100

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

Title of Each ClassTradingName of Each Exchange on Which Registered
Symbol(s)
Common Stock, par value $0.0001 per shareCDXSThe Nasdaq Global Select Market
Indicate by check mark whether the registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the Registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.    Yes     No  
Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).    Yes      No  
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, 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 filerAccelerated filer
Non-accelerated filerSmaller reporting company
Emerging growth company
If an emerging growth company, indicate by check mark if the registrant has elected not to use the 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  
As of October 30, 2020, there were 59,281,805 shares of the registrant’s Common Stock, par value $0.0001 per share, outstanding.






Codexis, Inc.
Quarterly Report on Form 10-Q
For the Quarter Ended September 30, 2020


TABLE OF CONTENTS






PART I. FINANCIAL INFORMATION
Item 1. Financial Statements
Codexis, Inc.
Condensed Consolidated Balance Sheets
(Unaudited)
(In Thousands, Except Per Share Amounts)
September 30, 2020December 31, 2019
Assets
Current assets:
Cash and cash equivalents$71,516 $90,498 
Restricted cash, current633 661 
Financial assets:
Accounts receivable10,711 9,063 
Contract assets975 1,027 
Unbilled receivables14,985 10,099 
   Total Financial assets26,671 20,189 
        Less: allowances(74)(34)
        Total Financial assets, net26,597 20,155 
Inventories737 371 
Prepaid expenses and other current assets3,450 2,520 
Total current assets102,933 114,205 
Restricted cash1,062 1,062 
Investment in Equity Securities1,000  
Right-of-use assets - Operating leases, net21,996 23,837 
Right-of-use assets - Finance leases, net145 268 
Property and equipment, net7,289 6,282 
Goodwill3,241 3,241 
Other non-current assets353 178 
Total assets$138,019 $149,073 
Liabilities and Stockholders' Equity
Current liabilities:
Accounts payable$2,499 $2,621 
Accrued compensation6,277 5,003 
Other accrued liabilities7,570 6,540 
Current portion of lease obligations - Operating leases2,554 1,107 
Current portion of lease obligations - Finance leases 60 
Deferred revenue1,596 57 
Total current liabilities20,496 15,388 
Deferred revenue, net of current portion2,460 1,987 
Long-term lease obligations - Operating leases23,001 24,951 
Other long-term liabilities1,261 1,230 
Total liabilities47,218 43,556 
Commitments and Contingencies (Note 11)
Stockholders' equity:
Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding
  
Common stock, $0.0001 par value per share; 100,000 shares authorized;
59,232 shares and 58,877 shares issued and outstanding at September 30, 2020 and December 31, 2019, respectively
6 6 
Additional paid-in capital453,294 447,920 
Accumulated deficit(362,499)(342,409)
Total stockholders' equity90,801 105,517 
Total liabilities and stockholders' equity$138,019 $149,073 
See accompanying notes to the unaudited condensed consolidated financial statements
3



Codexis, Inc.

Condensed Consolidated Statements of Operations
(Unaudited)
(In Thousands, Except Per Share Amounts)

 Three Months Ended September 30,Nine Months Ended September 30,
 2020201920202019
Revenues:
Product revenue$8,401 $10,351 $18,005 $24,588 
Research and development revenue9,984 11,555 30,018 25,220 
Total revenues18,385 21,906 48,023 49,808 
Costs and operating expenses:
Cost of product revenue3,642 5,067 7,882 12,230 
Research and development12,010 8,711 33,830 25,000 
Selling, general and administrative8,797 7,869 26,307 24,180 
Total costs and operating expenses24,449 21,647 68,019 61,410 
Income (loss) from operations(6,064)259 (19,996)(11,602)
Interest income39 480 362 929 
Other expenses, net(50)(403)(125)(615)
Income (loss) before income taxes(6,075)336 (19,759)(11,288)
Provision for (benefit from) income taxes19 (7)331 12 
Net income (loss)$(6,094)$343 $(20,090)$(11,300)
Net income (loss) per share, basic$(0.10)$0.01 $(0.34)$(0.20)
Net income (loss) per share, diluted$(0.10)$0.01 $(0.34)$(0.20)
Weighted average common stock shares used in computing net income (loss) per share, basic59,061 58,287 58,984 55,818 
Weighted average common stock shares used in computing net income (loss) per share, diluted59,061 61,412 58,984 55,818 



See accompanying notes to the unaudited condensed consolidated financial statements
4



Codexis, Inc.

Condensed Consolidated Statements of Stockholders' Equity
(Unaudited)
(In Thousands)

Common StockAdditional
paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Three months ended September 30, 2020SharesAmount
Balance as of July 1, 202059,125 $6 $451,185 $(356,405)$94,786 
Exercise of stock options55 — 342 — 342 
Release of stock awards70 — — — — 
Employee stock-based compensation— — 1,941 — 1,941 
Non-employee stock-based compensation— — 43 — 43 
Taxes paid related to net share settlement of equity awards(18)— (217)— (217)
Net loss— — — (6,094)(6,094)
Balance as of September 30, 202059,232 $6 $453,294 $(362,499)$90,801 


Common StockAdditional
paid-in
Capital
Accumulated DeficitTotal Stockholders' Equity
Three months ended September 30, 2019SharesAmount
Balance as of July 1, 201957,940 $6 $440,795 $(342,117)$98,684 
Exercise of stock options441 — 1,778 — 1,778 
Release of stock awards8 — — — — 
Employee stock-based compensation— — 1,732 — 1,732 
Taxes paid related to net share settlement of equity awards(3)— (51)— (51)
Issuance of common stock, issuance costs— — (55)— (55)
Short swing profit settlement— — 77 — 77 
Net income— — — 343 343 
Balance as of September 30, 201958,386 $6 $444,276 $(341,774)$102,508 


See accompanying notes to the unaudited condensed consolidated financial statements
5




Codexis, Inc.
Condensed Consolidated Statements of Stockholders' Equity
(Unaudited)
(In Thousands)

Common StockAdditional paid-in CapitalAccumulated DeficitTotal Stockholders' Equity
Nine months ended September 30, 2020SharesAmount
Balance as of January 1, 202058,877 $6 $447,920 $(342,409)$105,517 
Exercise of stock options87 — 539 — 539 
Release of stock awards370 — — — — 
Employee stock-based compensation— — 6,045— 6,045 
Non-employee stock-based compensation— — 47— 47 
Taxes paid related to net share settlement of equity awards(102)— (1,257)— (1,257)
Net loss— — — (20,090)(20,090)
Balance as of September 30, 202059,232 $6 $453,294 $(362,499)$90,801 


Common StockAdditional paid-in CapitalAccumulated DeficitTotal Stockholders' Equity
Nine months ended September 30, 2019SharesAmount
Balance as of January 1, 201954,065 $5 $386,775 $(330,474)$56,306 
Exercise of stock options970 — 4,621 — 4,621 
Release of stock awards449 — — — — 
Employee stock-based compensation— — 5,783 — 5,783 
Taxes paid related to net share settlement of equity awards(147)— (2,850)— (2,850)
Issuance of common stock, net of issuance costs of $129
3,049 1 49,870 — 49,871 
Short swing profit settlement— — 77 — 77 
Net loss— — — (11,300)(11,300)
Balance as of September 30, 201958,386 $6 $444,276 $(341,774)$102,508 


See accompanying notes to the unaudited condensed consolidated financial statements
6



Codexis, Inc.
Condensed Consolidated Statements of Cash Flows
(Unaudited, in Thousands)
Nine Months Ended September 30,
 20202019
Operating activities:
Net loss$(20,090)$(11,300)
Adjustments to reconcile net loss to net cash used in operating activities:
Depreciation1,403 1,118 
Amortization expense - right-of-use assets - operating and finance leases1,964 2,231 
Gain on disposal of property and equipment (2)
Stock-based compensation6,092 5,783 
Allowance for credit losses40  
Loss on investment in equity securities 526 
Changes in operating assets and liabilities:
Accounts receivable, net(1,648)(776)
Contract assets52 (1,158)
Unbilled receivables(4,886)385 
Inventories(366)192 
Prepaid expenses and other current assets(930)(485)
Other non-current assets(175)74 
Accounts payable(101)(1,294)
Accrued compensation1,274 (577)
Other accrued liabilities2,307 2,687 
Other long-term liabilities(1,920)(1,291)
Deferred revenue2,012 (5,012)
Net cash used in operating activities(14,972)(8,899)
Investing activities:
Purchase of property and equipment(2,260)(3,315)
Proceeds from disposal of property and equipment 2 
Investment in equity securities(1,000) 
Proceeds from the sale of investment securities 62 
Net cash used in investing activities(3,260)(3,251)
Financing activities:
Proceeds from exercises of stock options539 4,621 
Proceeds from issuance of common stock in connection with private placement 50,000 
Costs incurred in connection with private placement (129)
Payments of lease obligations - Finance leases(60)(180)
Recovery of short swing profit 77 
Taxes paid related to net share settlement of equity awards(1,257)(2,850)
Net cash provided by (used in) financing activities(778)51,539 
Net increase (decrease) in cash, cash equivalents and restricted cash(19,010)39,389 
Cash, cash equivalents and restricted cash at the beginning of the period92,221 54,485 
Cash, cash equivalents and restricted cash at the end of the period$73,211 $93,874 
Supplemental disclosure of cash flow information
Interest paid$15 $16 
Income taxes paid$312 $5 
Purchase of property and equipment recorded in accounts payable and accrued expenses$289 $536 
7






The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the unaudited condensed consolidated balance sheets as of September 30, 2020 and 2019 to the total of the same such amounts shown above:


 September 30,
 20202019
Cash and cash equivalents$71,516 $92,143 
Restricted cash, current and non-current 1,695 1,731 
Total cash, cash equivalents and restricted cash at the end of the period$73,211 $93,874 

See accompanying notes to the unaudited condensed consolidated financial statements
8



Codexis Inc.

Notes to Condensed Consolidated Financial Statements
(Unaudited)
Note 1. Description of Business
In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.
We discover, develop and sell proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast untapped source of value-creating materials, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel proteins, both as proprietary Codexis products and in partnership with our customers.
We are a pioneer in the harnessing of computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver® protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine our large and continuously growing library of protein variants’ performance attributes. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling delivery of targeted performance enhancements in a time-efficient manner. In addition to its computational prowess, our CodeEvolver® protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and process development which are all coordinated to create our novel protein innovations.
Our approach to developing commercially viable biocatalytic manufacturing processes begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized protein catalysts to enable that process design, using our CodeEvolver® protein engineering platform technology. Engineered protein catalyst candidates - many thousands for each protein engineering project - are then rapidly screened and validated in high throughput screening under relevant manufacturing operating conditions. This approach results in an optimized protein catalyst enabling cost-efficient processes that typically are relatively simple to run in conventional manufacturing equipment. This also allows for the efficient technical transfer of our process to our manufacturing partners.
The successful embodiment of our CodeEvolver® protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those directly involved in practicing our CodeEvolver® protein engineering platform technology, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, fermentation process development and fermentation engineering. Our integrated, multi-disciplinary approach to biocatalyst and process development is a critical success factor for the Company.
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, which remains a primary business focus. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also licensed our proprietary CodeEvolver® protein engineering technology platform to global pharmaceutical companies so that they may in turn use this technology to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis Pharma AG (“Novartis”). The Novartis CodeEvolver® Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare.
As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop protein catalysts and industrial enzymes for use in a wider set of industrial markets. These target industries consist of several large market verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances and agricultural chemicals. In addition, we are using our technology to develop enzymes for customers using next generation sequencing ("NGS") and polymerase chain reaction ("PCR/qPCR") for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. (“Roche”) with our first enzyme for this target market, the Company's EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes.
9



We have also begun using the CodeEvolver® protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both for our customers and for our own business. In October 2017, we entered into the "Nestlé Agreement” with Nestlé Health Science to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of phenylketonuria ("PKU"). PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. In March 2020, we entered into a Strategic Collaboration and License Agreement (“Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Company Limited (“Takeda”), for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and blood factor deficiencies.
Below are brief descriptions of our business segments:
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity.
Our first lead program was for the potential treatment of hyperphenylalaninemia (“HPA”) (also referred to as PKU) in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In July 2018, we announced that we had dosed the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114, which was conducted in Australia. In November 2018, we announced top-line results from the Phase 1a study in healthy volunteers with CDX-6114. In December 2018, Nestlé Health Science became obligated to pay us an additional $1.0 million within 60 days after the achievement of a milestone relating to formulation of CDX-6114. In January 2019, we received notice from the U.S. Food and Drug Administration that it had completed its review of our investigational drug application for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. In January 2020, we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies. The Strategic Collaboration Agreement was extended through December 2021. Using our CodeEvolver® protein engineering platform technology, we have also developed a pipeline of other biotherapeutic drug candidates, all of which are in preclinical development.
Our most recent achievement in novel biotherapeutics came in March 2020, when we announced a strategic collaboration and license agreement with Takeda in which we will collaborate with Takeda to research and develop protein sequences for use in gene therapy products for certain disease indications. Under the terms of the Takeda Agreement, we will generate novel gene sequences encoding protein variants tailored to enhance efficacy as a result of increased activity, stability, and cellular uptake using our CodeEvolver® protein engineering platform. Takeda will combine these improved transgenes with its gene therapy capabilities to generate novel candidates for the treatment of rare genetic disorders. We are currently collaborating on three initial programs for the treatment of Fabry disease, Pompe disease, and an unnamed blood factor deficiency. The Company is responsible for the creation of novel enzyme sequences for advancement as gene therapies into pre-clinical development. Takeda is responsible for the pre-clinical and clinical development and commercialization of gene therapy products resulting from the collaboration programs. Under the terms of the agreement, in addition to the three initial programs, Takeda may initiate up to four additional programs for separate target indications. In March 2020, we began research and development activities under the program plans and received a $8.5 million one-time, non-refundable cash payment.
10



We expect to continue to make additional investments in our pipeline with the aim of advancing additional product candidates targeting other therapeutic areas.
For additional discussion of our business segments, see Note 13, "Segment, Geographical and Other Revenue Information."
Business Update Regarding COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April in accordance with these Orders. In May 2020, we initiated limited R&D operations and have gradually ramped up operations such that we are currently utilizing the majority of our normal R&D capacity. Additionally, we have resumed small scale manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. As of the date of issuance of the unaudited condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain.

Note 2. Basis of Presentation and Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information. Accordingly, they do not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2019. The condensed consolidated balance sheet at December 31, 2019 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2020 are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2019 Annual Report on Form 10-K and are updated below as necessary.
Certain prior year amounts have been reclassified to conform to 2020 presentation. In June 2016, the Financial Accounting Standards Board (“FASB”) issued guidance requiring implementation of a new impairment model applicable to financial assets measured at amortized cost which, among other things required that accounts receivable, contract assets, unbilled receivables and related allowances be reclassified as financial assets.
11


Except as noted above, the unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2020, results of our operations for the three and nine months ended September 30, 2020 and 2019, changes in stockholders' equity for the three and nine months ended September 30, 2020 and 2019, and cash flows for the nine months ended September 30, 2020 and 2019. The interim results are not necessarily indicative of the results for any future interim period or for the entire year. The results of the nine months ended September 30, 2020 reflect the adoption of certain accounting standards including: Accounting Standard Update ("ASU") 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments which added a new impairment model applicable to our financial assets measured at amortized cost, and (ii) ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment, which adjusts testing for goodwill impairment. See "Recently adopted accounting pronouncements" for details regarding the adoption of these standards.
The unaudited interim condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All significant intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, the interest rate used to adjust the promised amount of consideration for the effects of significant financial assets (comprised of accounts receivable, contract assets, and unbilled receivables), inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the unaudited condensed consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
Financial assets and Allowances
We currently sell enzymes primarily to pharmaceutical and fine chemicals companies throughout the world by the extension of trade credit terms based on an assessment of each customer's financial condition. Trade credit terms are generally offered without collateral and may include an insignificant discount for prompt payment for specific customers. To manage our credit exposure, we perform ongoing evaluations of our customers' financial conditions. In addition, accounts receivable include amounts owed to us under our collaborative research and development agreements. We recognize accounts receivable at invoiced amounts and we maintain a valuation allowance as follows:
Allowance for credit losses from January 1, 2020
On and subsequent to January 1, 2020, our financial results reflect an impairment model (known as the “current expected credit loss model” or “CECL”) based on estimates and forecasts of future conditions requiring recognition of a lifetime of expected credit losses at inception on our financial assets measured at amortized costs which is comprised of accounts receivable, contract assets, and unbilled receivables. We have determined that our financial assets share similar risk characteristics including: (i) customer origination in the pharmaceutical and fine chemicals industry, (ii) similar historical credit loss pattern of customers (iii) no meaningful trade receivable differences in terms, (iv) similar historical credit loss experience and (v) our belief that the composition of certain assets are comparable to our historical portfolio used to develop loss history. As a result, we measured the allowance for credit loss (“ACL”) on a collective basis. Our ACL methodology considers how long the asset has been past due, the financial condition of the customers, which includes ongoing quarterly evaluations and assessments of changes in customer credit ratings, and other market data that we believe are relevant to the collectability of the assets. Nearly all financial assets are due from customers that are highly rated by major rating agencies and have a long history of no credit loss. We derive our ACL by establishing an impairment rate attributable to assets not yet identified as impaired.
We derive our ACL by initially relying on our historical financial asset loss rate which contemplates the full contractual life of the assets sharing similar risk characteristics, adjusted to reflect (i) the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated and (ii) by taking into consideration the changes in certain macroeconomic historical and forecasted information. We apply the ACL to past due financial assets and record charges to the ACL as a provision to credit loss expense in the Statement of Operations.
12


Financial assets we identify as uncollectible are also charged against the ACL. We adjust the impairment rate to reflect the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated. Adjustments to historical loss information may be qualitative or quantitative in nature and reflect changes related to relevant data.
In the three and nine months ended September 30, 2020, inputs to our CECL forecast incorporated forward-looking adjustments associated with the COVID-19 pandemic which we believe are appropriate to incorporate due to the uncertainty of the economic impact on cash flows from our financial assets.
Allowance for credit losses before January 1, 2020
Prior to January 1, 2020, the allowances for doubtful accounts reflected our best estimates of probable losses inherent in our accounts receivable and contract assets balances. The allowance determination was based on known troubled accounts, historical experience, and other currently available evidence. Uncollectible accounts receivable were written off against the allowance for doubtful accounts when all efforts to collect them have been exhausted. Recoveries were recognized when they were received.
Investment in Equity Securities
We own an equity investment in Molecular Assemblies, Inc. (“MAI”) which is a privately held company. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We and MAI envision entering into an arrangement to commercialize products developed under the MAI Agreement.
To analyze the fair value measurement of our equity investment in MAI, we perform a qualitative analysis using significant unobservable inputs. Significant changes to the unobservable inputs may result in a significantly higher or lower fair value estimate. We may value our equity investment based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated new investors, providing the terms of these equity transactions are substantially similar to the equity transactions terms between the company and us. The impact of the difference in transaction terms on the market value of the portfolio company may be difficult or impossible to quantify.
We evaluate our investment for impairment when circumstances indicate that we may not be able to recover the carrying value. We impair our investment when we determine that there has been an “other-than-temporary” decline in MAI's estimated fair value compared to its carrying value. We calculate the estimated fair value of the investment using information from the company, which may include:
Audited and unaudited financial statements;
Projected technological developments of the company;
Projected ability of the company to service its debt obligations;
If a deemed liquidation event were to occur;
Current fundraising transactions;
Current ability of the company to raise additional financing if needed;
Changes in the economic environment which may have a material impact on the operating results of the company;
Qualitative assessment of key management;
Contractual rights, obligations or restrictions associated with the investment; and
Other factors deemed relevant by our management to assess valuation.
The valuation may be reduced if the company's potential has deteriorated significantly. If the factors that led to a reduction in valuation are overcome, the valuation may be readjusted.
Goodwill
Goodwill represents the excess of consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in the trading price of our stock on the Nasdaq Global Select Market. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We manage our business as two reporting units and we test goodwill for impairment at the reporting unit level. We allocated goodwill to the two reporting units using a relative fair value allocation methodology that primarily relied on our estimates of revenue and future earnings for each reporting unit. Using the relative fair value allocation methodology, we have determined that approximately 76% of goodwill was to be allocated to the Performance Enzymes segment and 24% allocated to the Novel
13


Biotherapeutics segment. As a result of the calculation, $2.4 million of the goodwill is assigned to the Performance Enzymes segment and $0.8 million is assigned to the Novel Biotherapeutics segment. We test goodwill for impairment on an annual basis on the last day of the fourth fiscal quarter and, when specific circumstances dictate, between annual tests, by first assessing qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. During 2020 and 2019, we did not record impairment charges related to goodwill. We test for goodwill impairment is as follows:
Goodwill impairment testing from January 1, 2020
Goodwill represents the excess of the consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in our share price. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We test for impairment annually on a reporting unit basis, on the last day of the fourth fiscal quarter, and between annual tests if events and circumstances indicate it is more likely than not that the fair value of a reporting unit is less than its carrying amount. The annual impairment test is completed using either: a qualitative “Step 0” assessment based on reviewing relevant events and circumstances; or a quantitative “Step 1” assessment, which determines the fair value of the reporting unit. To the extent the carrying amount of a reporting unit is less than its estimated fair value, an impairment charge is recorded. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compare the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Any excess of the reporting unit’s carrying amount of goodwill over its fair value is recognized as an impairment.
Goodwill impairment testing before January 1, 2020
Prior to January 1, 2020, the goodwill impairment test consisted of a two-step process. The first step of the goodwill impairment test, used to identify potential impairment, compared the fair value of each reporting unit to its carrying value. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compared the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeded its carrying amount, goodwill of the reporting unit was considered not impaired, and the second step of the impairment test was not required. The second step, if required, compared the implied fair value of the reporting unit’s goodwill with the carrying amount of that goodwill. Implied fair value was the excess of the fair value of the reporting unit over the fair value of all identified or allocated assets and liabilities. Any excess of the reporting unit’s carrying amount goodwill over the respective implied fair value was recognized as an impairment.
Interim Goodwill Impairment Testing
We tested goodwill for impairment in the quarter ended September 30, 2020. Since late 2019, the COVID-19 pandemic has spread worldwide. The COVID-19 pandemic has caused a decline in global and domestic macroeconomic conditions, the general deterioration of the U.S. economy and other economies worldwide, all of which may negatively impact our overall financial performance, driving a reduction in our cash flows. We believe that the impact of the COVID-19 pandemic was a triggering event that gave rise to the need to perform a goodwill impairment test. We conducted a qualitative interim impairment assessment as of September 30, 2020, which included an evaluation of our cash flow projections to reflect the current economic environment, including the uncertainty surrounding the nature, timing, and extent of the impact of the pandemic in operating our business. We also considered the results of the prior quarters’ impairment test performed which reflected a significant cushion between the fair value and the carrying value for both of our reporting units. We determined that it was more likely than not that the fair value of each of the reporting units exceeded its respective carrying amount as of September 30, 2020. Therefore, an interim quantitative impairment test of our goodwill at the reporting unit level was not required to be performed.
Segment Reporting
We report two business segments, Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. 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 ("CODM"), or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. We do not allocate or evaluate assets by segment.
The Novel Biotherapeutics segment focuses on new opportunities in the pharmaceutical industry to discover or improve novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. The
14


Performance Enzymes segment consists of protein catalyst products and services with focus on pharmaceutical, food, molecular diagnostics, and other industrial markets.
Income Taxes
Changes to Tax Law
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), P.L. 116-136,was passed into law, amending portions of certain relevant US tax laws. The CARES Act includes a number of federal income tax law changes, including, but not limited to: (i) permitting net operating loss carrybacks to offset 100% of taxable income for taxable years beginning before 2021, (ii) accelerating alternative minimum tax credit refunds, (iii) temporarily increasing the allowable business interest deduction from 30% to 50% of adjusted taxable income, and (iv) providing a technical correction for depreciation related to qualified improvement property. The CARES Act had no impact on our unaudited condensed consolidated financial statements.
Accounting Pronouncements
Recently adopted accounting pronouncements
In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which amends the FASB's guidance on the impairment of financial instruments. The standard adds a new impairment model, known as CECL, which replaces the probable loss model. The CECL impairment model is based on estimates and forecasts of future conditions which requires recognition of a lifetime of expected credit losses at inception on financial assets measured at amortized costs. Our financial assets measured at amortized cost are comprised of accounts receivable, contract assets, and unbilled receivables. We adopted the new standard in the first quarter of 2020 using a modified retrospective approach requiring a cumulative-effect adjustment to the opening accumulated deficit as of the date of adoption. The ASU establishes a new valuation account “allowance for credit losses” replacing the “allowance for doubtful accounts” in the consolidated balance sheet, which is used to adjust the amortized cost basis of assets in presentation of the net amount expected to be collected. The adoption required certain additional disclosures but had no other impact on our unaudited condensed consolidated financial statements.
In January 2017, the FASB issued ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment. The amendments eliminate Step 2 from the goodwill impairment test. The annual, or interim, goodwill impairment test is performed by comparing the fair value of a reporting unit to its carrying amount. An impairment charge should be recognized for the amount by which the carrying amount exceeds the reporting unit’s fair value; however, the loss recognized should not exceed the total amount of goodwill allocated to that reporting unit. In addition, income tax effects from any tax-deductible goodwill on the carrying amount of the reporting unit should be considered when measuring the goodwill impairment loss, if applicable. The amendments eliminate the requirements for any reporting unit with a zero or negative carrying amount to perform a qualitative assessment, and if it fails that qualitative test, to perform Step 2 of the goodwill impairment test. An entity still has the option to perform the qualitative assessment for a reporting unit to determine if the quantitative impairment test is necessary. We adopted the standard in the first quarter of 2020 using a prospective approach. The adoption required certain additional disclosures but had no impact on our unaudited condensed consolidated financial statements.
In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (Topic 820): Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement. The primary focus of the standard is to improve the effectiveness of the disclosure requirements for fair value measurements. The changes affect all companies that are required to include fair value measurement disclosures. The standard requires the use of the prospective method of transition for disclosures related to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop fair value measurements categorized within Level 3 of the fair value hierarchy, and narrative description of measurement uncertainty. All other amendments in the standard are required to be adopted retrospectively. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.
In November 2018, the FASB issued ASU 2018-18, Collaborative Arrangements (Topic 808): Clarifying the Interaction Between Topic 808 and Topic 606. ASU 2018-18 provides guidance on how to assess whether certain transactions between collaborative arrangement participants should be accounted for within the revenue recognition standard. The standard also provides more comparability in the presentation of revenue for certain transactions between collaborative arrangement participants. The standard is to be applied retrospectively to the date of the initial application of Topic 606 which also requires recognition of the cumulative effect of applying the amendments as an adjustment to the opening balance of retained earnings
15


of the later or the earliest annual period presented and the annual period inclusive of the initial application of Topic 606. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.
Recently issued accounting pronouncements not yet adopted
From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the impact of recently issued standards that are not yet effective will not have a material impact on our unaudited condensed consolidated financial statements upon adoption.
In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes. The standard is effective for fiscal years, and interim periods within those years, beginning after December 15, 2020, with early adoption permitted. The standard will be adopted upon the effective date for us beginning January 1, 2021. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.
In March 2020, the FASB issued ASU 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities. The standard may be adopted as of any date from the beginning of an interim period that includes or is subsequent to March 12, 2020 through December 31, 2022. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.

Note 3. Revenue Recognition
Disaggregation of Revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada and Latin America), EMEA (Europe, Middle East and Africa), and APAC (Australia, New Zealand, Southeast Asia and China).
Segment information is as follows (in thousands):
Three months ended September 30, 2020Three months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$8,401 $ $8,401 $10,351 $ $10,351 
Research and development revenue4,604 5,380 9,984 10,073 1,482 11,555 
Total revenues$13,005 $5,380 $18,385 $20,424 $1,482 $21,906 
Primary geographical markets:
Americas
$3,209 $2,632 $5,841 $2,706 $ $2,706 
EMEA
2,141 2,748 4,889 10,723 1,482 12,205 
APAC
7,655  7,655 6,995  6,995 
Total revenues$13,005 $5,380 $18,385 $20,424 $1,482 $21,906 

16


Nine months ended September 30, 2020Nine months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$18,005 $ $18,005 $24,588 $ $24,588 
Research and development revenue13,380 16,638 30,018 16,512 8,708 25,220 
Total revenues$31,385 $16,638 $48,023 $41,100 $8,708 $49,808 
Primary geographical markets:
Americas$7,381 $10,591 $17,972 $9,620 $ $9,620 
EMEA8,128 6,047 14,175 15,964 8,708 24,672 
APAC15,876  15,876 15,516  15,516 
Total revenues$31,385 $16,638 $48,023 $41,100 $8,708 $49,808 

Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
September 30, 2020December 31, 2019
Contract Assets$975 $1,027 
Unbilled receivables$14,985 $10,099 
Contract Costs$130 $ 
Contract Liabilities: Deferred Revenue$4,056 $2,044 

We had no asset impairment charges related to contract assets in the three and nine months ended September 30, 2020 and 2019.
During the nine months ended September 30, 2020, decreases in contract assets were primarily due to contract assets that were subsequently invoiced as our right to consideration for goods and services became unconditional. Increases in unbilled receivables were primarily due to the timing of billings. The increase in deferred revenue were primarily due to cash advances received in excess of revenue recognized.
During the three and nine months ended September 30, 2020 and 2019, we recognized the following revenues (in thousands):
Three months ended September 30,Nine months ended September 30,
2020201920202019
Amounts included in contract liabilities at the beginning of the period:
     Performance obligations satisfied$708 $5,092 $58 $4,948 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods233 2,641 854 2,460 
Performance obligations satisfied from new activities in the period - contract revenue17,444 14,173 47,111 42,400 
Total revenues$18,385 $21,906 $48,023 $49,808 

Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations
17


that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2020.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts (in thousands):
Remainder of 202020212022 and ThereafterTotal
Product Revenue$ $364 $1,623 $1,987 
Research and development revenue558 1,012 499 2,069 
Total revenues$558 $1,376 $2,122 $4,056 

Note 4. Net income (loss) per Share
Basic net income (loss) per share is computed by dividing the net income (loss) by the weighted-average number of shares of common stock outstanding, less restricted stock awards ("RSAs") subject to forfeiture. Diluted net income (loss) per share is computed by dividing net income (loss) by the weighted-average number of shares of common stock outstanding, less RSAs subject to forfeiture, plus all additional common stock shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities. For periods of net loss, diluted and basic net loss per share are identical since potential common stock shares are excluded from the calculation, as their effect was anti-dilutive.
The following table sets forth the computation of basic and diluted net income (loss) per share during the three and nine months ended September 30, 2020 and 2019 (in thousands, except per share amounts):
Three months ended September 30,Nine months ended September 30,
2020201920202019
Numerator:
Net income (loss)(6,094)343 (20,090)(11,300)
Denominator:
Weighted average common stock shares used in computing net income (loss) per share, basic59,061 58,287 58,984 55,818 
Effect of dilutive shares 3,125   
Weighted average common stock shares used in computing net income (loss) per share, diluted59,061 61,412 58,984 55,818 
Net income (loss) per share, basic$(0.10)$0.01 $(0.34)$(0.20)
Net income (loss) per share, diluted$(0.10)$0.01 $(0.34)$(0.20)

Anti-Dilutive Securities
The following shares were not considered in the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):
 Three months ended September 30,Nine months ended September 30,
 2020201920202019
Shares issuable under the Equity Incentive Plan5,1821,0195,1825,623

18


Note 5. Collaborative Arrangements
GSK Platform Technology Transfer, Collaboration and License Agreement
In July 2014, we entered into a CodeEvolver® protein engineering platform technology transfer collaboration and license agreement (the "GSK CodeEvolver® Agreement") with GlaxoSmithKline ("GSK"). Pursuant to the terms of the agreement, we granted GSK a non-exclusive license to use the CodeEvolver® protein engineering platform technology to develop novel enzymes for use in the manufacture of GSK's pharmaceutical and health care products.
We received an upfront fee upon the execution of the agreement in July 2014 and milestone payments in each of the years from 2014 through April 2016. We completed the transfer of the CodeEvolver® protein engineering platform technology to GSK in April 2016 and all revenues relating to the technology transfer have been recognized as of April 2016. We have the potential to receive additional cumulative contingent payments that range from $5.75 million to $38.5 million per project based on GSK’s successful application of the licensed technology. We are also eligible to receive royalties based on net sales of GSK's sales of licensed enzyme products that are currently not being recognized.
In 2019, we received a $2.0 million milestone payment on the advancement of an enzyme developed by GSK using our CodeEvolver® protein engineering platform technology. We recognized no research and development revenue for the three and nine months ended September 30, 2020 compared to $2.0 million for the three and nine months ended September 30, 2019.
Merck Platform Technology Transfer and License Agreement
In August 2015, we entered into a CodeEvolver® platform technology transfer collaboration and license agreement (the "Merck CodeEvolver® Agreement") with Merck, Sharp & Dohme ("Merck") which allows Merck to use the CodeEvolver® protein engineering technology platform in the field of human and animal healthcare.
We received an up-front license fee upon execution of the Merck CodeEvolver® Agreement, and milestone payments in September 2015 and in September 2016, when we completed the transfer of the engineering platform technology.
We have the potential to receive payments of up to a maximum of $15.0 million for each commercial active pharmaceutical ingredient ("API") that is manufactured by Merck using one or more novel enzymes developed by Merck using the CodeEvolver® protein engineering technology platform. The API payments, which are currently not recognized in revenue, are based on the quantity of API developed and manufactured by Merck and will be recognized as usage-based royalties.
In January 2019, we entered into an amendment to the Merck CodeEvolver® Agreement to install certain CodeEvolver® protein engineering technology upgrades into Merck’s platform license installation and maintain those upgrades for a multi-year term. The license installation was completed in 2019 and we recognized $0.1 million and $1.0 million in the three and nine months ended September 30, 2019 as a license fee revenue accordingly under the amendment. Pursuant to the agreement, Merck has options to future technology enhancements for a specified fee. As of September 30, 2020, Merck has not exercised its option for technology enhancements.
We recognized research and development revenues of $1.1 million and $2.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.1 million and $4.0 million for the three and nine months ended September 30, 2019, respectively, under the Merck CodeEvolver® Agreement.
Merck Sitagliptin Catalyst Supply Agreement
In February 2012, we entered into a five-year Sitagliptin Catalyst Supply Agreement (“Sitagliptin Catalyst Supply Agreement”) with Merck whereby Merck may obtain commercial scale enzyme for use in the manufacture of Januvia®, its product based on the active ingredient sitagliptin. In December 2015, Merck exercised its option under the terms of the sitagliptin Catalyst Supply Agreement to extend the agreement for an additional five years through February 2022.
Effective as of January 2016, we and Merck amended the Sitagliptin Catalyst Supply Agreement to prospectively provide for variable pricing based on the cumulative volume of sitagliptin catalyst purchased by Merck and to allow Merck to purchase a percentage of its requirements for sitagliptin catalyst from a specified third-party supplier. Merck received a distinct, functional license to manufacture a portion of its demand beginning January 1, 2018, which we recognized as research and development revenue.
We have determined that the variable pricing, which provides a discount based on the cumulative volume of sitagliptin catalyst purchased by Merck, provides Merck material rights and we are recognizing product revenues using the alternative
19


method. Under the alternative approach, we estimate the total expected consideration and allocate it proportionately with the expected sales.
The Sitagliptin Catalyst Supply Agreement requires Merck to pay an annual fee for the rights to the sitagliptin technology each year for the term of the Sitagliptin Catalyst Supply Agreement. Amounts of annual license fees are based on contractually agreed prices and are on a declining scale over the term of the contract.
Pursuant to the terms of the Sitagliptin Catalyst Supply Agreement, Merck may purchase supply from us for a fee based on contractually stated prices. We recognized revenue of $3.2 million and $7.0 million for the three and nine months ended September 30, 2020, respectively, compared to $3.6 million and $11.4 million in the three and nine months ended September 30, 2019, respectively, in product revenue under this agreement.
Enzyme Supply Agreement
In November 2016, we entered into a supply agreement whereby our customer may purchase quantities of one of our proprietary enzymes for use in its commercial manufacture of a product. Pursuant to the supply agreement, we received an upfront payment in December 2016 which was recorded as deferred revenues. Such upfront payment will be recognized over the period of the supply agreement as the customer purchases our proprietary enzyme. We additionally have determined that the volume discounts under the supply agreement provides the customer material rights and we are recognizing revenues using the alternative method. As of September 30, 2020 and December 31, 2019, we had deferred revenue balances from the supply agreement of $2.0 million. 
Global Development, Option and License Agreement; Strategic Collaboration Agreement; Development Agreement
In October 2017, we entered into a Global Development, Option and License Agreement (the “Nestlé Agreement”) with Société des Produits Nestlé (formerly known as Nestec Ltd.) (“Nestlé Health Science”) and, solely for the purpose of the integration and the dispute resolution clauses of the Nestlé Agreement, Nestlé Health Science S.A., to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU.
We received an upfront cash payment of $14.0 million in 2017 upon the execution of the Nestlé Agreement, a $4.0 million milestone payment after dosing the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114, and a $1.0 million milestone payment upon achievement of a milestone relating to formulation of CDX-6114. The $4.0 million milestone payment that was triggered by the initiation of the trial was received in 2018 and the $1.0 million milestone payment that was triggered by the achievement of a formulation relating to CDX-6114 was received in February 2019. The upfront payment and the variable consideration relating to the progress payment of $4.0 million and milestone payment of $1.0 million were recognized over time as the development work was performed. Revenue was recognized using a single measure of progress that depicted our performance in transferring control of the services, which was based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete all performance obligations under the agreement. We recognized nominal research and development revenue for the three and nine months ended September 30, 2020, respectively, compared to $0.1 million and $1.8 million for the three and nine months ended September 30, 2019, respectively.
In January 2019, we received notice from the FDA that it had completed its review of our investigational new drug application ("IND") for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU and paid us $3.0 million which we recognized as research and development revenue in 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114 was substantially completed in the fourth quarter of 2019. Other potential payments from Nestlé Health Science to us under the Nestlé Agreement include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the middle single digits to low double-digits, of net sales of product.
In October 2017, we also entered into a Strategic Collaboration Agreement (the “Strategic Collaboration Agreement”) with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® protein engineering technology platform to develop novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. Under the Strategic Collaboration Agreement, we received an upfront payment of $1.2 million in 2017 and an incremental payment of $0.6 million in September 2018 for additional services. The Strategic Collaboration Agreement has been extended through December 2021.
20


In January 2020, we entered into a development agreement with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies.
Under the Strategic Collaboration Agreement and development agreement, we recognized research and development fees of $2.8 million and $6.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.4 million and $3.9 million in the three and nine months ended September 30, 2019, respectively.
Strategic Collaboration Agreement
In April 2018, we entered into the Porton Agreement with Porton to license key elements of our biocatalyst technology for use in Porton’s global custom intermediate and API development and manufacturing business. Under the Porton Agreement, we are eligible to receive annual collaboration fees and research and development revenues. We received an initial collaboration fee of $0.5 million within 30 days of the effective date of the Porton Agreement, $1.5 million upon the first anniversary of the effective date of the agreement, and $1.0 million upon the second anniversary of the effective date of the agreement and we are eligible to receive $1.0 million on the third anniversary of the effective date of the agreement. We completed the technical transfer in the fourth quarter of 2018 and recognized $2.8 million in research and development revenue. We recognized revenue related to the functional license provided to Porton at a point in time when control of the license was transferred to the customer. We recognized research and development revenue related to the Porton Agreement of nil and $1.1 million in the three and nine months ended September 30, 2020, respectively, and no revenue in the three and nine months ended September 30, 2019. As of September 30, 2020 and December 31, 2019, we had deferred revenue balances related to the strategic collaboration agreement of $0.1 million and nil, respectively. 
Platform Technology Transfer and License Agreement
In May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis Pharma AG (“Novartis”). The Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare. Under the Novartis CodeEvolver® Agreement, we are transferring our proprietary CodeEvolver® protein engineering platform technology to Novartis over approximately 23 months, starting with the date on which we commenced the technology transfer (the “Technology Transfer Period”). As a part of this technology transfer, the Company provided to Novartis our proprietary enzymes, proprietary protein engineering protocols and methods, and proprietary software algorithms. In addition, teams of the Company and Novartis scientists participated in technology training sessions and collaborative research projects at our laboratories in Redwood City, California and at a designated Novartis laboratory in Basel, Switzerland. Upon completion of technology transfer, Novartis will have the CodeEvolver® protein engineering platform technology installed at its designated laboratory.
Pursuant to the agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver® Agreement. In the second quarter of 2020, we completed the second technology milestone transfer under the agreement and became eligible to receive a milestone payment of $4.0 million, which we subsequently received in July 2020. We are eligible to receive an additional $5.0 million upon satisfactory completion of the third technology transfer milestone. In consideration for the continued disclosure and license of improvements to our technology and materials during a multi-year period that begins on the conclusion of the Technology Transfer Period, Novartis will pay us annual payments which amount to an additional $8.0 million. The Company also has the potential to receive quantity-dependent, usage payments for each API that is manufactured by Novartis using one or more enzymes that have been developed or are in development using the CodeEvolver® protein engineering platform technology during the period that begins on the conclusion of the Technology Transfer Period and ends on the expiration date of the last to expire licensed patent. These product-related usage payments, if any, will be paid by Novartis to us for each quarter that Novartis manufactures API using a CodeEvolver®-developed enzyme. The usage payments will be based on the total volume of API produced using the CodeEvolver®-developed enzyme. These usage payments can begin in the clinical stage and will extend throughout the commercial life of each API. Revenue for the combined initial license and technology transfer performance obligation, which is expected to occur over twenty-three months, is being recognized using a single measure of progress that depicts our performance in transferring control of the services, which is based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete the performance obligation relating to the combined initial license and technology transfer. Revenue allocated to future improvements will be recognized during the Improvement Term. We recognized $0.9 million and $4.1 million in research and development revenue for the three and nine months ended September 30, 2020, respectively, compared to $3.8 million in revenue for the three and nine months ended September 30, 2019 from the Novartis CodeEvolver® Agreement.
21


License Agreement
In December 2019, we entered a license agreement with Roche Sequencing Solutions, Inc. (“Roche”) to provide Roche with our EvoT4 DNA™ ligase high-performance molecular diagnostic enzyme. The royalty bearing license grants Roche worldwide rights to include the EvoT4 DNA™ ligase in its nucleic acid sequencing products and workflows. Under the license agreement, we received an initial collaboration fee payment within 45 days of the effective date of the agreement and we are eligible to receive an additional milestone within 60 days after the completion of technology transfer. The agreement also contemplates milestone payments to the Company upon the achievement of various development and commercialization events and royalty payments from commercial sales of the enzyme. We recognized research and development fees of $0.1 million and $0.9 million for the three and nine months ended September 30, 2020, respectively.
Strategic Collaboration and License Agreement
In March 2020, we entered into a Strategic Collaboration and License Agreement (the “Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Co. Ltd. (“Takeda”) under which we will research and develop protein sequences for use in gene therapy products for certain diseases (each, a “Field”) in accordance with each applicable program plan (each, a “Program Plan”).
In March 2020, we received an up-front nonrefundable cash payment of $8.5 million and we initiated activities under three Program Plans for Fabry Disease, Pompe Disease, and an unnamed blood factor deficiency respectively (the “Initial Programs”). We are primarily responsible for the research and development of protein sequences under the Program Plans (the “Protein Sequences”) and we are eligible to earn $18.3 million of research and development fees and pre-clinical milestone payments for the Initial Programs. Takeda has the right, but not the obligation, to develop, manufacture and commercialize gene therapy products that include nucleic acid sequences that encode the Protein Sequences (“Products”) at their expense. Takeda has the right to a certain number of additional disease indications (“Reserved Target Indications”) for a limited period in which Takeda may initiate a Program Plan for one or more Reserved Target Indications (“Additional/Option Program,” with Initial Programs, the “Programs”), provided, (a) if Takeda elects to initiate an Additional/Option Program while the parties are collaborating on three other Programs at the time of such election, or (b) if Takeda elects to initiate an Additional/Option Program using the last remaining Reserved Target Indication, then Takeda must pay us an option exercise fee to initiate such Additional/Option Program. We will own all rights to the Protein Sequences and corresponding nucleic acid sequences and related intellectual property rights and Takeda will own all rights to Products and related intellectual property rights.
We granted to Takeda an exclusive, worldwide, royalty-bearing, sublicensable license to use the Protein Sequences and their corresponding nucleic acid sequences to develop, manufacture and commercialize the applicable Products in the applicable Field. We also granted to Takeda a limited non-exclusive, worldwide, sublicensable license (a) to research the Protein Sequences within or outside the applicable Fields and (b) to research the Products outside of the applicable Fields, which such rights exclude Takeda's right to perform any Investigational New Drug-enabling activities. The licenses to research the Protein Sequences expire after a pre-determined period of time.
The term of the Takeda Agreement begins on the Effective Date and continues on a Product-by-Product and country-by-country basis, until the expiration of Takeda’s obligation to pay royalties to the Company with respect to that Product in that country. The Takeda Agreement expires in its entirety upon the expiration of Takeda’s obligation to pay royalties to the Company with respect to the Products in all countries worldwide. Subject to the terms of the Takeda Agreement, and after the first anniversary of the Effective Date with respect to the Initial Programs or after the first anniversary of confirmation of the applicable Program Plan by the parties with respect to the Additional/Option Programs, Takeda may terminate a Program upon specified prior written notice to the Company. Subject to the terms of the Takeda Agreement, Takeda may terminate the Takeda Agreement, at will, on a Product-by-Product basis upon specified prior written notice to the Company and the Takeda Agreement in its entirety upon specified prior written notice to the Company. Subject to the terms of the Takeda Agreement, Takeda may terminate the Takeda Agreement on a Product-by-Product basis for safety reasons upon specified prior written notice to the Company. Either party may terminate the Takeda Agreement for an uncured material breach by the other party, or the other party’s insolvency or bankruptcy.
We are eligible to receive certain development and commercialization milestone payments up to $100.0 million per target gene, the modulation of which would lead to the treatment of the disease indications by the applicable Product. We are also eligible to receive tiered royalties based on net sales of Products at percentages ranging from the middle-single digits to low single-digits. We recognized research and development revenue related to the Takeda Agreement of $2.6 million and $10.6 million in the three and nine months ended September 30, 2020, respectively. As of September 30, 2020, we had a deferred revenue balance of $1.9 million from Takeda.
22


Master Collaboration and Research Agreement and Stock Purchase Agreement
In June 2020, we entered into a Stock Purchase Agreement with Molecular Assemblies, Inc. ("MAI") pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million in connection with the transaction, our chief executive officer, John Nicols, also joined MAI’s board of directors.
At the same time, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with MAI to engineer DNA polymerase enzymes to deliver differentiated and cost-effective solutions for the enzymatic synthesis of DNA. Under the MAI Agreement and its related statement of work (“SOW”), we will apply our CodeEvolver® protein engineering platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Based on these services, the Company is eligible to earn additional shares of MAI's Series A preferred stock. MAI will combine its advanced chemistries with our enzymes to drive the process to commercialization. Under the MAI Agreement and its associated SOW, we will engage in research and development activities to engineer DNA polymerase enzymes for the enzymatic synthesis of DNA in exchange for monthly fees in the form of shares of Series A preferred stock in MAI. We are eligible to earn such non-monetary payments over ten to thirteen months, and any such shares would be issued thirty days in arrears after each calendar quarter-end. We are also eligible to receive amounts for bonuses, targets and milestones on achievement of timeline and project goals specified in the SOW. Payments for bonuses, targets and milestones on achievement of timeline and project goals are to be issued thirty days after the Company provides notification of completion. We did not receive any shares of MAI's Series A preferred stock based on services provided in the nine months ended September 30, 2020. Under the MAI Agreement, we will have the right to use and sell the engineered enzymes to third parties for any purpose other than for the synthesis of native DNA. Under the MAI Agreement, we would make a $0.5 million payment to MAI upon our achievement of a milestone of $5.0 million in aggregate commercial sales to third parties of the engineered enzymes or any product incorporating or derived from the engineered enzymes for any purpose other than the synthesis of native DNA. The MAI Agreement contemplates that we and MAI will enter into a Commercialization and Enzyme Supply Agreement (the “CESA”) within six months following the completion of certain timelines specified in the SOW. In addition, we and MAI have agreed pursuant to the MAI Agreement to certain terms to be contained within the CESA in the event that the CESA becomes executed in the future. Those include: (a) that MAI would receive an exclusive license to use the DNA polymerase enzymes engineering by us under the MAI Agreement in the synthesis of native DNA and a non-exclusive license to use these enzymes for research and development on the synthesis of non-native DNA, and (b) we would become the exclusive manufacturer of these enzymes for MAI, its affiliates and licensees.
We recognized $0.5 million in research and development revenue in the three and nine months ended September 30, 2020 from transactions with MAI. At September 30, 2020, we had $0.5 million of financial assets due from MAI. Payment for the services was subsequently received in form of additional Series A preferred stock of MAI in October.

Note 6. Cash Equivalents and Equity Securities
Cash equivalents at September 30, 2020 and December 31, 2019 consisted of the following (in thousands):
 September 30, 2020December 31, 2019
 Adjusted CostEstimated
Fair Value
Adjusted CostEstimated Fair Value
Money market funds (1)
$51,488 $51,488 $71,248 $71,248 
(1) Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets.

As of September 30, 2020, the total cash and cash equivalents balance of $71.5 million was comprised of money market funds of $51.5 million and cash of $20.0 million held with major financial institutions worldwide. As of December 31, 2019, the total cash and cash equivalents balance of $90.5 million was comprised of money market funds of $71.2 million and cash of $19.3 million held with major financial institutions worldwide.
Investment in Equity Securities
No single investor in MAI holds 20% or more of the voting stock. Our investment represented approximately 4% of MAI's voting stock at the time of the transaction. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We recorded no impairments or upward adjustments due to observable price changes in the investment in the three and nine months ended
23


September 30, 2020. The carrying amount of the investment was $1.0 million at September 30, 2020. For additional information, see Note 12, "Related Party Transactions."

Note 7. Fair Value Measurements
The following tables present the financial instruments that were measured at fair value on a recurring basis at September 30, 2020 and December 31, 2019 by level within the fair value hierarchy (in thousands):

 September 30, 2020
 Level 1Level 2Level 3Total
Money market funds $51,488 $— $— $51,488 

 December 31, 2019
 Level 1Level 2Level 3Total
Money market funds$71,248 $— $— $71,248 

Note 8. Balance Sheets Details
Inventories
Inventories consisted of the following (in thousands):
September 30, 2020December 31, 2019
Raw materials$77 $7 
Work-in-process28 26 
Finished goods632 338 
    Inventories$737 $371 

Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
September 30, 2020December 31, 2019
Laboratory equipment$24,837 $23,561 
Leasehold improvements10,774 10,804 
Computer equipment and software3,134 3,016 
Office equipment and furniture1,175 1,461 
Construction in progress602 691 
Property and equipment40,522 39,533 
       Less: accumulated depreciation and amortization(33,233)(33,251)
     Property and equipment, net$7,289 $6,282 

Goodwill
Goodwill had a carrying value of approximately $3.2 million as of September 30, 2020 and December 31, 2019.
24



Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
September 30, 2020December 31, 2019
Accrued purchases $3,810 $4,386 
Accrued professional and outside service fees3,142 1,802 
Other618 352 
     Total$7,570 $6,540 

Note 9. Stock-based Compensation
Equity Incentive Plans
In June 2019, our board of directors (the "Board") and stockholders approved the 2019 Incentive Award Plan (the "2019 Plan"). The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder. 
The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, restricted stock units ("RSUs"), restricted stock awards ("RSAs"), performance-contingent restricted stock units ("PSUs"), performance based options ("PBOs"), stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants.
The number of shares of our common stock available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”).
The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.
Stock Options
The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of 10 years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.
Restricted Stock Units (RSUs)
We also grant employees RSUs, which generally vest over either a three year period with one-third of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.
25


Performance-contingent Restricted Stock Units (PSUs) and Performance Based Options (PBOs)
We also grant our executives and our non-executive employees PSUs, and we grant our executives PBOs. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs.
In the first half of 2020, we awarded PSUs ("2020 PSUs") and PBOs ("2020 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancements of biotherapeutics pipeline, safety and technology development. As of September 30, 2020, we estimated that the 2020 PSUs and 2020 PBOs performance goals would be achieved at 100% of the target level, and recognized expenses accordingly.
In 2019, we awarded PSUs ("2019 PSUs") and PBOs ("2019 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancement of biotherapeutics, cash balance and strategic plan development. In the first quarter of 2020, we determined that the 2019 PSUs and 2019 PBOs performance goals had been achieved at 106% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2020 and 50% of the shares underlying the 2019 PSUs and PBOs will vest in the first quarter of 2021, in each case subject to the recipient’s continued service on each vesting date.
In 2018, we awarded PSUs ("2018 PSUs") and PBOs ("2018 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including core business revenue growth, cash balance, new licensing collaborations, new research and development service revenue arrangements, technology advancement and novel therapeutic enzymes advancement. In the first quarter of 2019, we determined that the 2018 PSUs and 2018 PBOs performance goals had been achieved at 118% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2018 PSUs and PBOs vested in the first quarter of 2019 and 50% of the shares underlying the 2018 PSUs and PBOs vested in the first quarter of 2020, in each case subject to the recipient’s continued service on each vesting date.
Stock-Based Compensation Expense
Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
 2020201920202019
Research and development $385 $458 $1,279 $1,249 
Selling, general and administrative1,599 1,274 4,813 4,534 
   Total$1,984 $1,732 $6,092 $5,783 

The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations for the three and nine months ended September 30, 2020 and 2019 (in thousands):
26


 Three Months Ended September 30,Nine months ended September 30,
 2020201920202019
Stock options$619 $545 $1,735 $1,680 
RSUs and RSAs603 461 1,812 1,308 
PSUs295 368 922 1,075 
PBOs467 358 1,623 1,720 
   Total$1,984 $1,732 $6,092 $5,783 

In June 2020, we granted an option to purchase 60,000 shares of common stock to a non-employee as compensation for services. The estimated fair value of the grant was valued at $0.3 million using the Black-Scholes-Merton option pricing model with the following assumptions used to estimate the fair value of non-employee stock options: (i) volatility rate at 51.9%, (ii) risk-free interest rate of 0.4% and (iii) no expected dividend yield. The option vests over 2 years from the date of grant with 50% vesting after one year and the remaining 50% vesting monthly in the second year. In August 2020, we granted an option to purchase 16,000 shares of common stock to a non-employee as compensation for services. The estimated fair value of the grant was valued at $0.1 million using the Black-Scholes-Merton option pricing model with the following assumptions used to estimate the fair value of non-employee stock options: (i) volatility rate at 50.5%, (ii) risk-free interest rate of 0.3% and (iii) no expected dividend yield. The option vests over 1 year with 100% on the first anniversary of the grant date. We recognized stock-based compensation expense related to the non-employees of $43 thousand and $47 thousand for the three and nine months ended September 30, 2020, respectively.
As of September 30, 2020, unrecognized stock-based compensation expense, net of expected forfeitures, was $4.2 million related to unvested employee stock options, $0.3 million related to unvested non-employee stock options, $2.3 million related to unvested RSUs and RSAs, $0.8 million related to unvested PSUs, and $1.3 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through the year of 2024.

Note 10. Capital Stock
Exercise of Options
For the nine months ended September 30, 2020 and September 30, 2019, we issued 87,240 and 970,256 shares, respectively, upon option exercises at a weighted-average exercise price of $6.17 and $4.76 per share, respectively, with net cash proceeds of $0.5 million and $4.6 million, respectively.
Private Offering
In June 2019, we entered into a Securities Purchase Agreement with an affiliate of Casdin pursuant to which we issued and sold to Casdin 3,048,780 shares of our common stock at a purchase price of $16.40 per share. After deducting legal fees of $74 thousand from the Private Offering, our net proceeds were $49.9 million.
The Private Offering was exempt from registration pursuant to the exemption for transactions by an issuer not involving any public offering under Section 4(a)(2) the Securities Act, and Regulation D under the Securities Act.

Note 11. Commitments and Contingencies
Operating Leases
Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in four buildings within the same business park of Metropolitan Life Insurance Company ("MetLife"). Our lease (“Lease”) with MetLife includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “Penobscot Space”), approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “Building 2 Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”).
27


Until January 31, 2020, we also leased approximately 29,900 square feet of space located at 101 Saginaw Drive, Redwood City, California (the “Saginaw Space”). During the period January 1, 2020 through January 31, 2020, we subleased approximately 26,500 square feet of the Saginaw Space to Minerva Surgical, Inc. The lease and sublease for the Saginaw Space both expired at the end of January 2020. During the period from February 1, 2020 through April 30, 2020, we subleased approximately 3,400 square feet of the Saginaw Space from Minerva Surgical, Inc. The sublease expired at the end of April 2020.
We entered into the initial lease with MetLife for a portion of this space in 2004 and the lease has been amended multiple times since then to adjust space and terms of the lease ("Lease"). In February 2019, we entered into an Eighth Amendment to the Lease ( the “Eighth Amendment”) with MetLife with respect to the Penobscot Space, the Building 2 Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space and the Building 2 Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have two consecutive options to extend the term of the lease for the Penobscot Space, the Building 2 Space and the 501 Chesapeake Space for an additional period of five years per option.
We are required to restore certain areas of the Redwood City facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.2 million as of September 30, 2020 and December 31, 2019, which are included in other liabilities on the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal.
Pursuant to the terms of the Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of September 30, 2020 and December 31, 2019, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.
Finance Leases
In December 2016, we entered into a three-year financing lease agreement with a third party supplier for the purchase of laboratory equipment that was partially financed through a finance lease of approximately $0.4 million. The lease became effective upon delivery of the equipment in February 2017, and term of the three-year lease was from February 2017 and expired in February 2020. This financing agreement was accounted for as a finance lease due to bargain purchase options at the end of the lease. In April 2017, we entered into a three-year financing lease agreement with a third-party supplier for the purchase of information technology equipment for approximately $0.3 million. The effective term of the three-year lease was from May 2017 and expired in April 2020.
Lease Costs and other information
Lease related costs were as follows (in thousands):
Three months ended September 30,Nine months ended September 30,
 2020201920202019
Finance lease costs:
Amortization of right-of-use assets$27 $54 $126 $163 
Interest on lease obligations 2 1 8 
Finance lease costs27 56 127 171 
Operating lease cost1,033 1,139 3,133 3,417 
Short-term lease cost (1)
  47  
Sublease income (262)(55)(727)
Total lease cost$1,060 $933 $3,252 $2,861 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
Other information related to non-cancellable finance leases and operating leases as of September 30, 2020 was as follows:
Operating Leases
Weighted-average remaining lease term (in years)6.9 years
Weighted-average discount rate6.6 %

28


Cash paid for amounts included in the measurement of lease obligations was as follows (in thousands):
Nine months ended September 30,
20202019
Operating cash flows from operating leases$1,795 $2,456 
Operating cash flows from finance leases$ $9 
Financing cash flows from finance leases$60 $180 

As of September 30, 2020, our maturity analysis of annual undiscounted cash flows of the non-cancellable finance and operating leases are as follows (in thousands):
Years ending December 31,Operating Leases
2020 (remaining 3 months)$1,022 
20214,197 
20224,285 
20234,589 
20244,726 
2025 and thereafter13,494 
Total minimum lease payments32,313 
Less: imputed interest(6,758)
Lease Obligations$25,555 
Other Commitments
We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.
The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Other Commitment Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$532 
Development and manufacturing services agreementsSeptember 20193,806 
Strategic Collaboration and License AgreementMarch 2020520 
Total other commitments$4,858 
Credit Facility
In June 30, 2017, we entered into a credit facility (the “Credit Facility”) consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. At September 30, 2020 and December 31, 2019, we have not drawn from the Credit Facility. We may draw on the Term Debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. On October 1, 2024 loans drawn under the Term Debt mature and the Revolving Line of Credit terminate. Loans made under the Term Debt bear interest through maturity equal to the greater of (i) 3.75% and (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the equal to the greater of (i) 4.25% and (ii) the sum of (A) the prime rate plus (B) 1.00%.
29


Our obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. The Credit Facility includes a number of customary covenants and restrictive financial covenants including meeting minimum product revenue levels and maintaining certain minimum cash levels with the lender. The Credit Facility's financial covenants restrict the ability of the Company to transfer collateral, incur additional indebtedness, engage in mergers or acquisitions, pay dividends or make other distributions, make investments, create liens, sell assets, or sell certain assets held at foreign subsidiaries. A failure to comply with these covenants could permit the lender to exercise remedies against us and the collateral securing the Credit Facility, including foreclosure of our properties securing the Credit Facilities and our cash. At September 30, 2020, we were in compliance with the covenants for the Credit Facility.
The Credit Facility allows for interest-only payments on the Term Debt through November 1, 2022. Monthly payments of principal and interest on the Term Debt are required following the applicable amortization date. We may elect to prepay in full the Term Debt and Advances under the Revolving Line of Credit at any time.
Legal Proceedings
We are not currently a party to any material pending litigation or other material legal proceedings.
Indemnifications
We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.
Impact of COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April in accordance with these Orders. In May 2020, we initiated limited R&D operations and have gradually ramped up operations such that we are currently utilizing the majority of our normal R&D capacity. Additionally, we have resumed small scale manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. As of the date of issuance of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain.

30


Note 12. Related Party
Molecular Assemblies, Inc.
In June 2020, we entered into a Stock Purchase Agreement with Molecular Assemblies, Inc (“MAI”) pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. In connection with the transaction, our chief executive officer, John Nicols, also joined MAI’s board of directors.

At the same time, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with MAI to engineer DNA polymerase enzymes to deliver differentiated and cost-effective solutions for the enzymatic synthesis of DNA. Under the MAI Agreement and its related statement of work (“SOW”), we will apply our CodeEvolver® protein engineering platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis.
Based on these services, we are eligible to earn additional Series A preferred stock of MAI contingent on the achievement of certain results and milestones. MAI will combine its advanced chemistries with our enzymes to drive the process to commercialization. Under the MAI Agreement and its associated SOW, we will engage in research and development activities to engineer DNA polymerase enzymes for the enzymatic synthesis of DNA and will receive monthly fees in the form of shares of Series A preferred stock in MAI. Such non-monetary payments will be earned over ten to thirteen months and issued thirty days in arrears after each calendar quarter-end. We are also eligible to receive amounts for bonuses, targets and milestones on achievement of timeline and project goals specified in the SOW. Payments for bonuses, targets and milestones on achievement of timeline and project goals are to be issued thirty days after the Company provides notification of completion. We did not receive any shares of MAI's Series A preferred stock based on services provided in the nine months ended September 30, 2020. Under the MAI Agreement, we will have the right to use and sell the engineered enzymes to third parties for any purpose other than for the synthesis of native DNA. Under the MAI Agreement, we would make a $0.5 million payment to MAI on meeting a milestone of $5.0 million in aggregate commercial sales by the Company to third parties of the engineered enzymes or any product incorporating or derived from the engineered enzymes for any purpose other than the synthesis of native DNA. The MAI Agreement contemplates that we and MAI will enter into a Commercialization and Enzyme Supply Agreement (the “CESA”) within six months following the completion of certain timelines specified in the SOW. In addition, we and MAI have agreed pursuant to the MAI Agreement to certain terms to be contained within the CESA in the event that the CESA becomes executed in the future. Those include: (a) that MAI would receive an exclusive license to use the DNA polymerase enzymes engineering by us under the MAI Agreement in the synthesis of native DNA and a non-exclusive license to use these enzymes for research and development on the synthesis of non-native DNA, and (b) that we would become the exclusive manufacturer of these enzymes for MAI, its affiliates and licensees.
We recognized $0.5 million in research and development revenue in the three and nine months ended September 30, 2020 from transactions with MAI. At September 30, 2020, we had $0.5 million of financial assets due from MAI. Payment for the services was subsequently received in the form of additional Series A preferred stock of MAI in October.
AstraZeneca PLC
Pam P. Cheng, who served as a member of our board of directors until June 2020, joined AstraZeneca PLC as Executive Vice President, Operations and Information Technology in June 2015. We sold biocatalyst products to AstraZeneca PLC and its controlled purchasing agents and contract manufacturers. We recognized $0.1 million of revenue in 2020 through the date of Ms. Cheng’s departure from our board of directors. We recognized $0.2 million and $0.6 million of revenue from transactions with AstraZeneca in the three and nine months ended September 30, 2019, respectively. At September 30, 2020 and December 31, 2019, we had no receivables from AstraZeneca.

Note 13. Segment, Geographical and Other Revenue Information
Segment Information
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the CODM, or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.
31


We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments.
We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment.
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Most notable is our lead program for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient.
We have also developed a pipeline of other biotherapeutic drug candidates, which are in preclinical development, and in which we expect to continue to make additional investments with the aim of advancing additional product candidates targeting other therapeutic areas. In March 2020 we entered into the Takeda Agreement with Takeda under which we will research and develop protein sequences for use in gene therapy products for certain diseases.
Factors considered in determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation.
Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.
32


The following tables provide financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):
Three months ended September 30, 2020Three months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$8,401 $— $8,401 $10,351 $— $10,351 
Research and development revenue4,604 5,380 9,984 10,073 1,482 11,555 
Total revenues13,005 5,380 18,385 20,424 1,482 21,906 
Costs and operating expenses:
Cost of product revenue3,642  3,642 5,067  5,067 
Research and development(1)
5,184 6,433 11,617 5,313 3,080 8,393 
Selling, general and administrative(1)
2,675 515 3,190 2,037 690 2,727 
Total segment costs and operating expenses11,501 6,948 18,449 12,417 3,770 16,187 
Income (loss) from operations$1,504 $(1,568)(64)$8,007 $(2,288)5,719 
Corporate costs (2)
(5,483)(4,912)
Depreciation and amortization(528)(471)
Income (loss) before income taxes$(6,075)$336 
(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.
Nine months ended September 30, 2020Nine months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$18,005 $— $18,005 $24,588 $— $24,588 
Research and development revenue13,380 16,638 30,018 16,512 8,708 25,220 
Total revenues31,385 16,638 48,023 41,100 8,708 49,808 
Costs and operating expenses:
Cost of product revenue7,882  7,882 12,230  12,230 
Research and development(1)
15,877 16,848 32,725 14,889 9,252 24,141 
Selling, general and administrative(1)
7,395 1,728 9,123 6,499 1,768 8,267 
Total segment costs and operating expenses31,154 18,576 49,730 33,618 11,020 44,638 
Income (loss) from operations$231 $(1,938)(1,707)$7,482 $(2,312)5,170 
Corporate costs (2)
(16,526)(15,185)
Depreciation and amortization(1,526)(1,273)
Loss before income taxes$(19,759)$(11,288)
(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.
33



The following tables provides stock-based compensation expense included in income (loss) from operations (in thousands):

Three months ended September 30,
20202019
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$839 $132 $1,013 $1,984 $736 $225 $771 $1,732 
Nine months ended September 30,
20202019
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,335 $625 $3,132 $6,092 $1,973 $563 $3,247 $5,783 
Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three Months Ended September 30,Nine Months Ended September 30,
2020201920202019
Customer A23%21%21%31%
Customer B15%*13%17%
Customer C*29%11%15%
Customer D14%*22%*
Customer E13%***
Customers that each accounted for 10% or more of accounts receivable had balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
September 30, 2020December 31, 2019
Customer A36%38%
Customer B28%10%
Customer D14%*
* Percentage was less than 10%
34


Geographical Information
Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
2020201920202019
Revenues
Americas$5,841 $2,706 $17,972 $9,620 
EMEA4,889 12,205 14,175 24,672 
APAC7,655 6,995 15,876 15,516 
Total revenues$18,385 $21,906 $48,023 $49,808 
Identifiable long-lived assets by location was as follows (in thousands):
Long-lived assetsSeptember 30, 2020December 31, 2019
United States$7,289 $6,282 
Identifiable goodwill was as follows (in thousands):
As of September 30, 2020 and December 31, 2019
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
Note 14. Allowance for Credit Losses
An analysis of the allowance for credit losses is as follows (in thousands):
Three and nine
months ended
September 30, 2020
Beginning Balance January 1, 2020$34 
Current period provision40 
Write-offs charged against the allowance 
Recoveries of amounts previously written off 
Ending Balance September 30, 2020$74 
The following tables below summarizes accounts receivable by aging category (in thousands):
September 30, 2020
31-60 Days61-90 Days91 days and overTotal over 31 daysCurrentTotal balance
Accounts receivable$160 $ $ $160 $10,551 $10,711 

December 31, 2019
31-60 Days61-90 Days91 days and overTotal over 31 daysCurrentTotal balance
Accounts receivable$185 $7 $65 $257 $8,806 $9,063 

35


ITEM 2.MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS
The following management's discussion and analysis of our financial condition and results of operations should be read in conjunction with the unaudited condensed consolidated financial statements and the related notes thereto included elsewhere in this Quarterly Report on Form 10-Q and the audited consolidated financial statements and notes thereto and management's discussion and analysis of financial condition and results of operations for the year ended December 31, 2019 included in our Annual Report on Form 10-K for the year ended December 31, 2019, as filed with the SEC on February 28, 2020 (the “Annual Report”). This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the "Exchange Act"). These statements include, but are not limited to, expectations regarding our strategy, business plans, financial performance and developments relating to our industry. These statements are often identified by the use of words such as “may,” “will,” “expect,” “believe,” “anticipate,” “intend,” “could,” “should,” “estimate,” or “continue,” and similar expressions or variations. Such forward-looking statements are subject to risks, uncertainties and other factors that could cause actual results and the timing of certain events to differ materially from future results expressed or implied by such forward-looking statements. Factors that could cause or contribute to such differences include, but are not limited to, those discussed in Part II, Item 1A: “Risk Factors” of this Quarterly Report on Form 10-Q and Part I, Item 1A: “Risk Factors” of our Annual Report, as incorporated herein and referenced in Part II, Item 1A: “Risk Factors" of this Quarterly Report on Form 10-Q and elsewhere in this report. The forward-looking statements in this Quarterly Report on Form 10-Q represent our views as of the date of this Quarterly Report on Form 10-Q. We anticipate that subsequent events and developments will cause our views to change. However, while we may elect to update these forward-looking statements at some point in the future, we have no current intention of doing so except to the extent required by applicable law. You should, therefore, not rely on these forward-looking statements as representing our views as of any date subsequent to the date of this Quarterly Report on Form 10-Q.


Business Overview
We discover, develop and sell proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast untapped source of value-creating materials, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel proteins, both as proprietary Codexis products and in partnership with our customers.
We are a pioneer in the harnessing of computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver® protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine our large and continuously growing library of protein variants’ performance attributes. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling delivery of targeted performance enhancements in a time-efficient manner. In addition to its computational prowess, our CodeEvolver® protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and process development which are all coordinated to create our novel protein innovations.
Our approach to developing commercially viable biocatalytic manufacturing processes begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized protein catalysts to enable that process design using our CodeEvolver® protein engineering platform technology. Engineered protein catalyst candidates many thousands for each protein engineering project are then rapidly screened and validated in high throughput screening under relevant manufacturing operating conditions. This approach results in an optimized protein catalyst enabling cost-efficient processes that typically are relatively simple to run in conventional manufacturing equipment. This also allows for the efficient technical transfer of our process to our manufacturing partners.
The successful embodiment of our CodeEvolver® protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those directly involved in practicing our CodeEvolver® protein engineering platform technology, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, fermentation process development and fermentation engineering. Our integrated, multi-disciplinary approach to biocatalyst and process development is a critical success factor for the Company.
36


We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, which remains a primary business focus. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also licensed our proprietary CodeEvolver® protein engineering technology platform to global pharmaceutical companies so that they may in turn use this technology to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis Pharma AG (“Novartis”). The Novartis CodeEvolver® Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare.
As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop protein catalysts and industrial enzymes for use in a wider set of industrial markets. These target industries consist of several large market verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances and agricultural chemicals. In addition, we are using our technology to develop enzymes for customers using next generation sequencing ("NGS") and polymerase chain reaction ("PCR/qPCR") for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. ("Roche") with our first enzyme for this target market, the Company's EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes.
We have also begun using the CodeEvolver® protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both for our customers and for our own business. Our first lead program was for the potential treatment of phenylketonuria ("PKU") in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we entered into the "Nestlé Agreement” with Nestlé Health Science to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. In January 2020, we entered a development agreement with Nestlé Health Science to advance a lead candidate, CDX-7108, into preclinical development and early clinical studies. CDX-7108 is the lead candidate for a potential treatment for a gastro-intestinal disorder. In parallel, the original Strategic Collaboration Agreement was extended through December 2021 to support the discovery of therapeutic candidates for additional disorders. In March 2020, we entered into a Strategic Collaboration and License Agreement (“Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Company Limited (“Takeda”), for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and blood factor deficiencies.
Business Segments
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics.
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Our first lead program was for the potential treatment of hyperphenylalaninemia (“HPA”) (also referred to as PKU) in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science, to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In July 2018, we announced that we had dosed the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114 for the potential treatment of
37


PKU. The initiation of the trial triggered a $4.0 million milestone payment from Nestlé Health Science. The $1.0 million milestone payment that was triggered by the achievement of a formulation relating to CDX-6114 was received in February 2019. In January 2019, we received notice from the U.S. Food and Drug Administration (the “FDA”) that it had completed its review of our investigational new drug application (“IND”) for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. As a result of the option exercise, we earned a milestone and recognized $3.0 million in revenues in the first quarter of 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114 was substantially completed in the fourth quarter of 2019.
In October 2017, we separately entered into a Strategic Collaboration Agreement with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® platform technology to develop other novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. In January 2020, we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies. The Strategic Collaboration Agreement was extended through December 2021.
In March 2020, we entered into the Takeda Agreement with Takeda pursuant to which we are collaborating to research and develop protein sequences for use in gene therapy products for certain disease indications in accordance with each applicable program plans for Fabry Disease, Pompe Disease, and an unnamed blood factor deficiency. In March 2020, we received a one-time, non-refundable cash payment of $8.5 million.
Using our CodeEvolver® protein engineering platform technology, we have also developed a pipeline of other biotherapeutic drug candidates, which are in preclinical development. We expect to continue to make additional investments in our pipeline with the aim of advancing additional product candidates targeting other therapeutic areas.
For further description of our business segments, see Note 13, "Segment, Geographical and Other Revenue Information" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
Business Update Regarding COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April in accordance with these Orders. In May 2020, we initiated limited R&D operations and have gradually ramped up operations such that we are currently utilizing the majority of our normal R&D capacity. Additionally, we have resumed small scale manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or
38


programs that we may undertake to address financial and operations challenges faced by our customers. The extent to which the COVID-19 pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain.
For additional information on the various risks posed by the COVID-19 pandemic, please read Item 1A. Risk Factors included in this Quarterly Report on Form 10-Q.

Results of Operations Overview
Total revenues decreased to $18.4 million for the third quarter of 2020 from $21.9 million for the third quarter of 2019, due to decreases in both research and development and product revenues.
Product revenue for the third quarter of 2020 decreased by $2.0 million to $8.4 million from $10.4 million for the third quarter of 2019 due to variability of customer demand for both generic and branded products.
Research and development revenue decreased by $1.6 million for the third quarter of 2020 to $10.0 million from $11.6 million in the third quarter of 2019, primarily due to lower revenues from Novartis under the Novartis CodeEvolver® Agreement and a prior year milestone payment from GSK under the GSK CodeEvolver® Agreement, partially offset by the recognition of license fees from Takeda under the Takeda Strategic Collaboration and License Agreement.
Product gross margins were 57% for the third quarter of 2020, compared to 51% in the third quarter of 2019, due to improved product mix. Our profit margins are affected by many factors including product pricing and costs of internal and third-party fixed and variable costs. Profit margin data are used as a management performance measure to provide additional information regarding our results of operations on a consolidated basis.
Research and development expense increased by $3.3 million, or 38%, to $12.0 million for the third quarter of 2020, compared to the third quarter of 2019, primarily due to an increase in costs associated with outside services relating to Chemistry, Manufacturing and Controls ("CMC") and regulatory expenses, higher headcount, and higher allocable expenses.
Selling, general and administrative expense increased by $0.9 million, or 12%, to $8.8 million for the third quarter of 2020 compared to the third quarter of 2019, primarily due to an increase in costs associated with headcount, consultants, facilities, outside services and insurance, partially offset by lower recruiting costs and lower allocable expenses.
Net loss for the third quarter of 2020 was $6.1 million, representing a net loss of $0.10 per basic and diluted share. This compares to net income of $0.3 million, representing net income of $0.01 per basic and diluted share for the third quarter of 2019. The increase in net loss for the third quarter over the same period of the prior year is primarily related to decreases in research and development and product revenues and higher research and development expenses.
Cash and cash equivalents decreased by $19.0 million to $71.5 million as of September 30, 2020 compared to $90.5 million as of December 31, 2019. Net cash used in operating activities increased to $15.0 million in the nine months ended September 30, 2020 compared to $8.9 million in the nine months ended September 30, 2019. We believe that based on our current level of operations, our existing cash and cash equivalents, along with available borrowings under the Credit Facility, will provide adequate funds for ongoing operations, planned capital expenditures and working capital requirements for at least the next 12 months.
In June 2017, we entered into a loan and security agreement that allows us to borrow up to $10.0 million under a term loan, and up to $5.0 million under a revolving credit facility with 80% of certain eligible accounts receivable as a borrowing base (the "Credit Facility"). Obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. In September 2020, we entered into an Eighth Amendment to the Credit Facility whereby we may draw on the term debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. Draws on the term debt are subject to customary conditions for funding including, among others, that no event of default exists. As of September 30, 2020, no amounts were borrowed under the Credit Facility and we were in compliance with the covenants for the Credit Facility. See Note 11, "Commitments and Contingencies" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
39


Below is an overview of our results of operations by business segments:
Performance Enzymes
Revenues decreased by $7.4 million, or 36%, to $13.0 million for the third quarter of 2020, compared to the third quarter of 2019.
Product gross margins were 57% in the third quarter of 2020, compared to 51% in the corresponding period in 2019.
Research and development expense decreased by $0.1 million, or 2%, to $5.2 million for the third quarter of 2020, compared to the third quarter of 2019, primarily due to an increase in costs associated with outside services relating to Chemistry, Manufacturing and Controls ("CMC") and regulatory expenses and higher headcount.
Selling, general and administrative expense increased by $0.6 million, or 31%, to $2.7 million for the third quarter of 2020, compared to the third quarter of 2019, primarily due to an increase in costs associated with headcount, partially offset by lower allocable expenses.
Novel Biotherapeutics
Revenues increased by $3.9 million, or 263%, to $5.4 million for the third quarter of 2020, compared to the third quarter of 2019, primarily due to recognition of license and research and development fees from Takeda under the Takeda Strategic Collaboration and License Agreement and research and development revenue from Nestlé Health Science.
Research and development expense increased by $3.4 million, or 109%, to $6.4 million for the third quarter of 2020, compared to the third quarter of 2019, primarily due to an increase in costs associated with outside services relating to CMC regulatory expenses, higher outside services and higher headcount.
Selling, general and administrative expense decreased by $0.2 million, or 25%, to $0.5 million for the third quarter of 2020 compared to the third quarter of 2019, primarily due to lower allocable expense and outside services.
GSK Platform Technology Transfer, Collaboration and License Agreement
In July 2014, we entered into a CodeEvolver® protein engineering platform technology transfer collaboration and license agreement (the "GSK CodeEvolver® Agreement") with GlaxoSmithKline ("GSK"). Pursuant to the terms of the agreement, we granted GSK a non-exclusive license to use the CodeEvolver® protein engineering platform technology to develop novel enzymes for use in the manufacture of GSK's pharmaceutical and health care products.
We received an up-front fee upon the execution of the agreement in July 2014 and milestone payments in each of the years from 2014 through April 2016. We completed the transfer of the CodeEvolver® protein engineering platform technology to GSK in April 2016 and all revenues relating to the technology transfer have been recognized as of April 2016. We have the potential to receive additional cumulative contingent payments that range from $5.75 million to $38.5 million per project based on GSK’s successful application of the licensed technology. We are also eligible to receive royalties based on net sales, if any, of a limited set of products developed by GSK using our CodeEvolver® protein engineering platform technology.
We recognized no research and development revenue for the three and nine months ended September 30, 2020. In three and nine months ended September 30, 2019, we recognized revenue of $2.0 million for the milestone payment from GSK relating to the advancement of an enzyme developed by GSK using our CodeEvolver® protein engineering platform technology.
Merck Platform Technology Transfer and License Agreement
In August 2015, we entered into a CodeEvolver® platform technology transfer collaboration and license agreement (the "Merck CodeEvolver® Agreement") with Merck, Sharp & Dohme ("Merck"), which allows Merck to use the CodeEvolver® protein engineering technology platform in the field of human and animal healthcare.
We received an up-front license fee upon execution of the Merck CodeEvolver® Agreement, and milestone payments in September 2015 and in September 2016, when we completed the transfer of the engineering platform technology.
We have the potential to receive payments of up to a maximum of $15.0 million for each commercial active pharmaceutical ingredient ("API") that is manufactured by Merck using one or more novel enzymes developed by Merck using the CodeEvolver® protein engineering technology platform. The API payments are based on the quantity of API developed and manufactured by Merck and will be recognized as usage-based royalties.
40


In January 2019, we entered into an amendment to the Merck CodeEvolver® Agreement to install certain CodeEvolver® protein engineering technology upgrades into Merck’s platform license installation and maintain those upgrades for a multi-year term. The license installation was completed in 2019 and we recognized $0.9 million as license fee revenue accordingly in the three and nine months ended September 30, 2019, respectively, under the amendment. Pursuant to the agreement, Merck has options to future technology enhancements for a specified fee. As of September 30, 2020, Merck has not exercised its option for technology enhancements.
We recognized research and development revenues of $1.1 million and $2.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.1 million and $4.0 million for the three and nine months ended September 30, 2019, respectively, under Merck CodeEvolver® Agreement.
Merck Sitagliptin Catalyst Supply Agreement
In February 2012, we entered into a five-year Sitagliptin Catalyst Supply Agreement (“Sitagliptin Catalyst Supply Agreement”) with Merck whereby Merck may obtain commercial scale enzyme for use in the manufacture of Januvia®, its product based on the active ingredient sitagliptin. In December 2015, Merck exercised its option under the terms of the sitagliptin Catalyst Supply Agreement to extend the agreement for an additional five years through February 2022.
Effective as of January 2016, we and Merck amended the Sitagliptin Catalyst Supply Agreement to prospectively provide for variable pricing based on the cumulative volume of sitagliptin catalyst purchased by Merck and to allow Merck to purchase a percentage of its requirements for sitagliptin catalyst from a specified third-party supplier. Merck received a distinct, functional license to manufacture a portion of its demand beginning January 1, 2018, which we recognized as research and development revenue.
We have determined that the variable pricing, which provides a discount based on the cumulative volume of sitagliptin catalyst purchased by Merck, provides Merck material rights and we are recognizing product revenues using the alternative method. Under the alternative approach, we estimate the total expected consideration and allocate it proportionately with the expected sales.
The Sitagliptin Catalyst Supply Agreement requires Merck to pay an annual fee for the rights to the sitagliptin technology each year for the term of the Sitagliptin Catalyst Supply Agreement. Amounts of annual license fees are based on contractually agreed prices and are on a declining scale over the term of the contract.
Pursuant to the terms of the Sitagliptin Catalyst Supply Agreement, Merck may purchase supply from us for a fee based on contractually stated prices. We recognized revenue of $3.2 million and $7.0 million for the three and nine months ended September 30, 2020, respectively, compared to $3.6 million and $11.4 million in the three and nine months ended September 30, 2019, respectively, in product revenue under this agreement. Revenues from Merck under the Sitagliptin Catalyst Supply Agreement were 17% and 15% of our total revenues for the three and nine months ended September 30, 2020, respectively, compared to 16% and 23% in the three and nine months ended September 30, 2019, respectively. As the active pharmaceutical ingredient sitagliptin approaches its generic phase, there is no guarantee that the revenues under this agreement will continue at these levels in future years.
As of September 30, 2020, we recorded revenue of $3.2 million from sitagliptin products that were recognized over time based on the progress of the manufacturing process. These products will be shipped within the six month period following the end of the quarter. The contract asset balances were partially offset by contract liabilities as they are under the same contract.
Global Development, Option and License Agreement, Strategic Collaboration Agreement, and Development Agreement
In October 2017, we entered into the Nestlé Agreement with Societé des Produits Néstle S.A., formerly known as Nestec Ltd. ("Nestlé Health Science") and, solely for the purpose of the integration and the dispute resolution clauses of the Agreement, Nestlé Health Science S.A., to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU.
We received an upfront cash payment of $14.0 million upon the execution of the Nestlé Agreement, a $4.0 million milestone payment after dosing the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114, and a $1.0 million milestone payment upon achievement of a milestone relating to formulation of CDX-6114. The $4.0 million milestone payment that was triggered by the initiation of the trial was received in September 2018 and the $1.0 million milestone payment that was triggered by the achievement of a formulation relating to CDX-6114 was received in February 2019. The upfront payment and the variable consideration relating to the progress payment of $4.0 million and milestone payment of $1.0 million were recognized over time as the development work was performed. Revenue was recognized using a single measure of progress that depicted our performance in transferring control of the services, which was based on the ratio of
41


level of effort incurred to date compared to the total estimated level of effort required to complete all performance obligations under the agreement. We recognized nominal research and development revenue for the three months ended September 30, 2020 and nominal revenue for the nine months ended September 30, 2020 compared to $0.1 million and $1.8 million for the three and nine months ended September 30, 2019, respectively.
In January 2019, we received notice from the U.S. Food and Drug Administration (the "FDA") that it had completed its review of our investigational new drug application (" IND") for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. The option payment of $3.0 million was recognized in the first quarter of 2019 as research and development revenue. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114 was substantially completed in the fourth quarter of 2019. We are eligible to receive payments from Nestlé Health Science under the Nestlé Agreement that include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the middle single digits to low double-digits, of net sales of product.
In October 2017, we also entered into a Strategic Collaboration Agreement (the “Strategic Collaboration Agreement”) with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® protein engineering technology platform to develop novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. Under the Strategic Collaboration Agreement, we received an upfront payment of $1.2 million in 2017 and an incremental $0.6 million payment in September 2018 for additional services.
In January 2020, we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate, CDX-7108, targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies. The Strategic Collaboration Agreement was extended through December 2021.
Under the Strategic Collaboration Agreement and development agreement, we recognized research and development fees of $2.8 million and $6.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.4 million and $3.9 million for the three and nine months ended September 30, 2019, respectively.
Strategic Collaboration Agreement
In April 2018, we entered into the Porton Agreement with Porton to license key elements of our biocatalyst technology for use in Porton’s global custom intermediate and API development and manufacturing business. Under the Porton Agreement, we are eligible to receive annual collaboration fees and research and development revenues. We received an initial collaboration fee of $0.5 million within 30 days of the effective date of the Porton Agreement, $1.5 million upon the first anniversary of the effective date of the agreement, and $1.0 million upon the second anniversary of the effective date of the agreement and we are eligible to receive $1.0 million on the third anniversary of the effective date of the agreement. We completed the technical transfer in the fourth quarter of 2018 and recognized $2.8 million in research and development revenue. We recognized revenue related to the functional license provided to Porton at a point in time when control of the license was transferred to the customer. We recognized research and development revenue related to the Porton Agreement of nil and $1.1 million in the three and nine months ended September 30, 2020, respectively, and no revenue in the three and nine months ended September 30, 2019.
Platform Technology Transfer and License Agreement
In May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis Pharma AG (“Novartis”). The Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare. Under the Novartis CodeEvolver® Agreement, we are transferring our proprietary CodeEvolver® protein engineering platform technology to Novartis over approximately 23 months starting with the date on which we commenced the technology transfer (the “Technology Transfer Period”). As a part of this technology transfer, the Company provided to Novartis our proprietary enzymes, proprietary protein engineering protocols and methods, and proprietary software algorithms. In addition, teams of the Company and Novartis scientists participated in technology training sessions and collaborative research projects at our laboratories in Redwood City, California and at a designated Novartis laboratory in Basel, Switzerland. Upon completion of technology transfer, Novartis will have the CodeEvolver® protein engineering platform technology installed at its designated laboratory. Pursuant to the agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver® Agreement. In the second quarter of 2020, we completed the second technology milestone transfer under the agreement and
42


became eligible to receive a milestone payment of $4.0 million, which we subsequently received in July 2020. We are eligible to receive an additional $5.0 million upon satisfactory completion of the third technology transfer milestone. In consideration for the continued disclosure and license of improvements to our technology and materials during a multi-year period that begins on the conclusion of the Technology Transfer Period (“Improvements Term”), Novartis will pay us annual payments which amount to an additional $8.0 million. The Company also has the potential to receive quantity-dependent, usage payments for each API that is manufactured by Novartis using one or more enzymes that have been developed or are in development using the CodeEvolver® protein engineering platform technology during the period that begins on the conclusion of the Technology Transfer Period and ends on the expiration date of the last to expire licensed patent. These product-related usage payments, if any, will be paid by Novartis to the Company for each quarter that Novartis manufactures API using a CodeEvolver®-developed enzyme. The usage payments will be based on the total volume of API produced using the CodeEvolver®-developed enzyme. These usage payments can begin in the clinical stage and will extend throughout the commercial life of each API. Revenue for the combined initial license and technology transfer performance obligation, which is expected to occur over twenty-three months, is being recognized using a single measure of progress that depicts our performance in transferring control of the services, which is based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete the performance obligation relating to the combined initial license and technology transfer. Revenue allocated to future improvements will be recognized during the Improvement Term. We recognized $0.9 million and $4.1 million in research and development revenue for the three and nine months ended September 30, 2020, respectively, and $3.8 million in revenue for the three and nine months ended September 30, 2019, respectively, from the Novartis CodeEvolver® Agreement.
Strategic Collaboration and License Agreement
In March 2020, we entered into a Strategic Collaboration and License Agreement (the “Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Co. Ltd. (“Takeda”), under which we will collaborate to research and develop protein sequences for use in gene therapy products for certain diseases. On execution of the Takeda Agreement, we received an up-front non-refundable cash payment of $8.5 million. Revenue relating to the functional licenses provided to Takeda was recognized at a point in time when the control of the license transferred to the customer. We recognized research and development revenue related to the Takeda Agreement of $2.6 million and $10.6 million in the three and nine months ended September 30, 2020, respectively.
Other potential payments from Takeda include (i) reimbursement of research and development fees and pre-clinical approval milestones for initial programs to earn $18.3 million, (ii) development and commercialization-based milestones, per target gene, of up to $100.0 million, the modulation of which leads to treatment of certain diseases by the applicable product, and (iii) tiered royalties, at percentages ranging from the middle-single digit to low single-digit of sales of the applicable product.
Master Collaboration and Research Agreement and Stock Purchase Agreement
In June 2020, we entered into a Stock Purchase Agreement with Molecular Assemblies, Inc. (“MAI”) pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. In connection with the transaction, our chief executive officer, John Nicols, also joined MAI’s board of directors. At the same time, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with MAI to engineer DNA polymerase enzymes to deliver differentiated and cost-effective solutions for the enzymatic synthesis of DNA. Under the MAI Agreement and its related statement of work (“SOW”), we will apply our CodeEvolver® protein engineering platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Based on these services, the Company is eligible to earn additional shares of MAI's Series A preferred stock. MAI will combine its advanced chemistries with our enzymes to drive the process to commercialization. Under the MAI Agreement and its associated SOW, we will engage in research and development activities to engineer DNA polymerase enzymes for the enzymatic synthesis of DNA in exchange for monthly fees in the form of shares of Series A preferred stock in MAI. We are eligible to earn such non-monetary payments over ten to thirteen months, and any such shares would be issued thirty days in arrears after each calendar quarter-end. We are also eligible to receive amounts for bonuses, targets and milestones on achievement of timeline and project goals specified in the SOW. Payments for bonuses, targets and milestones on achievement of timeline and project goals are to be issued thirty days after the Company provides notification of completion. We did not receive any shares of MAI's Series A preferred stock based on services provided in the nine months ended September 30, 2020. Under the MAI Agreement, we will have the right to use and sell the engineered enzymes to third parties for any purpose other than for the synthesis of native DNA. Under the MAI Agreement, we would make a $0.5 million payment to MAI on meeting a milestone of $5.0 million in aggregate commercial sales by the Company to third parties of the engineered enzymes or any product incorporating or derived from the engineered enzymes for any purpose other than the synthesis of native DNA. The MAI Agreement contemplates that we and MAI will enter into a Commercialization and Enzyme Supply Agreement (the “CESA”) within six months following the completion of certain
43


timelines specified in the SOW. In addition, we and MAI have agreed pursuant to the MAI Agreement to certain terms to be contained within the CESA in the event that the CESA becomes executed in the future. Those include: (a) that MAI would receive an exclusive license to use the DNA polymerase enzymes engineering by us under the MAI Agreement in the synthesis of native DNA and a non-exclusive license to use these enzymes for research and development on the synthesis of non-native DNA, and (b) that we would become the exclusive manufacturer of these enzymes for MAI, its affiliates and licensees.
We recognized $0.5 million in research and development revenue in the three and nine months ended September 30, 2020 from transactions with MAI. At September 30, 2020, we had $0.5 million of financial assets due from MAI. Payment for the services was subsequently received in the form of additional Series A preferred stock of MAI in October.

Results of Operations
The following table shows the amounts from our unaudited condensed consolidated statements of operations for the periods presented (in thousands):
 Three months ended September 30,ChangeNine months ended September 30,Change
 20202019$%20202019$%
Revenues:
Product revenue$8,401 $10,351 $(1,950)(19)%$18,005 $24,588 $(6,583)(27)%
Research and development revenue9,984 11,555 (1,571)(14)%30,018 25,220 4,798 19%
Total revenues18,385 21,906 (3,521)(16)%48,023 49,808 (1,785)(4)%
Costs and operating expenses:
Cost of product revenue3,642 5,067 (1,425)(28)%7,882 12,230 (4,348)(36)%
Research and development12,010 8,711 3,299 38%33,830 25,000 8,830 35%
Selling, general and administrative8,797 7,869 928 12%26,307 24,180 2,127 9%
Total costs and operating expenses24,449 21,647 2,802 13%68,019 61,410 6,609 11%
Income (loss) from operations(6,064)259 (6,323)(2,441)%(19,996)(11,602)(8,394)(72)%
Interest income39 480 (441)(92)%362 929 (567)(61)%
Other expenses, net(50)(403)353 88%(125)(615)490 80%
Income (loss) before income taxes(6,075)336 (6,411)(1,908)%(19,759)(11,288)(8,471)(75)%
Provision for (benefit from) income taxes19 (7)26 371%331 12 319 2,658%
Net income (loss)$(6,094)$343 $(6,437)(1,877)%$(20,090)$(11,300)$(8,790)(78)%

Revenues
Our revenues comprise product revenue and research and development revenue as follows:
Product revenue consists of sales of protein catalysts, pharmaceutical intermediates, and Codex® biocatalyst panels and kits.
Research and development revenue include license, technology access and exclusivity fees, research services fees, milestone payments, royalties, optimization and screening fees.
The following table shows the amounts of our product revenue and research and development revenue from our unaudited condensed consolidated statements of operations for the periods presented (in thousands):
Three months ended September 30,ChangeNine months ended September 30,Change
(In Thousands)20202019$%20202019$%
Product revenue$8,401 $10,351 $(1,950)(19)%$18,005 $24,588 $(6,583)(27)%
Research and development revenue9,984 11,555 (1,571)(14)%30,018 25,220 4,798 19%
Total revenues$18,385 $21,906 $(3,521)(16)%$48,023 $49,808 $(1,785)(4)%

44


Revenues typically fluctuate on a quarterly basis due to the variability in our customers' manufacturing schedules and the timing of our customers' clinical trials. In addition, we have limited internal capacity to manufacture enzymes. As a result, we are dependent upon the performance and capacity of third-party manufacturers for the commercial scale manufacturing of the enzymes used in our pharmaceutical and fine chemicals business.
We accept purchase orders for deliveries covering periods from one day up to approximately 14 months from the date on which the order is placed. However, a majority of the purchase orders can be revised or cancelled by the customer without penalty. Considering these industry practices and our experience, we do not believe the total of customer purchase orders outstanding (backlog) provides meaningful information that can be relied on to predict actual sales for future periods.
Total revenues decreased by $3.5 million in the three months ended September 30, 2020 compared to the same period in 2019 due to lower research and development revenue and lower product revenue. Total revenues decreased by $1.8 million in the nine months ended September 30, 2020 compared to the same period in 2019 due to lower product revenue offset by higher research and development revenue.
Product revenue decreased by $2.0 million and $6.6 million in the three and nine months ended September 30, 2020, respectively, compared to the same periods in 2019, primarily due to variability of customer demand for generic and branded products.
Research and development revenue decreased by $1.6 million in the three months ended September 30, 2020 compared to the same period in 2019, primarily due to lower revenues from Novartis under the Novartis CodeEvolver® Agreement and a prior year milestone payment from GSK under the GSK CodeEvolver® Agreement, partially offset by license fees and research and development revenue from Takeda under the Takeda Agreement. Research and development revenue increased by $4.8 million in the nine months ended September 30, 2020 compared to the same period in 2019, primarily due to the recognition of license fees and research and development revenue from Takeda under the Takeda Strategic Collaboration and License Agreement, and recognition of license fees from Porton, partially offset by lower revenue and prior year functional license fee revenue from Nestlé Health Science, lower revenue from a prior year milestone payment from GSK under the GSK CodeEvolver® Agreement.
Cost and Operating Expenses
Our cost and operating expenses comprise cost of product revenue, research and development expense, and selling, general and administrative expense. The following table shows the amounts of our cost of product revenue, research and development expense, and selling, general and administrative expense from our unaudited condensed consolidated statements of operations for the periods presented (in thousands):

Three months ended September 30,ChangeNine months ended September 30,Change
(In Thousands)20202019$%20202019$%
Cost of product revenue$3,642 $5,067 $(1,425)(28)%7,882 12,230 $(4,348)(36)%
Research and development12,010 8,711 3,299 38%33,830 25,000 8,830 35%
Selling, general and administrative8,797 7,869 928 12%26,307 24,180 2,127 9%
Total costs and operating expenses$24,449 $21,647 $2,802 13%$68,019 $61,410 $6,609 11%
45



Cost of Product Revenue and Product Gross Margin
Our product revenues are derived entirely from our Performance Enzymes segment. Revenues from the Novel Biotherapeutics segment are from collaborative research and development activities and not from product revenue.
The following table shows the amounts of our product revenue, cost of product revenue, product gross profit and product gross margin from our unaudited condensed consolidated statements of operations for the periods presented (in thousands):
Three months ended September 30,ChangeNine months ended September 30,Change
(In Thousands)20202019$%20202019$%
Product revenue$8,401$10,351$(1,950)(19)%$18,005$24,588$(6,583)(27)%
Cost of product revenue3,6425,067(1,425)(28)%7,88212,230(4,348)(36)%
Product gross profit$4,759$5,284$(525)(10)%$10,123$12,358$(2,235)(18)%
Product gross margin (%)57 %51 %56 %50 %

Cost of product revenue comprises both internal and third-party fixed and variable costs, including materials and supplies, labor, facilities and other overhead costs associated with our product revenue.
Product gross margins were 57% and 56% in the three and nine months ended September 30, 2020, respectively, compared to 51% and 50% and in the corresponding periods in 2019 due to variations in product mix.

Research and Development Expenses
Research and development expenses consist of costs incurred for internal projects as well as collaborative research and development activities. These costs primarily consist of (i) employee-related costs, which include salaries and other personnel-related expenses (including stock-based compensation), (ii) various allocable expenses, which include occupancy-related costs, supplies, and depreciation of facilities and laboratory equipment, and (iii) external costs. Research and development expenses are expensed when incurred.
Research and development expenses increased by $3.3 million, or 38%, during the three months ended September 30, 2020 and by $8.8 million, or 35%, in the nine months ended September 30, 2020, compared to the same periods in 2019. The increase in research and development expenses was primarily due to an increase in costs associated with outside services relating to CMC and regulatory expenses, higher headcount and higher allocable expenses, partially offset by lower lab supplies and outside consultants.

Selling, General and Administrative Expenses
Selling, general and administrative expenses consist of employee-related costs, which include salaries and other personnel-related expenses (including stock-based compensation), hiring and training costs, consulting and outside services expenses (including audit and legal costs), marketing costs, building lease costs, and depreciation and amortization expense.
Selling, general and administrative expenses increased by $0.9 million, or 12%, in the three months ended September 30, 2020 and by $2.1 million, or 9%, in the nine months ended September 30, 2020 compared to the same periods in 2019. The increase in selling, general and administrative expense was primarily due to an increase in costs associated with higher facilities and headcount, legal and accounting fees, outside services, and licensed technology partially offset by lower allocable expenses, lower travel expenses and lower recruiting costs.

46


Interest Income and Other Expense

Three months ended September 30,ChangeNine months ended September 30,Change
(In Thousands)20202019$%20202019$%
Interest income$39 $480 $(441)(92)%$362 $929 $(567)(61)%
Other expenses, net(50)(403)353 88%(125)(615)490 80%
Total other income, net$(11)$77 $(88)(114)%$237 $314 $(77)(25)%

Interest Income
Interest income decreased by $0.4 million and $0.6 million in the three and nine months ended September 30, 2020, respectively, compared to the same periods in 2019 due to lower average interest rates on declining average cash balances.

Other Expenses, net
Other expenses decreased by $0.4 million and $0.5 million in three and nine months ended September 30, 2020, respectively, compared to the same period in 2019 due to prior year write-down of $0.4 million of our investment in CO2 Solutions and fluctuations in foreign currency.

Provision for and Benefit from Income Taxes
We recognized an income tax provision of $19 thousand and $0.3 million in the three and nine months ended September 30, 2020, respectively. We recognized an income tax benefit of $7 thousand and an income tax provision of $12 thousand in the three and nine months ended September 30, 2019, respectively. The increase in income tax provision was primarily due to mandatory income tax withheld by a foreign taxing authority and additional interest recorded on uncertain tax positions from previous years.

Net Income (Loss)
The net loss for the third quarter of 2020 was $6.1 million, representing a net loss of $0.10 per basic and diluted share. This compares to a net income of $0.3 million, representing a net income of $0.01 per basic and diluted share for the third quarter of 2019. For the nine months ended September 30, 2020, the net loss was $20.1 million, representing a net loss of $0.34 per basic and diluted share. This compares to a net loss of $11.3 million, representing a net loss of $0.20 per basic and diluted share for the nine months ended September 30, 2019. The increase in net loss for the three and nine months ended September 30, 2020 compared to the same period of the prior year was primarily related to higher operating expenses and lower in revenues.

47


Results of Operations by Segment (in thousands, except percentages)
Revenue by segment
Three months ended September 30,Change
20202019Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Revenues:
Product revenue$8,401 $— $8,401 $10,351 $— $10,351 $(1,950)(19)%$— — %
Research and development revenue4,604 5,380 9,984 10,073 1,482 11,555 (5,469)(54)%3,898 263 %
Total revenues$13,005 $5,380 $18,385 $20,424 $1,482 $21,906 $(7,419)(36)%$3,898 263 %

Nine months ended September 30,Change
20202019Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Revenues:
Product revenue$18,005 $— $18,005 $24,588 $— $24,588 $(6,583)(27)%$— — %
Research and development revenue13,380 16,638 30,018 16,512 8,708 25,220 (3,132)(19)%7,930 91 %
Total revenues$31,385 $16,638 $48,023 $41,100 $8,708 $49,808 $(9,715)(24)%$7,930 91 %

Revenues from the Performance Enzymes segment decreased by $7.4 million, or 36%, to $13.0 million for the three months ended September 30, 2020, compared to the three months ended September 30, 2019. Revenues decreased by $9.7 million, or 24%, to $31.4 million for the nine months ended September 30, 2020, compared to the nine months ended September 30, 2019, primarily due to lower revenues from Novartis under the Novartis CodeEvolver® Agreement and a prior year milestone payment from GSK under the GSK CodeEvolver® Agreement, partially offset by research and development revenue from Takeda under the Takeda Agreement.
Revenues from the Novel Biotherapeutics segment increased by $3.9 million, or 263%, to $5.4 million for the three months ended September 30, 2020, compared to the three months ended September 30, 2019. Revenues increased by $7.9 million, or 91%, to $16.6 million for the nine months ended September 30, 2020, compared to the nine months ended September 30, 2019, primarily due to recognition of license and research and development fees from Takeda under the Takeda Strategic Collaboration and License Agreement, partially offset by a decrease in prior year functional license fee revenue from Nestlé
48


Health Science.

Cost and Operating Expenses by Segment
Three months ended September 30,Change
20202019Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Cost of product revenue$3,642 $— $3,642 $5,067 $— $5,067 $(1,425)(28)%$— — %
Research and development (1)
5,184 6,433 11,617 5,313 3,080 8,393 (129)(2)%3,353 109 %
Selling, general and administrative (1)
2,675 515 3,190 2,037 690 2,727 638 31 %(175)(25)%
Total segment costs and operating expenses$11,501 $6,948 18,449 $12,417 $3,770 16,187 $(916)(7)%$3,178 84 %
Corporate costs5,472 4,989 
Depreciation and amortization528 471 
Total costs and operating expenses$24,449 $21,647 

(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.

Nine months ended September 30,Change
20202019Performance EnzymesNovel Biotherapeutics
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal$%$%
Cost of product revenue$7,882 $— $7,882 $12,230 $— $12,230 $(4,348)(36)%$— %
Research and development (1)
15,877 16,848 32,725 14,889 9,252 24,141 988 %7,596 82 %
Selling, general and administrative (1)
7,395 1,728 9,123 6,499 1,768 8,267 896 14 %(40)(2)%
Total segment costs and operating expenses$31,154 $18,576 49,730 $33,618 $11,020 44,638 $(2,464)(7)%$7,556 69 %
Corporate costs16,763 15,499 
Depreciation and amortization1,526 1,273 
Total costs and operating expenses$68,019 $61,410 

(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.

For a discussion of product cost of revenue, see "Results of Operations".
Research and development expense in the Performance Enzymes segment decreased by $0.1 million, or 2%, to $5.2 million in the third quarter of 2020, compared to the third quarter of 2019. Research and development expense in the Performance Enzymes segment increased by $1.0 million, or 7%, to $15.9 million in the nine months ended September 30, 2020 compared to the corresponding period in 2019. The increase was primarily due to an increase in costs associated with outside services relating to Chemistry, Manufacturing and Controls ("CMC") and regulatory expenses and higher headcount.
49


Selling, general and administrative expense in the Performance Enzymes segment increased by $0.6 million, or 31%, to $2.7 million in the third quarter of 2020, compared to the third quarter of 2019. Selling, general and administrative expense in the Performance Enzymes segment increased by $0.9 million, or 14%, to $7.4 million in the nine months ended September 30, 2020, compared to the corresponding period in 2019. The increase was primarily due to an increase in costs associated with headcount, partially offset by lower allocable expenses.
Research and development expense in the Novel Biotherapeutics segment increased by $3.4 million, or 109%, to $6.4 million in the third quarter of 2020, compared to the third quarter of 2019. Research and development expense in the Novel Biotherapeutics segment increased by $7.6 million, or 82%, to $16.8 million in the nine months ended September 30, 2020, compared to the same corresponding period in 2019. The increase was primarily due to an increase in costs associated with outside services relating to CMC regulatory expenses, higher outside services and higher headcount.
Selling, general and administrative expense in the Novel Biotherapeutics segment decreased by $0.2 million, or 25%, to $0.5 million in the third quarter of 2020, compared to the third quarter of 2019. Selling, general and administrative expense in the Novel Biotherapeutics segment decreased by $40 thousand, or 2%, to $1.7 million in the nine months ended September 30, 2020, compared to the corresponding period in 2019. The decrease was primarily due to lower allocable expense and outside services.

Liquidity and Capital Resources
Liquidity is the measurement of our ability to meet working capital needs and to fund capital expenditures. We have historically funded our operations primarily through cash generated from operations, stock option exercises and public and private offerings of our common stock. We also have the ability to borrow up to $15.0 million under our Credit Facility. We actively manage our cash usage and investment of liquid cash to ensure the maintenance of sufficient funds to meet our working capital needs. The majority of our cash and cash equivalents are held in U.S. banks, and our foreign subsidiaries maintain a limited amount of cash in their local banks to cover their short-term operating expenses.
The following is a summary of cash and cash equivalents balances and working capital as of September 30, 2020 and December 31, 2019 (in thousands):
September 30, 2020December 31, 2019
Cash and cash equivalents$71,516 $90,498 
Working capital$82,437 $98,817 
We have historically experienced negative cash flows from operations as we continue to invest in key technology development projects and improvements to our CodeEvolver® protein engineering technology platform and expand our business development and collaboration with new customers. Our cash flows from operations will continue to be affected principally by sales and gross margins from licensing our technology to major pharmaceutical companies, product revenue and collaborative research and development services provided to customers, as well as our headcount costs, primarily in research and development. Our primary source of cash flows from operating activities is cash receipts from licensing our technology to major pharmaceutical companies, and our customers for purchases of products and/or collaborative research and development services. Our largest uses of cash from operating activities are for employee-related expenditures, rent payments, inventory purchases to support our product revenue and non-payroll research and development costs.
We are actively collaborating with new and existing customers in the pharmaceutical and food industries. We believe that we can utilize our current products and services, and develop new products and services, to increase our revenues and gross margins in future periods.
In addition to our existing cash and cash equivalents, we are eligible to earn milestone and other contingent payments for the achievement of defined collaboration objectives and certain royalty payments under our collaboration agreements. Our ability to earn these milestone and contingent payments and the timing of achieving these milestones is primarily dependent upon the outcome of our collaborators’ research and development activities and is uncertain at this time. In 2016, we completed the final phase in the transfer of CodeEvolver® technology to Merck under the Merck CodeEvolver® Agreement. Following the completion of the technology transfer to Merck, we are now eligible to receive payments of up to $15.0 million for each commercial API that is manufactured by Merck using one or more novel enzymes developed by Merck using the CodeEvolver® technology. In addition, depending upon GSK's successful application of the licensed technology, we have the potential to receive additional contingent payments that range from $5.75 million to $38.5 million per project. In May 2019, we entered into a Platform Technology Transfer and License Agreement with Novartis Pharma AG. The Novartis CodeEvolver® Agreement allows Novartis to use the Company's proprietary CodeEvolver® protein engineering platform technology in the field of human
50


healthcare. Pursuant to the agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver® Agreement. In the second quarter of 2020, we completed the second technology transfer milestone under the agreement and became eligible to receive a milestone payment of $4.0 million, which we subsequently received in July 2020. We are eligible to receive an additional $5.0 million upon satisfactory completion of the third technology transfer milestone. In consideration for the continued disclosure and license of improvements to our technology and materials during a multi-year period that begins on the conclusion of the Technology Transfer Period, Novartis will pay us annual payments which amount to an additional $8.0 million.
In October 2017, we entered into the Nestlé Agreement with Nestlé Health Science. Pursuant to the Nestlé Agreement, Nestlé Health Science paid us an upfront cash payment of $14.0 million. In July 2018, we announced that we had dosed the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114 for the potential treatment of PKU. The initiation of the trial triggered a $4.0 million milestone payment from Nestlé Health Science and the $1.0 million milestone payment that was triggered by the achievement of a formulation relating to CDX-6114 was received in February 2019. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. The option payment of $3.0 million was recognized in the first quarter of 2019 as research and development revenue. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114 was substantially completed in the fourth quarter of 2019. Other potential payments from Nestlé Health Science to us under the Nestlé Agreement include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the middle single digits to low double-digits, of net sales of Product.
In March 2020, we entered into a Strategic Collaboration and License Agreement with Takeda under which we received an up-front non-refundable cash payment of $8.5 million in March 2020. Other potential payments from Takeda include (i) of research and development fees and pre-clinical approval milestones for initial programs of up to $18.3 million, (ii) development and commercialization-based milestones, per target gene, of up to $100.0 million, the modulation of which leads to treatment of certain diseases by the applicable product, and (iii) tiered royalties, at percentages ranging from the middle-single digit to low single-digit of sales of the applicable product.
In December 2018, we filed an automatic shelf registration statement on Form S-3 (the “2018 Registration Statement”) with the SEC, under which we may sell common stock, preferred stock, debt securities, warrants, purchase contract and/or units, which immediately became effective upon filing. Subsequently in 2019, we entered into a Securities Purchase Agreement with an affiliate of Casdin Capital, LLC (“Casdin”) pursuant to which we issued and sold to Casdin 3,048,780 shares of our common stock at a purchase price of $16.40 per share (the “Private Offering”). After deducting issuance costs of $0.1 million from the Private Offering, our net proceeds were $49.9 million.
In June 2017, we entered into the Credit Facility, which consists of term debt for loans that allow us to borrow up to $10.0 million and a revolving credit facility that allows us to borrow up to $5.0 million with a certain eligible accounts receivable borrowing base of 80% of eligible accounts receivable. In September 2020, we entered into an Eighth Amendment to the Credit Facility whereby we may draw on the Term Debt and the Revolving Line of Credit at any time prior to the October 1, 2021 and October 1, 2024, respectively. Draws on the term debt are subject to customary conditions for funding including, among others, that no event of default exists. Draws on the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. On October 1, 2024, any loans for Term Debt mature and the Revolving Line of Credit terminates. No amounts were drawn down under the credit facility as of September 30, 2020. At September 30, 2020, we believe we were in compliance with the covenants for the Credit Facility. The Credit Facility requires us to maintain compliance with certain financial covenants including attainment of certain lender-approved projections or maintenance of certain minimum cash levels. Restrictive covenants in the Credit Facility restrict the payment of dividends or other distributions. For additional information about our contractual obligations, see Note 11, "Commitments and Contingencies" in the Notes to Unaudited Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q.
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets. To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future
51


research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence. In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, had caused the temporary closure of our Redwood City, California facilities from mid-March 2020 through the end of April and has disrupted our R&D operations. In May 2020, we initiated limited R&D operations and have gradually ramped up operations such that we are currently operating utilizing the majority of our normal R&D capacity. Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. While we believe we have adequate cash on hand to manage through the disruptions being caused by the COVID-19 pandemic, the extent to which the pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain. For additional information on the various risks posed by the COVID-19 pandemic, please read Item 1A. Risk Factors included in this Quarterly Report on Form 10-Q.
As of September 30, 2020, we had cash and cash equivalents of $71.5 million and $15.0 million available to borrow under the Credit Facility. Our liquidity is dependent upon our cash and cash equivalents, cash flows provided by operating activities and the continued availability of borrowings under our Credit Facility. We may need additional capital if our current plans and assumptions change. Our need for additional capital will depend on many factors, including the financial success of our business, the spending required to develop and commercialize new and existing products, the effect of any acquisitions of other businesses, technologies or facilities that we may make or develop in the future, our spending on new market opportunities, and the potential costs for the filing, prosecution, enforcement and defense of patent claims, if necessary.
We believe that based on our current level of operations, our existing cash and cash equivalents, along with available borrowings under the Credit Facility, will provide adequate funds for ongoing operations, planned capital expenditures and working capital requirements for at least the next 12 months. However, we may need additional capital if our current plans and assumptions change, or if we are unable to execute on our current operating plan. In addition, we may choose to seek other sources of capital even if we believe we have generated sufficient cash flows to support our operating needs. Our need for additional capital will depend on many factors, including the financial success of our business, the spending required to develop and commercialize new and existing products, the effect of any acquisitions of other businesses, technologies or facilities that we may make or develop in the future, our spending on new market opportunities, and the potential costs for the filing, prosecution, enforcement and defense of patent claims, if necessary. If our capital resources are insufficient to meet our capital requirements, and we are unable to enter into or maintain collaborations with partners that are able or willing to fund our development efforts or commercialize any products that we develop or enable, we will have to raise additional funds to continue the development of our technology and products and complete the commercialization of products, if any, resulting from our technologies. If future financings involve the issuance of equity securities, our existing stockholders would suffer dilution. If we raise debt financing or enter into credit facilities, we may be subject to restrictive covenants that limit our ability to conduct our business. We may not be able to raise sufficient additional funds on terms that are favorable to us, if at all. If we fail to raise sufficient funds and fail to generate sufficient revenues to achieve planned gross margins and to control operating costs, our ability to fund our operations, take advantage of strategic opportunities, develop products or technologies, or otherwise respond to competitive pressures could be significantly limited. If this happens, we may be forced to delay or terminate research or development programs or the commercialization of products resulting from our technologies, curtail or cease operations or obtain funds through collaborative and licensing arrangements that may require us to relinquish commercial rights, or grant licenses on terms that are not favorable to us. If adequate funds are not available, we will not be able to successfully execute our business plan or continue our business.
Cash Flows
The following table is our statements of cash flows for nine months ended September 30, 2020 and 2019 (in thousands):
 Nine months ended September 30,
20202019
Net cash used in operating activities$(14,972)$(8,899)
Net cash used in investing activities(3,260)(3,251)
Net cash provided by (used in) financing activities(778)51,539 
Net increase (decrease) in cash, cash equivalents and restricted cash$(19,010)$39,389 
52



Cash Flows from Operating Activities
Cash used in operating activities was $15.0 million net for the nine months ended September 30, 2020, which resulted from a net loss of $20.1 million for the nine months ended September 30, 2020 adjusted for non-cash charges for depreciation of $1.4 million, ROU lease asset amortization expense of $2.0 million, stock-based compensation of $6.1 million and allowance of credit loss of $40 thousand. Additional cash used by changes in operating assets and liabilities was $4.3 million. Changes in operating assets and liabilities included an increase of $4.9 million in unbilled receivables, an increase of $1.6 million in accounts receivables, and a decrease of $1.9 million in other long-term liabilities partially offset by an increase of $2.3 million in other accrued liabilities and an increase of $2.0 million in deferred revenue.
Cash used in operating activities was $8.9 million net for the nine months ended September 30, 2019, which resulted from a net loss of $11.3 million for the nine months ended September 30, 2019 adjusted for non-cash charges for depreciation of $1.1 million, ROU lease asset amortization expense of $2.2 million and stock-based compensation of $5.8 million. Additional cash used by changes in operating assets and liabilities was $6.7 million. Changes in operating assets and liabilities included a decrease of $5.0 million in deferred revenue, a decrease of $1.3 million of accounts payable, and an increase of $1.2 million of contract assets.
Cash Flows from Investing Activities
Cash used in investing activities was $3.3 million for the nine months ended September 30, 2020 and 2019. Cash used in investing activities for the nine months ended September 30, 2020 was primarily attributable to $2.3 million for purchases of property and equipment and the purchase of 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. Cash used in investing activities for the nine months ended September 30, 2019 was primarily attributable to the purchase of property and equipment.
Cash Flows from Financing Activities
Cash used in financing activities was $0.8 million for the nine months ended September 30, 2020 which included $1.3 million for taxes paid related to net share settlement of equity awards offset by $0.5 million of proceeds from exercises of stock options.
Cash provided by financing activities was $51.5 million for the nine months ended September 30, 2019 which included $49.9 million of net proceeds from a private placement in June 2019 and $4.6 million of proceeds from exercises of stock options offset by $2.9 million for taxes paid related to net share settlement of equity awards.


Contractual Obligations
The following table summarizes our significant contractual obligations at September 30, 2020 (in thousands): 

Payments due by period
TotalLess than 1 year1-3 years4-5 years>5 years
Operating leases obligations (1)
32,313 4,167 8,776 9,525 9,845 

(1) Represents future minimum lease payments under non-cancellable operating leases in effect as of September 30, 2020 for our facilities in Redwood City, California. The minimum lease payments above do not include common area maintenance charges or real estate taxes. In February 2019, we have entered into an Eighth Amendment to the Lease (the “Eighth Amendment”) with MetLife for our facilities, extending the lease terms from May 2027 to May 2029. For additional information see Note 11, “Commitments and Contingencies” in the Notes to Unaudited Condensed Consolidated Financial Statements.

53


Other Commitments
We have other commitments related to supply and service arrangements entered into the normal course of business. For additional information about other commitments, see Note 11, "Commitments and Contingencies" in the notes to the unaudited condensed consolidated financial statements. Future minimum payments reflect amounts those obligations are expected to have on our liquidity and cash flows in future periods and include obligations subject to risk of cancellation by us (in thousands):

Other Commitment Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$532 
Development and manufacturing services agreementsSeptember 20193,806 
Strategic collaboration and license agreementMarch 2020520 
Total other commitments$4,858 

Credit Facility
In June 2017, we entered into a credit facility (“Credit Facility”) consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit (“Revolving Line of Credit”) up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. At September 30, 2020, we have not drawn from the Credit Facility. We may draw on the Term Debt and the Revolving Line of Credit at any time prior to the October 1, 2021 and October 1, 2024, respectively. Term loans drawn under the Term Debt mature and the Revolving Line of Credit terminates on October 1, 2024. Term loans made under the Term Debt bear interest at variable rate through maturity at greater of (i) 3.75% and (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the greater of (i) 4.25% and (ii) the sum of (A) the prime rate plus (B) 1.00%.
Our obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. The Credit Facility includes a number of customary covenants and restrictive financial covenants including meeting minimum product revenues levels and maintaining certain minimum cash levels with the lender. The Credit Facility’s financial covenants restrict the ability of the Company to transfer collateral, incur additional indebtedness, engage in mergers or acquisitions, pay dividends or make other distributions, make investments, create liens, sell assets, or sell certain assets held at foreign subsidiaries. A failure to comply with these covenants could permit the lender to exercise remedies against us and the collateral securing the Credit Facility, including foreclosure of our properties securing the Credit Facilities and our cash. At September 30, 2020, we were in compliance with the covenants for the Credit Facility. For additional information about our credit facility, see Note 11 "Commitments and Contingencies" in the accompanying notes to the unaudited condensed consolidated financial statements.

Off-Balance Sheet Arrangements
As of September 30, 2020, we did not have any off-balance sheet arrangements, as defined in Item 303(a)(4) of Regulation S-K as promulgated by the SEC.

Critical Accounting Policies and Estimates
The preparation financial statements in conformity with generally accepted accounting principles requires management to make judgments, estimates and assumptions in the preparation of our consolidated financial statements and accompanying notes. Actual results could differ from those estimates. There have been no material changes to our critical accounting policies or estimates during the three and nine months ended September 30, 2020 from those discussed in our Annual Report on Form 10-K for the year ended December 31, 2019, filed with the SEC on February 28, 2020, except for changes due to adoption of Accounting Standards Update ("ASU") 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, and ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment, which are described below:
54


Financial Instruments - Credit Losses (Topic 326)
On January 1, 2020, we adopted the provisions of ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, using a modified retrospective approach. The standard changes the impairment model for most financial assets measured at amortized cost, requiring the use of a "current expected credit loss" model. Under this model, we are required to estimate the lifetime expected credit loss on financial assets, and to record the estimate to an allowance for credit loss. The allowance offsets the amortized cost basis of the financial asset, resulting in a net presentation of the amount expected to be collected on the financial asset or liability.
Financial assets measured at amortized cost
Financial assets measured at amortized cost include loans receivable, debt security assets, trade receivables, net investments in leases, off-balance-sheet credit exposures, reinsurance receivables, contract assets and any other financial assets not excluded from the scope that have the contractual right to receive cash. These assets are not accounted for at fair value through net income.
Current expected credit model
The model requires that credit loss estimates include forecasted information in its formulation. In addition, the model requires recognition of credit loss estimates to be reflected in the financial statements before actual losses are incurred.
Allowance for credit losses
The allowance for credit losses is a valuation account that reflects recognition of losses under the current expected credit loss model. The allowance for credit losses is deducted from the amortized cost basis of financial assets and is presented net on the balance sheet. The net represents the expected to be collected on the financial asset.
Intangibles - Goodwill and Other (Topic 350)
On January 1, 2020, we adopted the provisions of ASU No. 2017-04, "Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment," using a prospective approach. The standard simplifies the accounting for goodwill impairments by eliminating step two from the goodwill impairment test. Goodwill impairment will now be the amount by which a reporting unit's carrying value exceeds its fair value. The adoption of ASU 2017-04 had no impact on our unaudited condensed consolidated financial statements.
55



ITEM 3.QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK

Market Risk Management
Our cash flows and earnings are subject to fluctuations due to changes in foreign currency exchange rates, interest rates and other factors. These market risk exposures are disclosed in Part II, Item 7A of our Annual Report on Form 10-K for the year ended December 31, 2019, filed with the SEC on February 28, 2020.
Interest Rate Sensitivity
In June 2017, we entered into a credit facility consisting of term loans up to $10.0 million, and advances under a revolving line of credit up to $5.0 million. Loans made under the Term Debt bear interest through maturity equal to the greater of (i) 3.75% and (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the equal to the greater of (i) 4.25% and (ii) the sum of (A) the prime rate (B) 1.00%. Increases in these variable interest rates will increase our future interest expense and decrease our results of operations and cash flows. No amounts were drawn down under the credit facility as of September 30, 2020. Our exposure to interest rates risk relates to our 2017 Credit Facility with variable interest rates, where an increase in interest rates may result in higher borrowing costs. Since we have no outstanding borrowings under our 2017 Credit Facility as of September 30, 2020, the effect of a hypothetical 10% change in interest rates would not have any impact on our interest expense.
Foreign Currency Risk
Our results of operations and cash flows are subject to fluctuations due to changes in foreign currency exchange rates. In periods when the United States dollar declines in value as compared to the foreign currencies in which we incur expenses, our foreign-currency based expenses increase when translated into United States dollars. Although substantially all of our sales are denominated in United States dollars, future fluctuations in the value of the United States dollar may affect the price competitiveness of our products outside the United States. Our most significant foreign currency exposure is due to non-functional currency denominated monetary assets, primarily currencies denominated in other than their functional currency. These non-functional currency denominated monetary assets are subject to re-measurement which may create fluctuations in other expense, net, a component in our consolidated statement of operations and in the fair value of the assets in the consolidated balance sheet. As of September 30, 2020, the effect of a hypothetical 10% unfavorable change in exchange rates on currencies denominated in other than their functional currency would result in a potential loss in future earnings in our consolidated statement of operations and a reduction in the fair value of the assets of approximately $0.1 million. We did not engage in hedging transactions in 2020 or 2019.
Investment in Equity Securities
We own an equity investment in Molecular Assemblies, Inc. (“MAI”) which is a privately held company. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We and MAI envision entering into an arrangement to commercialize products developed under the MAI Agreement.
To analyze the fair value measurement of our equity investment in MAI, we perform a qualitative analysis using significant unobservable inputs. Significant changes to the unobservable inputs may result in a significantly higher or lower fair value estimate. We may value our equity investment based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated new investors, providing the terms of these equity transactions are substantially similar to the equity transactions terms between the company and us. The impact of any differences in equity transaction terms may be difficult or impossible to quantify on the market value of investment.
56



ITEM 4.CONTROLS AND PROCEDURES

Evaluation of Disclosure Controls and Procedures
We maintain disclosure controls and procedures and internal controls that are designed to provide reasonable assurance that information required to be disclosed in our Exchange Act reports is recorded, processed, summarized, and reported within the time periods specified in the SEC's rules and forms and that such information is accumulated and communicated to our management, including our principal executive officer and our principal financial and accounting officer, as appropriate, to allow timely decisions regarding required disclosure.
Our management, including our principal executive officer and our principal financial and accounting officer, evaluated the effectiveness of our disclosure controls and procedures as defined by Rules 13a-15(e) and 15d-15(e) of the Exchange Act. Based on this review, our principal executive officer and our principal financial and accounting officer concluded that these disclosure controls and procedures were effective as of September 30, 2020 at the reasonable assurance level.
Changes in Internal Control over Financial Reporting
There were no changes in our internal control over financial reporting identified in connection with the evaluation required by paragraph (d) of Exchange Act Rules 13a-15 or 15d-15 that occurred during our last fiscal quarter that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting. Because of the impact of COVID-19 shelter-in-place orders, we have made minor modifications to existing controls involving evidence of review-type controls. Further, we implemented internal controls to ensure we adequately evaluated impairment of financial instruments and goodwill, respectively, in properly assessing and facilitating the impact and adoption on January 1, 2020 of ASU 2016-13, Financial Instruments - Credit Losses (Topic 326) and ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment. There were no significant changes to our internal control over financial reporting due to the adoption of new standards.
Inherent Limitations on Effectiveness of Controls
In designing and evaluating the disclosure controls and procedures, management recognizes that any controls and procedures, even if determined effective and no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives to prevent or detect misstatements. In addition, the design of disclosure controls and procedures must reflect the fact that there are resource constraints and that management is required to apply judgment in evaluating the benefits of possible controls and procedures relative to their costs. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

57


PART II. OTHER INFORMATION

ITEM 1.
LEGAL PROCEEDINGS

We are not currently a party to any material pending litigation or other material legal proceedings.

ITEM 1A.RISK FACTORS

We have included in Part I, Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2019, a description of certain risks and uncertainties that could affect our business, future performance or financial condition (the “Risk Factors"). During the three months ended September 30, 2020, there were no material changes from the disclosure provided in the Form 10-K for the year ended December 31, 2019 with respect to the Risk Factors, except as set forth below. Investors should consider the Risk Factors prior to making an investment decision with respect to our stock.
The ongoing COVID-19 pandemic has and may continue in the future to, directly or indirectly, adversely affect our business, results of operations and financial condition.
In the United States, the COVID-19 pandemic, has had, and may continue to have, an adverse effect on our business, results of operations and financial condition, including as a result of compliance with governmental orders governing the operation of businesses during the pandemic, the temporary closure of our Redwood City, California facilities and disruption of our research and development operations. We believe that these disruptions have had a negative impact on revenue for the nine months ended September 30, 2020 although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. In the future, our business could be materially adversely affected, directly or indirectly, by the widespread outbreak of contagious disease, including the ongoing COVID-19 pandemic. National, state and local governments in affected regions have implemented and may continue to implement safety precautions, including quarantines, border closures, increased border controls, travel restrictions, governmental orders and shutdowns, business closures, cancellations of public gatherings and other measures. Organizations and individuals are taking additional steps to avoid or reduce infection, including limiting travel and staying home from work. These measures are disrupting normal business operations both in and outside of affected areas and have had significant negative impacts on businesses and financial markets worldwide.
The potential impact and duration of COVID-19 or another pandemic or public health crisis has, had and could continue to have, significant repercussions across regional, national and global economies and financial markets, and could trigger a period of regional, national and global economic slowdown or regional, national or global recessions. The outbreak of COVID-19 in many countries continues to adversely impact regional, national and global economic activity and has contributed to significant volatility and negative pressure in financial markets. As a result, we may experience difficulty accessing debt and equity capital on attractive terms, or at all, due to the severe disruption and instability in the global financial markets. In addition, our customers may terminate or amend their agreements for the purchase of our products or services due to bankruptcy, lack of liquidity, lack of funding, operational failures, or other reasons.
We continue to monitor our operations and applicable government recommendations, and we have made modifications to our normal operations because of the COVID-19 pandemic, including requiring most office-based employees to work remotely. Notwithstanding these measures, the COVID-19 pandemic could affect the health and availability of our workforce as well as those of the third parties we rely on taking similar measures. If members of our management and other key personnel in critical functions across our organization are unable to perform their duties or have limited availability due to COVID-19, we may not be able to execute on our business strategy and/or our operations may be negatively impacted. We may also experience limitations in employee resources, including because of sickness of employees or their families or the desire of employees to avoid contact with individuals or large groups of people. In addition, we have experienced and will continue to experience disruptions to our business operations resulting from quarantines, self-isolations and other restrictions on the ability of our employees to perform their jobs.
The COVID-19 pandemic has disrupted, and may continue to disrupt, our business operations. The extent and severity of the impact on our business and clinical trials will be determined largely by the extent of disruptions in the supply chains for our products and product candidates; disruptions in access by patients to therapies for which our products are components of the
58


supply chain; delays in the performance of R&D service work, and delays in current and future clinical trials that we or our collaboration partners conduct. In addition, the impact of the COVID-19 pandemic on the operations of the FDA and other health authorities may delay potential approvals of product candidates for which our products are components of the supply chain.
While it is not possible at this time to estimate the entirety of the impact that the COVID-19 pandemic will have on our business, operations, employees, customers, suppliers or our collaboration partners, continued spread of COVID-19, measures taken by governments, actions taken to protect employees and the broad impact of the pandemic on all business activities may materially and adversely affect our business, results of operations and financial condition. As a result, in May 2020 we withdrew our full year 2020 financial guidance.


ITEM 2.UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS

None.

ITEM 3.
DEFAULTS UPON SENIOR SECURITIES

None.

ITEM 4.MINE SAFETY DISCLOSURES

Not applicable.

ITEM 5.OTHER INFORMATION

Not applicable.

59



ITEM 6.EXHIBITS

3.1
3.2
3.3
4.1Reference is made to Exhibits 3.1 through 3.3.
10.1
31.1
31.2
32.1
101 
The following materials from the Company's Quarterly Report on Form 10-Q for the quarter ended September 30, 2020, formatted in Inline Extensible Business Reporting Language (iXBRL) includes: (i) Unaudited Condensed Consolidated Balance Sheets at September 30, 2020 and December 31, 2019 (ii) Unaudited Condensed Consolidated Statements of Operations for the Three and Nine Months Ended September 30, 2020 and 2019, (iii) Unaudited Condensed Consolidated Statements of Stockholders' Equity for the Three and Nine Months Ended September 30, 2020 and 2019, (iv) Unaudited Condensed Consolidated Statements of Cash Flows for the Nine Months Ended September 30, 2020 and 2019 and (v) Notes to Unaudited Condensed Consolidated Financial Statements.
101.SCHInline XBRL Taxonomy Extension Schema Document
101.CALInline XBRL Taxonomy Extension Calculation Linkbase Document
101.DEFInline XBRL Taxonomy Extension Definition Linkbase Document
101.LABInline XBRL Taxonomy Extension Label Linkbase Document
101.PREInline XBRL Taxonomy Extension Presentation Linkbase Document
104
The cover page from the Company’s Quarterly Report on Form 10-Q for the quarter ended September 30, 2020, formatted in Inline XBRL and contained in Exhibit 101.

60


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.
Codexis, Inc.
Date:November 6, 2020By:/s/ John J. Nicols
John J. Nicols
President and Chief Executive Officer
(principal executive officer)
Date:November 6, 2020By:/s/ Ross Taylor
Ross Taylor
Senior Vice President and Chief Financial Officer
(principal financial and accounting officer)

61
EX-10.1 2 exhibit101.htm EX-10.1 Document

Exhibit 10.1

EIGHTH AMENDMENT TO LOAN AND SECURITY AGREEMENT
THIS EIGHTH AMENDMENT to Loan and Security Agreement (this “Amendment”) is made effective as of September 30, 2020 (the “Amendment Date”) and made by and among WESTERN ALLIANCE BANK, an Arizona corporation (“Bank”) and CODEXIS, INC., a Delaware corporation (“Borrower”).
WHEREAS, Bank and Borrower have entered into that certain Loan and Security Agreement, dated as of June 30, 2017 (as amended, supplemented, restated or otherwise modified from time to time, the “Loan Agreement”); and
WHEREAS, Bank and Borrower desire to amend certain provisions of the Loan Agreement as provided herein and subject to the terms and conditions set forth herein;
NOW, THEREFORE, in consideration of the promises, covenants and agreements contained herein, and other good and valuable consideration, the receipt and adequacy of which are hereby acknowledged, Bank and Borrower hereby agree as follows:
1.Capitalized terms used herein but not otherwise defined shall have the respective meanings given to them in the Loan Agreement.

2.Section 1.1 of the Loan Agreement is hereby amended by adding the following definition thereto in alphabetical order:

“Eighth Amendment Date” is September 30, 2020.

3.Section 1.1 of the Loan Agreement is hereby further amended by amending and restating the following definitions therein as follows:

“Amortization Date” is November 1, 2022.

“Draw Period” is the period commencing on the Closing Date and ending on the earlier of (i) September 30, 2021 and (ii) the occurrence of an Event of Default.

“Effective Interest Rate” is:

    (a)     with respect to the Term Loans, the per annum rate of interest (based on a year of three
hundred sixty (360) days) equal to the greater of (i) 3.75% and (ii) the sum of (A) Index Rate on the last Business Day of the month that immediately precedes the month in which the interest will accrue, plus (B) Fifty Hundredths percent (0.50%); and

    (b)    with respect to the Revolving Advances, the per annum rate of interest (based on a year of three hundred sixty (360) days) equal to the greater of (i) 4.25% and (ii) the sum of (A) Index
Rate on the last Business Day of the month that immediately precedes the month in which the interest will accrue, plus (B) one percent (1.00%).

“Index Rate” means the Prime Rate published in the Money Rates section of the Western Edition of The Wall Street Journal.

“Maturity Date” is October 1, 2024.
ACTIVE 52464888v2



“Revolving Facility Termination Fee” is an additional fee payable by Borrower to Bank, upon the election by Borrower to terminate the Revolving Facility, in amount equal to:
(i)    for a termination on or before the first anniversary of the Eighth Amendment Date, three percent (3.00%) of the Revolving Line;
(ii)    a termination after the first anniversary of the Eighth Amendment Date and on or before the second anniversary of the Eighth Amendment Date, two percent (2.00%) of the Revolving Line; and
(iii)    a termination after the second anniversary of the Eighth Amendment Date and on or before the third anniversary of the Eighth Amendment Date, one percent (1.00%) of the Revolving Line.
4.Section 2.6 of the Loan Agreement is hereby further amended by deleting the word “and” at the end of Section 2.6(g), replacing “.” at the end of Section 2.6(h) with “; and” and adding the following Section 2.6(i) thereto:

(i)Eighth Amendment Fee. On the Eighth Amendment Date, a fully earned and non-refundable fee in the amount of Twelve Thousand Five Hundred Dollars ($12,500.00).


5.Bank hereby consents to the entry of Borrower into that Master Collaborative Research Agreement (in the form attached hereto as Exhibit A and without any amendments thereto, the “MCRA”), by and between Borrower and Molecular Assemblies, Inc. (“MAI”), dated as of June 22, 2020, pursuant to which, among other things, (i) Borrower purchased 1,587,050 shares of MAI’s Series A Preferred Stock for an aggregate price of One Million Dollars ($1,000,000.00) and (ii) in lieu of receiving cash, Borrower shall be paid for enzyme development services rendered to MAI, as well as milestones achieved through such development services, in shares of MAI’s Series A Preferred Stock. Bank hereby waives any Event of Default under Loan Agreement which may have resulted solely from Borrower’s entry into the MCRA and consummation of the transactions specified therein.

6.Limitation of Amendment.


a.The amendments and wavier set forth above are effective for the purposes set forth herein and shall be limited precisely as written and shall not be deemed to (a) be a consent to any amendment, waiver or modification of any other term or condition of any Loan Document, or (b) otherwise prejudice any right, remedy or obligation which the Bank or Borrower may now have or may have in the future under or in connection with any Loan Document, as amended hereby.

b.This Amendment shall be construed in connection with and as part of the Loan Documents and all terms, conditions, representations, warranties, covenants and agreements set forth in the Loan Documents, except as herein amended, are hereby ratified and confirmed and shall remain in full force and effect.


7.To induce the Bank to enter into this Amendment, Borrower hereby represents and warrants to the Bank as follows:

a.Immediately after giving effect to this Amendment (a) the representations and warranties contained in Article 5 of the Loan Agreement are true, accurate and complete in all material respects as of the date hereof (except to the extent such representations and warranties relate to an
    2
ACTIVE 52464888v2


earlier date, in which case they are true and correct in all material respects as of such date), and (b) no Event of Default has occurred and is continuing;

b.Borrower has the power and due authority to execute and deliver this Amendment and to perform its obligations under the Loan Agreement, as amended by this Amendment;

c.The organizational documents of Borrower delivered to the Bank on the Closing Date, and updated pursuant to subsequent deliveries by the Borrower to the Bank, if any, remain true, accurate and complete and have not been amended, supplemented or restated and are and continue to be in full force and effect;

d.The execution and delivery by Borrower of this Amendment and the performance by Borrower of its obligations under the Loan Agreement, as amended by this Amendment, do not and will not contravene (i) any law or regulation binding on or affecting Borrower, (ii) any contractual restriction with a Person binding on Borrower, (iii) any order, judgment or decree of any court or other governmental or public body or authority, or subdivision thereof, binding on Borrower, or (iv) the organizational documents of Borrower;

e.The execution and delivery by Borrower of this Amendment and the performance by Borrower of its obligations under the Loan Agreement, as amended by this Amendment, do not require any order, consent, approval, license, authorization or validation of, or filing, recording or registration by Borrower with, or exemption by any governmental or public body or authority, or subdivision thereof, binding on Borrower, except as already has been obtained or made; and

f.This Amendment has been duly executed and delivered by Borrower and is the binding obligation of Borrower, enforceable against Borrower in accordance with its terms, except as such enforceability may be limited by bankruptcy, insolvency, reorganization, liquidation, moratorium or other similar laws of general application and by general equitable principles.


8.Except as expressly set forth herein, the Loan Agreement shall continue in full force and effect without alteration or amendment. This Amendment and the Loan Documents represent the entire agreement about this subject matter and supersede prior negotiations or agreements.

9.This Amendment shall be deemed effective as of the Amendment Date upon the due execution and delivery to the Bank of this Amendment by each party hereto and the payment by Borrower to the Bank of fee due under Section 2.6(i) of the Loan Agreement as amended hereby.


10.This Amendment may be executed in any number of counterparts, each of which shall be deemed an original, and all of which, taken together, shall constitute one and the same instrument.


11.This Amendment and the rights and obligations of the parties hereto shall be governed by and construed in accordance with the laws of the State of California.



[Balance of Page Intentionally Left Blank]

    3
ACTIVE 52464888v2


IN WITNESS WHEREOF, the parties hereto have caused this Eighth Amendment to Loan and Security Agreement to be executed as of the date first set forth above.
BORROWER:
CODEXIS, INC., A DELAWARE CORPORATION
By: /s/ Ross Taylor
Name: Ross Taylor
Title: Chief Financial Officer
BANK:
WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
By: /s/ Lindsay Fouty
Name: Lindsay Fouty
Title: VP, Portfolio Management






ACTIVE 52464888v2


Exhibit A

Master Collaborative Research Agreement

(Form of Master Collaborative Research Agreement between
Molecular Assemblies, Inc. and Codexis, Inc. dated June 22, 2020)


EX-31.1 3 cdxs20200930ex311sp.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION
I, John J. Nicols, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Codexis, 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 the 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.
Date: November 6, 2020
/s/ John J. Nicols
John J. Nicols
President and Chief Executive Officer
(principal executive officer)


EX-31.2 4 cdxs20200930ex312sp.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION
I, Ross Taylor, certify that:
1.I have reviewed this Quarterly Report on Form 10-Q of Codexis, 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 the 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.
Date: November 6, 2020
/s/ Ross Taylor
Ross Taylor
Senior Vice President and Chief Financial Officer
(principal financial and accounting officer)


EX-32.1 5 cdxs20200930ex321sp.htm EX-32.1 Document

Exhibit 32.1
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 Codexis, Inc. (the “Company”) on Form 10-Q for the fiscal quarter ended September 30, 2020, as filed with the Securities and Exchange Commission (the “Report”), John J. Nicols, President and Chief Executive Officer of the Company and Ross Taylor, Senior Vice President and Chief Financial Officer of the Company, respectively, do each hereby certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that:
The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
The information in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.


Date: November 6, 2020
/s/ John J. Nicols
John J. Nicols
President and Chief Executive Officer
(principal executive officer)
/s/ Ross Taylor
Ross Taylor
Senior Vice President and Chief Financial Officer
(principal financial and accounting officer)


EX-101.SCH 6 cdxs-20200930.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0001001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 1001002 - Statement - Condensed Consolidated Balance Sheets link:presentationLink link:calculationLink link:definitionLink 1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1003004 - Statement - Condensed Consolidated Statements of Operations link:presentationLink link:calculationLink link:definitionLink 1004005 - Statement - Condensed Consolidated Statements of Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 1005006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 1006007 - Statement - Condensed Consolidated Statements of Cash Flows link:presentationLink link:calculationLink link:definitionLink 2101101 - Disclosure - Description of Business link:presentationLink link:calculationLink link:definitionLink 2402401 - Disclosure - Description of Business (Details) link:presentationLink link:calculationLink link:definitionLink 2103102 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 2204201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 2405402 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details) link:presentationLink link:calculationLink link:definitionLink 2106103 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 2307301 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 2408403 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 2409404 - Disclosure - Revenue Recognition - Contracts with Customer (Details) link:presentationLink link:calculationLink link:definitionLink 2410405 - Disclosure - Revenue Recognition - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2411406 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) link:presentationLink link:calculationLink link:definitionLink 2412407 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 2412407 - Disclosure - Revenue Recognition - Performance Obligation (Details) link:presentationLink link:calculationLink link:definitionLink 2113104 - Disclosure - Net income (loss) per Share link:presentationLink link:calculationLink link:definitionLink 2314302 - Disclosure - Net income (loss) per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 2415408 - Disclosure - Net income (loss) per Share - Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 2416409 - Disclosure - Net income (loss) per Share - Anti-Dilutive Securities (Details) link:presentationLink link:calculationLink link:definitionLink 2117105 - Disclosure - Collaborative Arrangements link:presentationLink link:calculationLink link:definitionLink 2418410 - Disclosure - Collaborative Arrangements - GSK Platform Technology Transfer, Collaboration and License Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2419411 - Disclosure - Collaborative Arrangements - Merck Platform Technology Transfer and License Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2420412 - Disclosure - Collaborative Arrangements - Merck Sitagliptin Catalyst Supply Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2421413 - Disclosure - Collaborative Arrangements - Enzyme Supply Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2422414 - Disclosure - Collaborative Arrangements - Global Development, Option and License Agreement, Strategic Collaboration Agreement, and Development Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2423415 - Disclosure - Collaborative Arrangements - Strategic Collaboration Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2424416 - Disclosure - Collaborative Arrangements - Platform Technology Transfer and License Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2425417 - Disclosure - Collaborative Arrangements - License Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2426418 - Disclosure - Collaborative Arrangements - Strategic Collaboration and License Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2427419 - Disclosure - Collaborative Arrangements - Master Collaboration and Research Agreement and Stock Purchase Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2427419 - Disclosure - Collaborative Arrangements - Master Collaboration and Research Agreement and Stock Purchase Agreement (Details) link:presentationLink link:calculationLink link:definitionLink 2428420 - Disclosure - Collaborative Arrangements - Performance Period (Details) link:presentationLink link:calculationLink link:definitionLink 2428420 - Disclosure - Collaborative Arrangements - Performance Period (Details) link:presentationLink link:calculationLink link:definitionLink 2129106 - Disclosure - Cash Equivalents and Equity Securities link:presentationLink link:calculationLink link:definitionLink 2330303 - Disclosure - Cash Equivalents and Equity Securities (Tables) link:presentationLink link:calculationLink link:definitionLink 2431421 - Disclosure - Cash Equivalents and Equity Securities - Components of Cash Equivalents (Details) link:presentationLink link:calculationLink link:definitionLink 2432422 - Disclosure - Cash Equivalents and Equity Securities - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2133107 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 2334304 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 2435423 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 2136108 - Disclosure - Balance Sheets Details link:presentationLink link:calculationLink link:definitionLink 2337305 - Disclosure - Balance Sheets Details (Tables) link:presentationLink link:calculationLink link:definitionLink 2438424 - Disclosure - Balance Sheets Details - Inventories (Details) link:presentationLink link:calculationLink link:definitionLink 2439425 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 2440426 - Disclosure - Balance Sheets Details - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2441427 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 2142109 - Disclosure - Stock-based Compensation link:presentationLink link:calculationLink link:definitionLink 2343306 - Disclosure - Stock-based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 2444428 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) link:presentationLink link:calculationLink link:definitionLink 2445429 - Disclosure - Stock-based Compensation - Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 2446430 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 2447431 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) link:presentationLink link:calculationLink link:definitionLink 2448432 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details) link:presentationLink link:calculationLink link:definitionLink 2149110 - Disclosure - Capital Stock link:presentationLink link:calculationLink link:definitionLink 2450433 - Disclosure - Capital Stock - Exercise of Options (Details) link:presentationLink link:calculationLink link:definitionLink 2451434 - Disclosure - Capital Stock - Private Offering (Details) link:presentationLink link:calculationLink link:definitionLink 2152111 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 2353307 - Disclosure - Commitments and Contingencies (Tables) link:presentationLink link:calculationLink link:definitionLink 2454435 - Disclosure - Commitments and Contingencies - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2455436 - Disclosure - Commitments and Contingencies - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 2456437 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) link:presentationLink link:calculationLink link:definitionLink 2457438 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 2458439 - Disclosure - Commitments and Contingencies - Future Minimum Lease Payments (Details) link:presentationLink link:calculationLink link:definitionLink 2458439 - Disclosure - Commitments and Contingencies - Future Minimum Lease Payments (Details) link:presentationLink link:calculationLink link:definitionLink 2459440 - Disclosure - Commitments and Contingencies - Other Commitments (Details) link:presentationLink link:calculationLink link:definitionLink 2160112 - Disclosure - Related Party link:presentationLink link:calculationLink link:definitionLink 2461441 - Disclosure - Related Party - Molecular Assemblies, Inc. (Details) link:presentationLink link:calculationLink link:definitionLink 2461441 - Disclosure - Related Party - Molecular Assemblies, Inc. (Details) link:presentationLink link:calculationLink link:definitionLink 2462442 - Disclosure - Related Party - Performance Period (Details) link:presentationLink link:calculationLink link:definitionLink 2462442 - Disclosure - Related Party - Performance Period (Details) link:presentationLink link:calculationLink link:definitionLink 2463443 - Disclosure - Related Party - AstraZeneca PLC (Details) link:presentationLink link:calculationLink link:definitionLink 2164113 - Disclosure - Segment, Geographical and Other Revenue Information link:presentationLink link:calculationLink link:definitionLink 2365308 - Disclosure - Segment, Geographical and Other Revenue Information (Tables) link:presentationLink link:calculationLink link:definitionLink 2466444 - Disclosure - Segment, Geographical and Other Revenue Information - Textual (Details) link:presentationLink link:calculationLink link:definitionLink 2467445 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details) link:presentationLink link:calculationLink link:definitionLink 2468446 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 2469447 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 2470448 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 2471449 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 2172114 - Disclosure - Allowance for Credit Losses link:presentationLink link:calculationLink link:definitionLink 2373309 - Disclosure - Allowance for Credit Losses (Tables) link:presentationLink link:calculationLink link:definitionLink 2474450 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) link:presentationLink link:calculationLink link:definitionLink 2475451 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 cdxs-20200930_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 cdxs-20200930_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 cdxs-20200930_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Area of real estate property (square feet) Area of Real Estate Property Other expenses, net Other Nonoperating Income (Expense) Increase (Decrease) in Stockholders' Equity Common Shares Stock Transactions, Parenthetical Disclosures [Abstract] Commitments and Contingencies Commitments and Contingencies Disclosure [Text Block] Number of options granted (shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross Series A Preferred Stock [Member] Series A Preferred Stock [Member] Customer E [Member] Customer E [Member] Customer E Roche [Member] Roche [Member] Roche Segments [Axis] Segments [Axis] Cash Equivalents and Marketable Securities [Line Items] Cash Equivalents and Marketable Securities [Line Items] Cash equivalents and marketable securities. Total Financial assets, net Accounts and Financing Receivable, after Allowance for Credit Loss, Current Schedule of Commitments and Contingencies [Table] Schedule of Commitments and Contingencies [Table] Schedule of commitments and contingencies. Performance obligations satisfied Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized Statistical Measurement [Domain] Statistical Measurement [Domain] Liabilities and Stockholders' Equity Liabilities and Equity [Abstract] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Schedule of stock-based compensation expense Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Amortization of right-of-use assets Finance Lease, Right-of-Use Asset, Amortization Other long-term liabilities Increase (Decrease) in Other Noncurrent Liabilities Office equipment and furniture [Member] Office Equipment and Furniture [Member] Office Equipment and Furniture [Member] Schedule of revenues by geographical area Reconciliation of Revenue from Segments to Consolidated [Table Text Block] Current Fiscal Year End Date Current Fiscal Year End Date 2020 PSU and PBO Plan [Member] 2020 PSU and PBO Plan [Member] 2020 PSU and PBO Plan Income (loss) from operations Income (loss) from operations Operating Income (Loss) Entity Address, Postal Zip Code Entity Address, Postal Zip Code Total current liabilities Liabilities, Current Contract with customer Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block] Performance Shares [Member] Performance Shares [Member] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Commitments and Contingencies (Note 11) Commitments and Contingencies Taxes paid related to net share settlement of equity awards Share-based Payment Arrangement, Decrease for Tax Withholding Obligation Tranche Two [Member] Share-based Payment Arrangement, Tranche Two [Member] Assets Assets [Abstract] Schedule of Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Investment, Name [Axis] Investment, Name [Axis] Award vesting period Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period Accounting Policies [Abstract] Accounting Policies [Abstract] Entity Shell Company Entity Shell Company Cover page. Cover [Abstract] Operating cash flows from operating leases Operating Lease, Payments Accounts payable Accounts Payable, Current Document Type Document Type Sublease income Sublease Income Financial Asset, Period Past Due [Axis] Financial Asset, Period Past Due [Axis] Schedule of Cash and Cash Equivalents [Table] Schedule of Cash and Cash Equivalents [Table] Other Commitments [Table] Other Commitments [Table] Accumulated deficit Retained Earnings (Accumulated Deficit) Right-of-use assets - Operating leases, net Operating Lease, Right-of-Use Asset 2021 Lessee, Operating Lease, Liability, to be Paid, Year One Income taxes paid Income Taxes Paid RSUs and RSAs [Member] RSAs and RSUs [Member] RSAs and RSUs [Member] 2024 Lessee, Operating Lease, Liability, to be Paid, Year Four New Accounting Pronouncements or Change in Accounting Principle [Line Items] New Accounting Pronouncements or Change in Accounting Principle [Line Items] Customer [Axis] Customer [Axis] Beginning balance (shares) Ending balance (shares) Shares, Outstanding Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding Preferred Stock, Value, Issued Target sales for milestone Revenue Recognition, Target Sales for Sales Milestone Revenue Recognition, Target Sales for Sales Milestone Term of collaborative research and development agreement Term of Collaborative Research and Development Agreement Term of collaborative research and development agreement. Income Taxes Income Tax, Policy [Policy Text Block] Total lease cost Lease, Cost Document Quarterly Report Document Quarterly Report Common stock, par value (usd per share) Common Stock, Par or Stated Value Per Share Other long-term liabilities Other Liabilities, Noncurrent Payments of lease obligations - Finance leases Finance Lease, Principal Payments Finance Lease, Principal Payments Employee stock-based compensation APIC, Share-based Payment Arrangement, Increase for Cost Recognition Asset retirement obligations Asset Retirement Obligation Cash Equivalents and Marketable Securities [Abstract] Cash Equivalents and Marketable Securities [Abstract] Cash Equivalents and Marketable Securities [Abstract] Inventories Inventories Inventory, Net Unbilled receivables Unbilled Receivables, Current Total revenues Total revenues Revenue from Contract with Customer, Excluding Assessed Tax Investment in Equity Securities Investment, Policy [Policy Text Block] Current Financing Receivable, Not Past Due Concentration risk, percentage Concentration Risk, Percentage Entity File Number Entity File Number Geographical [Domain] Geographical [Domain] Expiration period Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period Statement [Line Items] Statement [Line Items] Securities not included in the net loss per common share calculations Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Forecast [Member] Forecast [Member] Class of Stock [Domain] Class of Stock [Domain] Computer equipment and software [Member] Computer Equipment [Member] Loss on investment in equity securities Unrealized Gain (Loss) on Investments Document Fiscal Period Focus Document Fiscal Period Focus Collaborative Arrangement and Arrangement Other than Collaborative [Table] Collaborative Arrangement and Arrangement Other than Collaborative [Table] Statement [Table] Statement [Table] Statistical Measurement [Axis] Statistical Measurement [Axis] Contract assets Contract with Customer, Asset, before Allowance for Credit Loss, Current Milestone One [Member] Milestone One [Member] Milestone One [Member] Credit Facility [Axis] Credit Facility [Axis] Summary of accounts receivable by aging Financing Receivable, Past Due [Table Text Block] Research and Development Arrangement, Contract to Perform for Others, Type [Axis] Research and Development Arrangement, Contract to Perform for Others, Type [Axis] Preferred stock, shares issued (shares) Preferred Stock, Shares Issued CESA [Member] Commercialization And Enzyme Supply Agreement [Member] Commercialization And Enzyme Supply Agreement Research and Development Arrangement, Contract to Perform for Others, Type [Domain] Research and Development Arrangement, Contract to Perform for Others, Type [Domain] Merck [Member] Merck [Member] Merck [Member] Performance obligations satisfied from new activities in the period - contract revenue Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition Supply Commitment Arrangement [Domain] Supply Commitment Arrangement [Domain] Number of installments Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Number of shares issued and sold Sale of Stock, Number of Shares Issued in Transaction Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Balance Sheet Details [Abstract] Performance Enzymes [Member] Performance Enzymes [Member] Performance Enzymes [Member] Fair Value, Measurements, Fair Value Hierarchy [Domain] Fair Value Hierarchy and NAV [Domain] Collaborative Arrangement [Member] Collaborative Arrangement [Member] Selling, General and Administrative [Member] Selling, General and Administrative Expenses [Member] Novel Biotherapeutics [Member] Biotherapeutic Segment [Member] Biotherapeutic Segment [Member] Financial Asset, Period Past Due [Domain] Financial Asset, Period Past Due [Domain] Technology Transfer, Collaboration and License Agreement [Member] Technology Transfer, Collaboration and License Agreement [Member] Technology Transfer, Collaboration and License Agreement [Member] Aggregate commercial sales, milestone Contract With Customer, Sales Milestone Contract With Customer, Sales Milestone Schedule of earnings (loss) per share, basic and diluted Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] March 2020 [Member] March 2020 [Member] March 2020 Number of shares authorized Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized Corporate [Member] Corporate, Non-Segment [Member] Nonemployee [Member] Share-based Payment Arrangement, Nonemployee [Member] Summary of financial instruments measured at fair value on a recurring basis Fair Value, Assets Measured on Recurring Basis [Table Text Block] Amendment Flag Amendment Flag Number of shares available for grant Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant Net cash used in operating activities Net Cash Provided by (Used in) Operating Activities Future Minimum Payment Supply Commitment, Remaining Minimum Amount Committed Loss contingency accrual Loss Contingency, Accrual, Current Number of reporting units Number of Reporting Units Related Party Transaction [Line Items] Related Party Transaction [Line Items] Financing assets and Allowances Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block] Term of contract Lessee, Finance Lease, Term of Contract Novel Biotherapeutics [Member] Novel Biotherapeutics [Member] Novel Biotherapeutics [Member] Incentive Stock Options [Member] Incentive Stock Options [Member] Incentive Stock Options [Member] Purchase of property and equipment recorded in accounts payable and accrued expenses Capital Expenditures Incurred but Not yet Paid Geographical [Axis] Geographical [Axis] Geographical [Axis] Sublease [Member] Sublease [Member] Sublease Local Phone Number Local Phone Number Segments [Domain] Segments [Domain] Renewal term Lessee, Operating Lease, Renewal Term Compensation not yet recognized, stock options Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Finance lease costs Finance Lease, Cost Finance Lease, Cost Property, Plant and Equipment, Type [Axis] Long-Lived Tangible Asset [Axis] Effect of dilutive shares (shares) Weighted Average Number Diluted Shares Outstanding Adjustment Schedule of stock-based compensation expense by security types Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block] Other Other Accrued Liabilities Income Statement Location [Axis] Income Statement Location [Axis] Income Statement Location [Domain] Income Statement Location [Domain] Cash [Member] Cash [Member] Non-employee stock-based compensation APIC, Share-based Payment Arrangement, Option, Increase for Cost Recognition 2022 Lessee, Operating Lease, Liability, to be Paid, Year Two Research and Development Agreement [Member] Research and Development Agreement [Member] Research and Development Agreement [Member] Other Commitments [Line Items] Other Commitments [Line Items] Financing activities: Net Cash Provided by (Used in) Financing Activities [Abstract] Selling, general and administrative Selling, General and Administrative Expense Agreement Date [Axis] Agreement Date [Axis] Agreement Date [Axis] Lease cost Lease, Cost [Table Text Block] Fixed Consideration [Member] Research And Development Agreement Term, Fixed Consideration [Member] Research And Development Agreement Term, Fixed Consideration Entity Current Reporting Status Entity Current Reporting Status 2023 Lessee, Operating Lease, Liability, to be Paid, Year Three Other non-current assets Other Assets, Noncurrent Plan Name [Axis] Plan Name [Axis] September 2019 [Member] September 2019 [Member] September 2019 [Member] 501 Chesapeake [Member] 501 Chesapeake [Member] 501 Chesapeake Segment, Geographical and Other Revenue Information Segment Reporting Disclosure [Text Block] Issuance of common stock, net of issuance costs of $129 Stock Issued During Period, Value, New Issues Cash and cash equivalents, fair value Money market funds Cash and Cash Equivalents, Fair Value Disclosure Concentration Risk [Table] Concentration Risk [Table] Operating cash flows from finance leases Finance Lease, Interest Payment on Liability Total assets Assets Related Party Related Party Transactions Disclosure [Text Block] Milestone Payment Per Target Gene [Member] Milestone Payment Per Target Gene [Member] Milestone Payment Per Target Gene Scenario [Axis] Scenario [Axis] Schedule of other accrued liabilities Schedule of Accrued Liabilities [Table Text Block] Strategic Collaboration Agreement [Member] Strategic Collaboration Agreement [Member] Strategic Collaboration Agreement [Member] Antidilutive Securities [Axis] Antidilutive Securities [Axis] Cumulative catch-up adjustment to revenue, change in measure of progress Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress Global Development, Option and License Agreement [Member] Global Development, Option and License Agreement [Member] Global Development, Option and License Agreement [Member] Entity Small Business Entity Small Business Finance lease liability Finance Lease, Liability, Fiscal Year Maturity [Table Text Block] Vesting [Domain] Vesting [Domain] Net proceeds received Sale of Stock, Consideration Received on Transaction Balance Sheets Details Balance Sheets Details [Text Block] Balance sheets details. Entity Filer Category Entity Filer Category Revenue, Initial Application Period Cumulative Effect Transition [Line Items] Revenue, Initial Application Period Cumulative Effect Transition [Line Items] Product and Service [Axis] Product and Service [Axis] Non-current restricted cash Restricted Cash and Investments, Noncurrent Total liabilities Liabilities Entity Address, City or Town Entity Address, City or Town Expected volatility rate Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Schedule of Related Party Transactions, by Related Party [Table] Schedule of Related Party Transactions, by Related Party [Table] Total revenues Revenue recognized Contract with Customer, Liability, Revenue Recognized Financing Receivable, Allowance for Credit Loss [Roll Forward] Financing Receivable, Allowance for Credit Loss [Roll Forward] Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Level 1 [Member] Fair Value, Inputs, Level 1 [Member] Accrued professional and outside service fees Accrued Professional Fees Inventories Increase (Decrease) in Inventories Term Loan [Member] Term Loan [Member] Term Loan [Member] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table] Fair Value, Recurring and Nonrecurring [Table] Document Fiscal Year Focus Document Fiscal Year Focus Restricted cash Restricted Cash and Cash Equivalents, Noncurrent Accounts payable Increase (Decrease) in Accounts Payable Performance Enzymes [Member] Core Segment [Member] Core Segment [Member] Additional Paid-in Capital [Member] Additional Paid-in Capital [Member] Summary of financial instruments measured at fair value on a recurring basis Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract] Research and development revenue from transactions with MAI Nonmonetary Transaction, Gross Operating Revenue Recognized Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Operating Segments [Member] Operating Segments [Member] Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Adjustments to reconcile net loss to net cash used in operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Accounts receivable Total balance Accounts Receivable, before Allowance for Credit Loss, Current 2025 and thereafter Lessee, Operating Lease, Liability, to be Paid, After Year Four Lessee, Operating Lease, Liability, to be Paid, After Year Four Interest on lease obligations Finance Lease, Interest Expense Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue from Contract with Customer [Abstract] Revenue from Contract with Customer [Abstract] PBOs [Member] Performance Based Options (PBOs) [Member] Performance Based Options (PBOs) [Member] Cash and Cash Equivalents [Line Items] Cash and Cash Equivalents [Line Items] Common stock, shares outstanding (shares) Common Stock, Shares, Outstanding Costs and operating expenses: Operating Costs and Expenses [Abstract] Transactions With AstraZeneca PLC [Member] Transactions With AstraZeneca PLC [Member] Transactions With AstraZeneca PLC Revolving Credit Facility [Member] Revolving Credit Facility [Member] Loss Contingency Nature [Axis] Loss Contingency Nature [Axis] Research and development Research and Development Expense Royalty [Member] Royalty [Member] Common stock, shares authorized (shares) Common Stock, Shares Authorized Concentration Risk Type [Axis] Concentration Risk Type [Axis] Property and equipment Property, Plant and Equipment, Gross Proceeds from exercises of stock options Proceeds from exercises of stock options Proceeds from Stock Options Exercised Impairment charges related to contract assets Contract with Customer, Asset, Credit Loss Expense (Reversal) Agreement Date [Domain] Agreement Date [Domain] [Domain] for Agreement Date [Axis] Schedule of segment reporting Schedule of Segment Reporting Information, by Segment [Table Text Block] Goodwill Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block] Document Period End Date Document Period End Date Collaborative Arrangement and Arrangement Other than Collaborative [Line Items] Collaborative Arrangement and Arrangement Other than Collaborative [Line Items] Accrued compensation Increase (Decrease) in Employee Related Liabilities Entity Registrant Name Entity Registrant Name Income Statement [Abstract] Income Statement [Abstract] Long-term lease obligations - Operating leases Operating Lease, Liability, Noncurrent Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Schedule of long-lived assets by geographical area Schedule of Disclosure on Geographic Areas, Long-Lived Assets in Individual Foreign Countries by Country [Table Text Block] Allowance for Credit Losses Credit Loss, Financial Instrument [Text Block] Schedule of cash equivalents Cash, Cash Equivalents and Investments [Table Text Block] Schedule of Segment Reporting Information, by Segment [Table] Schedule of Segment Reporting Information, by Segment [Table] Name of Property [Domain] Name of Property [Domain] Use of Estimates Use of Estimates, Policy [Policy Text Block] Number of buildings leased Number of Properties Subject to Ground Leases Current assets: Assets, Current [Abstract] Interest income Investment Income, Interest 2019 PSU and PBO Plan [Member] 2019 PSU and PBO Plan [Member] 2019 PSU and PBO Plan [Member] MCRA [Member] Master Collaboration & Research Agreement [Member] Master Collaboration & Research Agreement Financing Receivable, Allowance for Credit Loss [Line Items] Financing Receivable, Allowance for Credit Loss [Line Items] Expected dividend yield Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate Preferred stock, par value (usd per share) Preferred Stock, Par or Stated Value Per Share Scenario [Domain] Scenario [Domain] Counterparty Name [Domain] Counterparty Name [Domain] Purchase of property and equipment Payments to Acquire Property, Plant, and Equipment Consolidation Items [Domain] Consolidation Items [Domain] Entity Tax Identification Number Entity Tax Identification Number Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Maximum number of shares to be issued upon exercise of stock options Common Stock, Capital Shares Reserved for Future Issuance Schedule of Cash Equivalents and Marketable Securities [Table] Schedule of Cash Equivalents and Marketable Securities [Table] Schedule of cash equivalents and marketable securities. Director [Member] Director [Member] Unbilled receivables Increase (Decrease) in Finance Receivables Disaggregation of revenue Disaggregation of Revenue [Table Text Block] Income (loss) before income taxes Income (loss) before income taxes Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest Trading Symbol Trading Symbol Milestone Three [Member] Milestone Three [Member] Milestone Three Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Schedule of inventory components Schedule of Inventory, Current [Table Text Block] Stock-based compensation Share-based Payment Arrangement, Noncash Expense Taxes paid related to net share settlement of equity awards Payment, Tax Withholding, Share-based Payment Arrangement Number of additional programs Collaborative Arrangement, Number Of Additional Programs Collaborative Arrangement, Number Of Additional Programs Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Deferred revenue Increase (Decrease) in Contract with Customer, Liability 2019 Plan [Member] 2019 Plan [Member] 2019 Plan [Member] Fair Value Disclosures [Abstract] Fair Value Disclosures [Abstract] Restricted cash, current and non-current Restricted Cash and Cash Equivalents City Area Code City Area Code Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Cost of product revenue Cost of Goods and Services Sold Finance lease costs: Lease, Cost [Abstract] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Total costs and operating expenses Costs and Expenses Equity Components [Axis] Equity Components [Axis] Title of 12(b) Security Title of 12(b) Security Past due Financing Receivable, Past Due Share-based Payment Arrangement [Abstract] Share-based Payment Arrangement [Abstract] Receivables [Abstract] Minimum [Member] Minimum [Member] Restricted Cash and Cash Equivalents [Axis] Restricted Cash and Cash Equivalents [Axis] Current portion of lease obligations - Operating leases Operating Lease, Liability, Current Compensation not yet recognized, share-based awards other than options Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount 91 Days and Over [Member] Financial Asset, Equal to or Greater than 90 Days Past Due [Member] Commitments and Contingencies [Line Items] Commitments and Contingencies [Line Items] Commitments and contingencies. United States [Member] UNITED STATES Weighted average exercise price of stock options exercised (usd per share) Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Revenues: Revenues [Abstract] Operating activities: Net Cash Provided by (Used in) Operating Activities [Abstract] Recoveries of amounts previously written off Financing Receivable, Allowance for Credit Loss, Recovery Capital Stock Stockholders' Equity Note Disclosure [Text Block] Accrued purchases Purchase Obligation Accounts Receivable [Member] Accounts Receivable [Member] Customer [Domain] Customer [Domain] Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Concentration Risk [Line Items] Concentration Risk [Line Items] Weighted-average discount rate Operating Lease, Weighted Average Discount Rate, Percent Supply Agreement [Member] Supply Agreement [Member] Supply Agreement [Member] Proceeds from disposal of property and equipment Proceeds from Sale of Property, Plant, and Equipment Number of reportable segments Number of Reportable Segments Consolidation Items [Axis] Consolidation Items [Axis] Research and Development [Member] Research and Development Expense [Member] Investment in equity securities Payments to acquire other investments Payments to Acquire Other Investments Finished goods Inventory, Finished Goods, Gross Total minimum lease payments Lessee, Operating Lease, Liability, to be Paid Ownership percentage Noncontrolling Interest, Ownership Percentage by Parent Research and Development [Abstract] Research and Development [Abstract] Goodwill, allocated percent Goodwill, Allocated Percent Goodwill, Allocated Percent Short swing profit settlement Adjustments to Additional Paid in Capital, Other One-time, non-refundable cash payment Proceeds from Collaborators 31-60 Days [Member] Financial Asset, 30 to 59 Days Past Due [Member] Revenue, Product and Service Benchmark [Member] Revenue, Product and Service Benchmark [Member] Sale of Stock [Axis] Sale of Stock [Axis] Non-Statutory Stock Options [Member] Non-Statutory Stock Options [Member] Non-Statutory Stock Options [Member] Purchase price of common stock Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent Goodwill Goodwill Goodwill Financial assets: Financing Receivable, before Allowance for Credit Loss [Abstract] Supply Commitment [Member] Supply Commitment [Member] Research and Development Reimbursement [Member] Research and Development Reimbursement [Member] Research and Development Reimbursement Title of Individual [Axis] Title of Individual [Axis] Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Collaborative Arrangement and Arrangement Other than Collaborative [Domain] Performance awards, threshold level, number of shares, multiplier Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier Vesting [Axis] Vesting [Axis] Accounts receivable from related parties Accounts Receivable, Related Parties Equity [Abstract] Equity [Abstract] License Fee [Member] License Fee [Member] License Fee EMEA [Member] EMEA [Member] Issuance costs Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Entity Central Index Key Entity Central Index Key Schedule of intangible assets and goodwill Schedule of Intangible Assets and Goodwill [Table Text Block] Deferred revenue Contract with Customer, Liability, Current Entity Emerging Growth Entity Emerging Growth Company Customer Concentration Risk [Member] Customer Concentration Risk [Member] 101 Saginaw [Member] 101 Saginaw [Member] 101 Saginaw April 2016 [Member] April 2016 [Member] April 2016 [Member] Credit Facility [Domain] Credit Facility [Domain] Weighted average common stock shares used in computing net income (loss) per share, diluted (shares) Weighted average common stock shares used in computing net income (loss) per share, diluted (shares) Weighted Average Number of Shares Outstanding, Diluted Net income (loss) per share, basic (usd per share) Earnings Per Share, Basic Porton [Member] Porton [Member] Porton [Member] Number of operating segments Number of Operating Segments Weighted-average remaining lease term (in years) Operating Lease, Weighted Average Remaining Lease Term Indemnification Agreement [Member] Indemnification Agreement [Member] 200-220 Penobscot [Member] 200-220 Penobscot [Member] 200-220 Penobscot Takeda [Member] Takeda Pharmaceutical Co. Ltd. [Member] Takeda Pharmaceutical Co. Ltd. Net cash provided by (used in) financing activities Net Cash Provided by (Used in) Financing Activities Performance obligation Revenue, Remaining Performance Obligation, Amount Stock-based compensation expense Share-based Payment Arrangement, Expense Nestec Ltd. (Nestle Health Sciences) [Member] Nestec Ltd. (Nestle Health Sciences) [Member] Nestec Ltd. (Nestle Health Sciences) [Member] Counterparty Name [Axis] Counterparty Name [Axis] Common stock, $0.0001 par value per share; 100,000 shares authorized; 59,232 shares and 58,877 shares issued and outstanding at September 30, 2020 and December 31, 2019, respectively Common Stock, Value, Issued Estimated performance goal achievement rate Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate Product Revenue [Member] Product Sales [Member] Product Sales [Member] Amortization expense - right-of-use assets - operating and finance leases Lease, Right-of-Use Asset, Amortization Lease, Right-of-Use Asset, Amortization 400 Penobscot [Member] 400 Penoscot [Member] 400 Penoscot Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Computer Equipment and Software [Member] Computer Equipment and Software [Member] Computer Equipment and Software [Member] Purchase price (usd per share) Sale of Stock, Price Per Share Related Party Transaction [Axis] Related Party Transaction [Axis] Schedule of Inventory Components Inventory, Net [Abstract] Balance Sheets Details [Abstract] Balance Sheets Details [Abstract] -- None. No documentation exists for this element. -- Contract assets Increase (Decrease) in Contract with Customer, Asset Award vesting rights (percent) Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage Collaborative Arrangements Collaborative Arrangement Disclosure [Text Block] Investing activities: Net Cash Provided by (Used in) Investing Activities [Abstract] Common stock, shares, issued (shares) Common Stock, Shares, Issued Cash and cash equivalents Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Number of shares purchased Investment Owned, Balance, Shares Lease Obligations Operating Lease, Liability Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table] Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table] Segment Reporting [Abstract] Segment Reporting [Abstract] Sales-Based Milestone [Member] Sales-Based Milestone [Member] Sales-Based Milestone [Member] Project [Domain] Project [Domain] Accounts receivable, net Increase (Decrease) in Accounts Receivable Total stockholders' equity Beginning balance Ending balance Stockholders' Equity Attributable to Parent Description of Business Nature of Operations [Text Block] Issuance costs Costs incurred in connection with private placement Payments of Stock Issuance Costs Concentration Risk Type [Domain] Concentration Risk Type [Domain] Research and Development Revenue [Member] Research and Development Revenue [Member] Research and Development Revenue [Member] CDX-6114 [Member] CDX-6114 [Member] CDX-6114 [Member] Molecular Assemblies, Inc. [Member] Molecular Assemblies, Inc. [Member] Molecular Assemblies, Inc. Total liabilities and stockholders' equity Liabilities and Equity Raw materials Inventory, Raw Materials, Gross Schedule of customers that contributed 10% or more of total accounts receivable Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Accrued compensation Employee-related Liabilities, Current Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] RSUs [Member] Restricted Stock Units (RSUs) [Member] Operating lease cost Operating Lease, Cost Milestone payment amount Revenue Recognition, Milestone Payment Amount Revenue Recognition, Milestone Payment Amount Total shares excluded as anti-dilutive (shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Proceeds from the sale of investment securities Proceeds from Sale, Maturity and Collection of Investments Agreement Type [Axis] Agreement Type [Axis] Agreement Type [Axis] Short-term lease cost Short-term Lease, Cost Purchase price of common stock above minimum threshold Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent Gain on disposal of property and equipment Gain (Loss) on Disposition of Property Plant Equipment Equity Component [Domain] Equity Component [Domain] Grantee Status [Domain] Grantee Status [Domain] Contingent annual receivable increase Revenue Recognition, Contingent Annual Receivable Increase Revenue Recognition, Contingent Annual Receivable Increase Entity Address, Address Line One Entity Address, Address Line One Property and equipment, net Property and equipment, net Long-lived assets Property, Plant and Equipment, Net Construction in progress [Member] Construction in Progress [Member] Stock-based Compensation Share-based Payment Arrangement [Text Block] Net income (loss) Net income (loss) Net loss Net income Net Income (Loss) Attributable to Parent Entity Address, State or Province Entity Address, State or Province Changes in operating assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] 2020 (remaining 3 months) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Investment, Name [Domain] Investment, Name [Domain] Allowance for credit losses Current period provision Financing Receivable, Credit Loss, Expense (Reversal) Work-in-process Inventory, Work in Process, Gross Demand Deposits [Member] Demand Deposits [Member] Total current assets Assets, Current Earnings Per Share [Abstract] Earnings Per Share [Abstract] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Up-front Payment [Member] Up-front Payment [Member] Up-front Payment Contingent receivable Revenue Recognition, Contingent Receivable Revenue Recognition, Contingent Receivable Stockholders' equity: Stockholders' Equity Attributable to Parent [Abstract] Entity Interactive Data Current Entity Interactive Data Current Customer B [Member] Customer B [Member] Customer B [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Subsidiary, Sale of Stock [Line Items] Subsidiary, Sale of Stock [Line Items] Deferred revenue, net of current portion Contract with Customer, Liability, Noncurrent Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Supplemental disclosure of cash flow information Supplemental Cash Flow Information [Abstract] Investment in Equity Securities Investment at cost basis Investments and Other Noncurrent Assets Percent of voting interests Percent of Voting Interests Threshold to trigger higher exercise price Percent of Voting Interests Threshold to trigger higher exercise price Schedule of stock-based compensation expense Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Common Stock [Member] Common Stock [Member] Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Product and Service [Domain] Product and Service [Domain] Property, Plant and Equipment, Type [Domain] Long-Lived Tangible Asset [Domain] Number of initial programs Collaborative Arrangement, Number Of Initial Programs Collaborative Arrangement, Number Of Initial Programs Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Contract Costs Capitalized Contract Cost, Net, Current Bonus Goal Met [Member] Research And Development Agreement Term, Bonus Goal Met [Member] Research And Development Agreement Term, Bonus Goal Met Financing Receivable, Allowance for Credit Loss [Table] Financing Receivable, Allowance for Credit Loss [Table] Schedule of property and equipment, net Property, Plant and Equipment [Table Text Block] Operating Leases Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract] Duration to pay after milestone achievement (in days) Revenue Recognition, Duration to Pay After Milestone Achievement Revenue Recognition, Duration to Pay After Milestone Achievement Issuance of common stock, net of issuance costs (shares) Stock Issued During Period, Shares, New Issues Customer A [Member] Customer A [Member] Customer A [Member] Leasehold improvements [Member] Leasehold Improvements [Member] Stated interest rate Debt Instrument, Interest Rate, Stated Percentage Capital lease obligations incurred Lease Obligation Incurred Money Market Funds [Member] Money Market Funds [Member] Expected timing of satisfaction, period Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Shares Issuable Under the Equity Incentive Plan [Member] Non-Employee Stock Options [Member] Share-based Payment Arrangement [Member] Total Financial assets Financing Receivable, before Allowance for Credit Loss Less: accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Less: allowances Beginning Balance January 1, 2020 Ending Balance September 30, 2020 Financing Receivable, Allowance for Credit Loss, Current Name of Property [Axis] Name of Property [Axis] Exercise of stock options (shares) Stock options exercised (shares) Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period Related Party Transactions [Abstract] Net increase (decrease) in cash, cash equivalents and restricted cash Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Due from affiliate Due from Affiliate, Current Right-of-use assets - Finance leases, net Finance Lease, Right-of-Use Asset, after Accumulated Amortization Loss Contingency, Nature [Domain] Loss Contingency, Nature [Domain] Operating lease maturity Lessee, Operating Lease, Liability, Maturity [Table Text Block] Number of options to extend Lessee, Operating Lease, Option To Extend, Number Lessee, Operating Lease, Option To Extend, Number Stock Options [Member] Share-based Payment Arrangement, Option [Member] Basis of Presentation and Principles of Consolidation Basis of Accounting, Policy [Policy Text Block] Other accrued liabilities Increase (Decrease) in Other Accrued Liabilities Weighted average common stock shares used in computing net income (loss) per share, basic (shares) Weighted Average Number of Shares Outstanding, Basic Basis spread on variable rate (percent) Debt Instrument, Basis Spread on Variable Rate Risk free interest rate Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate Grantee Status [Axis] Grantee Status [Axis] Ownership [Axis] Ownership [Axis] Sale of Stock [Domain] Sale of Stock [Domain] Ownership [Domain] Ownership [Domain] Plan Name [Domain] Plan Name [Domain] Revenue Recognition Revenue from Contract with Customer [Text Block] Interest paid Interest Paid, Excluding Capitalized Interest, Operating Activities Number of days for payment Revenue Recognition, Milestone Revenue, Number of Days for Payment Revenue Recognition, Milestone Revenue, Number of Days for Payment Release of stock awards (shares) Stock Issued During Period, Shares, Other Proceeds from issuance of common stock in connection with private placement Proceeds from Issuance Initial Public Offering Additional paid-in capital Additional Paid in Capital Class of Stock [Axis] Class of Stock [Axis] Provision for (benefit from) income taxes Income Tax Expense (Benefit) GSK [Member] GSK [Member] GSK [Member] PSUs [Member] Performance Stock Units [Member] Performance Stock Units [Member] Cash, cash equivalents and restricted cash at the beginning of the period Cash, cash equivalents and restricted cash at the end of the period Total cash, cash equivalents and restricted cash at the end of the period Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents New Accounting Pronouncements or Change in Accounting Principle [Table] Accounting Standards Update and Change in Accounting Principle [Table] Title of Individual [Domain] Title of Individual [Domain] Other accrued liabilities Total Accrued Liabilities, Current Net income (loss) per share, diluted (usd per share) Earnings Per Share, Diluted Current portion of lease obligations - Finance leases Finance Lease, Liability, Current Americas [Member] Americas [Member] Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Collaborative Arrangement and Arrangement Other than Collaborative [Axis] Tranche One [Member] Share-based Payment Arrangement, Tranche One [Member] Credit Availability Concentration Risk [Member] Credit Availability Concentration Risk [Member] Novartis [Member] Novartis [Member] Novartis [Member] Depreciation Depreciation and amortization Depreciation Contract Liabilities: Deferred Revenue Contract with customer, liability Contract with Customer, Liability Related Party Transaction [Domain] Related Party Transaction [Domain] Project [Axis] Project [Axis] Other non-current assets Increase (Decrease) in Other Operating Assets Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Award Type [Axis] Award Type [Axis] 2018 PSU and PBO Plan [Member] 2018 PSU and PBO Plan [Member] 2018 PSU and PBO Plan [Member] Optional extension period Collaborative Research and Development Agreement, Optional Extension Period Collaborative Research and Development Agreement, Optional Extension Period Cash Equivalents and Equity Securities Cash Equivalents And Investment [Text Block] Cash Equivalents And Investment Maximum [Member] Maximum [Member] Recovery of short swing profit Proceeds from Other Equity Security Exchange Name Security Exchange Name Preferred stock, shares authorized (shares) Preferred Stock, Shares Authorized Fair value of options granted Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted In Period, Fair Value Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted In Period, Fair Value Fair Value Measurements Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block] Restricted cash, current Restricted Cash Schedule of supply and service commitments Supply Commitment [Table Text Block] Milestone Two [Member] Milestone Two [Member] Milestone Two [Member] Accumulated Deficit [Member] Retained Earnings [Member] Preferred stock, shares outstanding (shares) Preferred Stock, Shares Outstanding Write-offs charged against the allowance Financing Receivable, Allowance for Credit Loss, Writeoff Customer C [Member] Customer C [Member] Customer C [Member] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Basis of Presentation and Summary of Significant Accounting Policies Significant Accounting Policies [Text Block] Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Laboratory equipment [Member] Laboratory Equipment [Member] Laboratory Equipment [Member] Award Type [Domain] Award Type [Domain] Document Transition Report Document Transition Report Analysis of allowance for credit losses Financing Receivable, Allowance for Credit Loss [Table Text Block] 61-90 Days [Member] Financial Asset, 60 to 89 Days Past Due [Member] Revenue from related parties Revenue from Related Parties Denominator: Weighted Average Number of Shares Outstanding Reconciliation [Abstract] Supply Commitment [Axis] Supply Commitment [Axis] Revenue, Initial Application Period Cumulative Effect Transition [Table] Revenue, Initial Application Period Cumulative Effect Transition [Table] Private Offering [Member] Private Placement [Member] Agreement Type [Domain] Agreement Type [Domain] [Domain] for Agreement Type [Axis] Performance obligation, expected timing of satisfaction Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block] Net income (loss) per Share Earnings Per Share [Text Block] Organization, Consolidation and Presentation of Financial Statements [Abstract] Organization, Consolidation and Presentation of Financial Statements [Abstract] APAC [Member] APAC [Member] Regions of Australia, New Zealand, Southeast Asia and China Customer D [Member] Customer D [Member] Customer D [Member] Current liabilities: Liabilities, Current [Abstract] Segment Reporting Information [Line Items] Segment Reporting Information [Line Items] Accretion expense related to asset retirement obligation Asset Retirement Obligation, Accretion Expense Taxes paid related to net share settlement of equity awards (shares) Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation Segment Reporting Segment Reporting, Policy [Policy Text Block] Accounting Pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Schedule of long-lived assets by geographical area Geographic Areas, Long-Lived Assets [Abstract] EX-101.PRE 10 cdxs-20200930_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 11 cdxs-20200930_htm.xml IDEA: XBRL DOCUMENT 0001200375 2020-01-01 2020-09-30 0001200375 2020-10-30 0001200375 2020-09-30 0001200375 2019-12-31 0001200375 country:US 2020-09-30 0001200375 country:US 2019-12-31 0001200375 cdxs:ProductSalesMember 2020-07-01 2020-09-30 0001200375 cdxs:ProductSalesMember 2019-07-01 2019-09-30 0001200375 cdxs:ProductSalesMember 2020-01-01 2020-09-30 0001200375 cdxs:ProductSalesMember 2019-01-01 2019-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2020-07-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2019-07-01 2019-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2020-01-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2019-01-01 2019-09-30 0001200375 2020-07-01 2020-09-30 0001200375 2019-07-01 2019-09-30 0001200375 2019-01-01 2019-09-30 0001200375 us-gaap:CommonStockMember 2020-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-06-30 0001200375 us-gaap:RetainedEarningsMember 2020-06-30 0001200375 2020-06-30 0001200375 us-gaap:CommonStockMember 2020-07-01 2020-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-07-01 2020-09-30 0001200375 us-gaap:RetainedEarningsMember 2020-07-01 2020-09-30 0001200375 us-gaap:CommonStockMember 2020-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-09-30 0001200375 us-gaap:RetainedEarningsMember 2020-09-30 0001200375 us-gaap:CommonStockMember 2019-06-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2019-06-30 0001200375 us-gaap:RetainedEarningsMember 2019-06-30 0001200375 2019-06-30 0001200375 us-gaap:CommonStockMember 2019-07-01 2019-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2019-07-01 2019-09-30 0001200375 us-gaap:RetainedEarningsMember 2019-07-01 2019-09-30 0001200375 us-gaap:CommonStockMember 2019-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2019-09-30 0001200375 us-gaap:RetainedEarningsMember 2019-09-30 0001200375 2019-09-30 0001200375 us-gaap:CommonStockMember 2019-12-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2019-12-31 0001200375 us-gaap:RetainedEarningsMember 2019-12-31 0001200375 us-gaap:CommonStockMember 2020-01-01 2020-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2020-01-01 2020-09-30 0001200375 us-gaap:RetainedEarningsMember 2020-01-01 2020-09-30 0001200375 us-gaap:CommonStockMember 2018-12-31 0001200375 us-gaap:AdditionalPaidInCapitalMember 2018-12-31 0001200375 us-gaap:RetainedEarningsMember 2018-12-31 0001200375 2018-12-31 0001200375 us-gaap:CommonStockMember 2019-01-01 2019-09-30 0001200375 us-gaap:AdditionalPaidInCapitalMember 2019-01-01 2019-09-30 0001200375 us-gaap:RetainedEarningsMember 2019-01-01 2019-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:CDX6114Member us-gaap:CollaborativeArrangementMember 2018-12-01 2018-12-31 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember 2020-03-01 2020-03-31 0001200375 2018-01-01 2018-01-01 0001200375 cdxs:PerformanceEnzymesMember 2018-01-01 0001200375 cdxs:NovelBiotherapeuticsMember 2018-01-01 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 srt:AmericasMember 2020-07-01 2020-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 srt:AmericasMember 2019-07-01 2019-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:EMEAMember 2020-07-01 2020-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:EMEAMember 2019-07-01 2019-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 cdxs:APACMember 2020-07-01 2020-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 cdxs:APACMember 2019-07-01 2019-09-30 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:ProductSalesMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:ProductSalesMember cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 srt:AmericasMember 2020-01-01 2020-09-30 0001200375 srt:AmericasMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 srt:AmericasMember cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 srt:AmericasMember 2019-01-01 2019-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:EMEAMember 2020-01-01 2020-09-30 0001200375 us-gaap:EMEAMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 us-gaap:EMEAMember cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 us-gaap:EMEAMember 2019-01-01 2019-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 cdxs:APACMember 2020-01-01 2020-09-30 0001200375 cdxs:APACMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:APACMember cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:APACMember 2019-01-01 2019-09-30 0001200375 cdxs:ProductSalesMember 2020-10-01 2020-09-30 0001200375 cdxs:ProductSalesMember 2021-01-01 2020-09-30 0001200375 cdxs:ProductSalesMember 2022-01-01 2020-09-30 0001200375 cdxs:ProductSalesMember 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2020-10-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2021-01-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2022-01-01 2020-09-30 0001200375 cdxs:ResearchandDevelopmentRevenueMember 2020-09-30 0001200375 2020-10-01 2020-09-30 0001200375 2021-01-01 2020-09-30 0001200375 2022-01-01 2020-09-30 0001200375 us-gaap:StockCompensationPlanMember 2020-07-01 2020-09-30 0001200375 us-gaap:StockCompensationPlanMember 2019-07-01 2019-09-30 0001200375 us-gaap:StockCompensationPlanMember 2020-01-01 2020-09-30 0001200375 us-gaap:StockCompensationPlanMember 2019-01-01 2019-09-30 0001200375 cdxs:GSKMember srt:MinimumMember 2014-07-31 0001200375 cdxs:GSKMember srt:MaximumMember 2014-07-31 0001200375 cdxs:GSKMember 2019-01-01 2019-12-31 0001200375 cdxs:GSKMember cdxs:ResearchandDevelopmentRevenueMember 2020-07-01 2020-09-30 0001200375 cdxs:GSKMember cdxs:ResearchandDevelopmentRevenueMember 2020-01-01 2020-09-30 0001200375 cdxs:GSKMember cdxs:ResearchandDevelopmentRevenueMember 2019-01-01 2019-09-30 0001200375 cdxs:GSKMember cdxs:ResearchandDevelopmentRevenueMember 2019-07-01 2019-09-30 0001200375 cdxs:MerckMember cdxs:TechnologyTransferCollaborationandLicenseAgreementMember 2015-08-31 0001200375 cdxs:MerckMember cdxs:LicenseFeeMember cdxs:TechnologyTransferCollaborationandLicenseAgreementMember 2019-07-01 2019-09-30 0001200375 cdxs:MerckMember cdxs:LicenseFeeMember cdxs:TechnologyTransferCollaborationandLicenseAgreementMember 2019-01-01 2019-09-30 0001200375 cdxs:MerckMember cdxs:ResearchandDevelopmentRevenueMember cdxs:TechnologyTransferCollaborationandLicenseAgreementMember 2020-07-01 2020-09-30 0001200375 cdxs:MerckMember cdxs:ResearchandDevelopmentRevenueMember cdxs:TechnologyTransferCollaborationandLicenseAgreementMember 2020-01-01 2020-09-30 0001200375 cdxs:MerckMember cdxs:ResearchandDevelopmentRevenueMember cdxs:TechnologyTransferCollaborationandLicenseAgreementMember 2019-07-01 2019-09-30 0001200375 cdxs:MerckMember cdxs:ResearchandDevelopmentRevenueMember cdxs:TechnologyTransferCollaborationandLicenseAgreementMember 2019-01-01 2019-09-30 0001200375 cdxs:MerckMember cdxs:SupplyAgreementMember 2012-02-01 2012-02-29 0001200375 cdxs:MerckMember cdxs:SupplyAgreementMember 2015-12-01 2015-12-31 0001200375 cdxs:MerckMember cdxs:ProductSalesMember cdxs:SupplyAgreementMember 2020-07-01 2020-09-30 0001200375 cdxs:MerckMember cdxs:ProductSalesMember cdxs:SupplyAgreementMember 2020-01-01 2020-09-30 0001200375 cdxs:MerckMember cdxs:ProductSalesMember cdxs:SupplyAgreementMember 2019-07-01 2019-09-30 0001200375 cdxs:MerckMember cdxs:ProductSalesMember cdxs:SupplyAgreementMember 2019-01-01 2019-09-30 0001200375 cdxs:SupplyAgreementMember 2019-12-31 0001200375 cdxs:SupplyAgreementMember 2020-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember 2017-10-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember cdxs:MilestoneOneMember 2017-10-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember cdxs:MilestoneTwoMember 2017-10-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember 2020-07-01 2020-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember 2020-01-01 2020-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember 2019-07-01 2019-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember 2019-01-01 2019-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:CDX6114Member 2019-01-01 2019-12-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember srt:MaximumMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember cdxs:ResearchandDevelopmentAgreementMember 2017-10-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember srt:MaximumMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember cdxs:SalesBasedMilestoneMember 2017-10-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:GlobalDevelopmentOptionandLicenseAgreementMember cdxs:SalesBasedMilestoneMember 2017-10-01 2017-10-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:StrategicCollaborationAgreementMember 2017-12-31 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember cdxs:StrategicCollaborationAgreementMember 2018-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember 2020-07-01 2020-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember 2020-01-01 2020-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember 2019-07-01 2019-09-30 0001200375 cdxs:NestecLtd.NestleHealthSciencesMember 2019-01-01 2019-09-30 0001200375 cdxs:PortonMember cdxs:MilestoneOneMember 2018-04-30 0001200375 cdxs:PortonMember cdxs:MilestoneOneMember 2018-04-01 2018-04-30 0001200375 cdxs:PortonMember cdxs:MilestoneTwoMember 2018-04-30 0001200375 cdxs:PortonMember 2020-04-01 2020-04-30 0001200375 cdxs:PortonMember cdxs:MilestoneThreeMember 2018-04-30 0001200375 cdxs:PortonMember 2018-10-01 2018-12-31 0001200375 cdxs:PortonMember 2020-07-01 2020-09-30 0001200375 cdxs:PortonMember 2020-01-01 2020-09-30 0001200375 cdxs:PortonMember 2019-01-01 2019-09-30 0001200375 cdxs:PortonMember 2019-07-01 2019-09-30 0001200375 cdxs:PortonMember 2020-09-30 0001200375 cdxs:PortonMember 2019-12-31 0001200375 cdxs:NovartisMember 2019-05-01 2019-05-31 0001200375 cdxs:NovartisMember 2019-05-31 0001200375 cdxs:NovartisMember cdxs:MilestoneOneMember 2020-06-30 0001200375 cdxs:NovartisMember cdxs:MilestoneTwoMember 2019-05-31 0001200375 cdxs:NovartisMember cdxs:ComputerEquipmentAndSoftwareMember 2019-05-31 0001200375 cdxs:NovartisMember us-gaap:RoyaltyMember 2019-05-01 2019-05-31 0001200375 cdxs:NovartisMember 2020-07-01 2020-09-30 0001200375 cdxs:NovartisMember 2020-01-01 2020-09-30 0001200375 cdxs:NovartisMember 2019-07-01 2019-09-30 0001200375 cdxs:NovartisMember 2019-01-01 2019-09-30 0001200375 cdxs:RocheMember cdxs:MilestoneOneMember 2019-12-01 2019-12-31 0001200375 cdxs:RocheMember cdxs:MilestoneTwoMember 2019-12-01 2019-12-31 0001200375 cdxs:RocheMember 2020-07-01 2020-09-30 0001200375 cdxs:RocheMember 2020-01-01 2020-09-30 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember cdxs:UpFrontPaymentMember 2020-03-31 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember cdxs:ResearchAndDevelopmentReimbursementMember 2020-03-31 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember cdxs:MilestonePaymentPerTargetGeneMember 2020-03-31 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember 2020-07-01 2020-09-30 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember 2020-01-01 2020-09-30 0001200375 cdxs:TakedaPharmaceuticalCoLtdMember 2020-09-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:SeriesAPreferredStockMember 2020-06-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember srt:MinimumMember cdxs:MasterCollaborationResearchAgreementMember 2021-02-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember srt:MaximumMember cdxs:MasterCollaborationResearchAgreementMember 2021-08-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember cdxs:ResearchAndDevelopmentAgreementTermFixedConsiderationMember 2020-06-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember cdxs:ResearchAndDevelopmentAgreementTermBonusGoalMetMember 2020-06-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember us-gaap:RoyaltyMember cdxs:CommercializationAndEnzymeSupplyAgreementMember 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:CommercializationAndEnzymeSupplyAgreementMember 2020-06-01 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:CommercializationAndEnzymeSupplyAgreementMember 2020-06-22 2020-06-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2020-07-01 2020-09-30 0001200375 cdxs:MolecularAssembliesIncMember cdxs:MasterCollaborationResearchAgreementMember 2020-01-01 2020-09-30 0001200375 cdxs:MolecularAssembliesIncMember 2020-09-30 0001200375 us-gaap:MoneyMarketFundsMember 2020-09-30 0001200375 us-gaap:MoneyMarketFundsMember 2019-12-31 0001200375 us-gaap:CashMember 2020-09-30 0001200375 us-gaap:CashMember 2019-12-31 0001200375 cdxs:MolecularAssembliesIncMember 2020-09-30 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2020-09-30 0001200375 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member 2019-12-31 0001200375 cdxs:LaboratoryEquipmentMember 2020-09-30 0001200375 cdxs:LaboratoryEquipmentMember 2019-12-31 0001200375 us-gaap:LeaseholdImprovementsMember 2020-09-30 0001200375 us-gaap:LeaseholdImprovementsMember 2019-12-31 0001200375 us-gaap:ComputerEquipmentMember 2020-09-30 0001200375 us-gaap:ComputerEquipmentMember 2019-12-31 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2020-09-30 0001200375 cdxs:OfficeEquipmentAndFurnitureMember 2019-12-31 0001200375 us-gaap:ConstructionInProgressMember 2020-09-30 0001200375 us-gaap:ConstructionInProgressMember 2019-12-31 0001200375 cdxs:A2019PlanMember 2019-06-30 0001200375 cdxs:IncentiveStockOptionsMember 2020-01-01 2020-09-30 0001200375 cdxs:NonStatutoryStockOptionsMember 2020-01-01 2020-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2020-01-01 2020-09-30 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-01-01 2020-09-30 0001200375 us-gaap:EmployeeStockOptionMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2020-01-01 2020-09-30 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-01-01 2020-09-30 0001200375 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2020-01-01 2020-09-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PlanMember 2020-09-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PlanMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-01-01 2020-09-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PlanMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2020-01-01 2020-09-30 0001200375 us-gaap:PerformanceSharesMember 2020-01-01 2020-09-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2020PSUAndPBOPlanMember 2020-09-30 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PSUandPBOPlanMember 2020-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2019PSUandPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-01-01 2020-03-31 0001200375 srt:ScenarioForecastMember us-gaap:PerformanceSharesMember cdxs:A2019PSUandPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2021-01-01 2021-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2018PSUandPBOPlanMember 2019-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2018PSUandPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2019-01-01 2019-03-31 0001200375 us-gaap:PerformanceSharesMember cdxs:A2018PSUandPBOPlanMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2020-01-01 2020-03-31 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2020-07-01 2020-09-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2019-07-01 2019-09-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2020-01-01 2020-09-30 0001200375 us-gaap:ResearchAndDevelopmentExpenseMember 2019-01-01 2019-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-07-01 2020-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2019-07-01 2019-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2020-01-01 2020-09-30 0001200375 us-gaap:SellingGeneralAndAdministrativeExpensesMember 2019-01-01 2019-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2020-07-01 2020-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2019-07-01 2019-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2019-01-01 2019-09-30 0001200375 cdxs:RSAsandRSUsMember 2020-07-01 2020-09-30 0001200375 cdxs:RSAsandRSUsMember 2019-07-01 2019-09-30 0001200375 cdxs:RSAsandRSUsMember 2020-01-01 2020-09-30 0001200375 cdxs:RSAsandRSUsMember 2019-01-01 2019-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2020-07-01 2020-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2019-07-01 2019-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2020-01-01 2020-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2019-01-01 2019-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2020-07-01 2020-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2019-07-01 2019-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2020-01-01 2020-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2019-01-01 2019-09-30 0001200375 us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2020-06-01 2020-06-30 0001200375 us-gaap:StockCompensationPlanMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2020-06-01 2020-06-30 0001200375 us-gaap:StockCompensationPlanMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2020-06-01 2020-06-30 0001200375 us-gaap:StockCompensationPlanMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2020-06-01 2020-06-30 0001200375 us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2020-08-01 2020-08-31 0001200375 us-gaap:StockCompensationPlanMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2020-08-01 2020-08-31 0001200375 us-gaap:StockCompensationPlanMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2020-08-01 2020-08-31 0001200375 us-gaap:StockCompensationPlanMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2020-07-01 2020-09-30 0001200375 us-gaap:StockCompensationPlanMember us-gaap:ShareBasedPaymentArrangementNonemployeeMember 2020-01-01 2020-09-30 0001200375 us-gaap:EmployeeStockOptionMember 2020-09-30 0001200375 us-gaap:StockCompensationPlanMember 2020-09-30 0001200375 cdxs:RSAsandRSUsMember 2020-09-30 0001200375 cdxs:PerformanceStockUnitsMember 2020-09-30 0001200375 cdxs:PerformanceBasedOptionsPBOsMember 2020-09-30 0001200375 us-gaap:PrivatePlacementMember 2019-06-01 2019-06-30 0001200375 us-gaap:PrivatePlacementMember 2019-06-30 0001200375 cdxs:A200220PenobscotMember 2020-09-30 0001200375 cdxs:A400PenoscotMember 2020-09-30 0001200375 cdxs:A501ChesapeakeMember 2020-09-30 0001200375 cdxs:A101SaginawMember 2020-01-31 0001200375 cdxs:SubleaseMember 2020-01-31 0001200375 cdxs:SubleaseMember 2020-04-30 0001200375 2019-01-01 2019-12-31 0001200375 us-gaap:DemandDepositsMember 2020-09-30 0001200375 us-gaap:DemandDepositsMember 2019-12-31 0001200375 2017-02-01 2017-02-28 0001200375 2017-02-28 0001200375 2017-04-30 0001200375 2017-04-01 2017-04-30 0001200375 us-gaap:SupplyCommitmentMember cdxs:April2016Member 2020-09-30 0001200375 us-gaap:SupplyCommitmentMember cdxs:September2019Member 2020-09-30 0001200375 us-gaap:SupplyCommitmentMember cdxs:March2020Member 2020-09-30 0001200375 us-gaap:SupplyCommitmentMember 2020-09-30 0001200375 cdxs:TermLoanMember 2017-06-30 0001200375 us-gaap:RevolvingCreditFacilityMember 2017-06-30 0001200375 us-gaap:CreditAvailabilityConcentrationRiskMember 2017-06-30 2017-06-30 0001200375 cdxs:TermLoanMember 2020-09-30 0001200375 cdxs:TermLoanMember 2020-01-01 2020-09-30 0001200375 us-gaap:RevolvingCreditFacilityMember 2020-09-30 0001200375 us-gaap:RevolvingCreditFacilityMember 2020-01-01 2020-09-30 0001200375 us-gaap:IndemnificationGuaranteeMember 2020-09-30 0001200375 cdxs:MolecularAssembliesIncMember srt:MaximumMember cdxs:MasterCollaborationResearchAgreementMember 2021-07-01 2020-06-30 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2020-01-01 2020-09-30 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2019-07-01 2019-09-30 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2019-01-01 2019-09-30 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2020-09-30 0001200375 srt:DirectorMember cdxs:TransactionsWithAstraZenecaPLCMember 2019-12-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember 2020-07-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember 2019-07-01 2019-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2020-07-01 2020-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2019-07-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ProductSalesMember 2019-01-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:ResearchandDevelopmentRevenueMember 2019-01-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:CoreSegmentMember 2019-01-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:BiotherapeuticSegmentMember 2019-01-01 2019-09-30 0001200375 us-gaap:OperatingSegmentsMember 2019-01-01 2019-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2020-01-01 2020-09-30 0001200375 us-gaap:CorporateNonSegmentMember 2019-01-01 2019-09-30 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-07-01 2020-09-30 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2019-07-01 2019-09-30 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001200375 cdxs:CustomerAMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-07-01 2020-09-30 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001200375 cdxs:CustomerBMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001200375 cdxs:CustomerCMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2019-07-01 2019-09-30 0001200375 cdxs:CustomerCMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001200375 cdxs:CustomerCMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-09-30 0001200375 cdxs:CustomerDMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-07-01 2020-09-30 0001200375 cdxs:CustomerDMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001200375 cdxs:CustomerEMember us-gaap:SalesRevenueProductLineMember us-gaap:CustomerConcentrationRiskMember 2020-07-01 2020-09-30 0001200375 cdxs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001200375 cdxs:CustomerAMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0001200375 cdxs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001200375 cdxs:CustomerBMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2019-01-01 2019-12-31 0001200375 cdxs:CustomerDMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2020-01-01 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:PerformanceEnzymesMember 2019-12-31 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember cdxs:NovelBiotherapeuticsMember 2019-12-31 0001200375 us-gaap:OperatingSegmentsMember 2020-09-30 0001200375 us-gaap:OperatingSegmentsMember 2019-12-31 0001200375 us-gaap:FinancingReceivables30To59DaysPastDueMember 2020-09-30 0001200375 us-gaap:FinancingReceivables60To89DaysPastDueMember 2020-09-30 0001200375 us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2020-09-30 0001200375 us-gaap:FinancingReceivables30To59DaysPastDueMember 2019-12-31 0001200375 us-gaap:FinancingReceivables60To89DaysPastDueMember 2019-12-31 0001200375 us-gaap:FinancingReceivablesEqualToGreaterThan90DaysPastDueMember 2019-12-31 shares iso4217:USD iso4217:USD shares cdxs:program cdxs:reportingUnit pure cdxs:installment utr:sqft cdxs:security cdxs:numberOfRenewalOption cdxs:segment 0001200375 false 2020 Q3 --12-31 P3M P1Y P3M P1Y P3M P1Y P10M 0.33 P10M 10-Q true 2020-09-30 false 001-34705 Codexis, Inc. DE 71-0872999 200 Penobscot Drive, Redwood City, CA 94063 650 421-8100 Common Stock, par value $0.0001 per share CDXS NASDAQ Yes Yes Large Accelerated Filer false false false 59281805 71516000 90498000 633000 661000 10711000 9063000 975000 1027000 14985000 10099000 26671000 20189000 74000 34000 26597000 20155000 737000 371000 3450000 2520000 102933000 114205000 1062000 1062000 1000000 0 21996000 23837000 145000 268000 7289000 6282000 3241000 3241000 353000 178000 138019000 149073000 2499000 2621000 6277000 5003000 7570000 7570000 6540000 2554000 1107000 0 60000 1596000 57000 20496000 15388000 2460000 1987000 23001000 24951000 1261000 1230000 47218000 43556000 0.0001 0.0001 5000000 5000000 0 0 0 0 0 0 0.0001 0.0001 100000000 100000000 59232000 59232000 58877000 58877000 6000 6000 453294000 447920000 -362499000 -342409000 90801000 105517000 138019000 149073000 8401000 10351000 18005000 24588000 9984000 11555000 30018000 25220000 18385000 21906000 48023000 49808000 3642000 5067000 7882000 12230000 12010000 8711000 33830000 25000000 8797000 7869000 26307000 24180000 24449000 21647000 68019000 61410000 -6064000 259000 -19996000 -11602000 39000 480000 362000 929000 -50000 -403000 -125000 -615000 -6075000 336000 -19759000 -11288000 19000 -7000 331000 12000 -6094000 343000 -20090000 -11300000 -0.10 0.01 -0.34 -0.20 -0.10 0.01 -0.34 -0.20 59061000 58287000 58984000 55818000 59061000 61412000 58984000 55818000 59125000 6000 451185000 -356405000 94786000 55000 342000 342000 70000 1941000 1941000 43000 43000 18000 217000 217000 -6094000 -6094000 59232000 6000 453294000 -362499000 90801000 57940000 6000 440795000 -342117000 98684000 441000 1778000 1778000 8000 1732000 1732000 3000 51000 51000 55000 55000 77000 77000 343000 343000 58386000 6000 444276000 -341774000 102508000 58877000 6000 447920000 -342409000 105517000 87000 539000 539000 370000 6045000 6045000 47000 47000 102000 1257000 1257000 -20090000 -20090000 59232000 6000 453294000 -362499000 90801000 54065000 5000 386775000 -330474000 56306000 970000 4621000 4621000 449000 5783000 5783000 147000 2850000 2850000 129000 3049000 1000 49870000 49871000 77000 77000 -11300000 -11300000 58386000 6000 444276000 -341774000 102508000 -20090000 -11300000 1403000 1118000 1964000 2231000 0 2000 6092000 5783000 40000 0 0 -526000 1648000 776000 -52000 1158000 4886000 -385000 366000 -192000 930000 485000 175000 -74000 -101000 -1294000 1274000 -577000 2307000 2687000 -1920000 -1291000 2012000 -5012000 -14972000 -8899000 2260000 3315000 0 2000 1000000 0 0 62000 -3260000 -3251000 539000 4621000 0 50000000 0 129000 60000 180000 0 77000 1257000 2850000 -778000 51539000 -19010000 39389000 92221000 54485000 73211000 93874000 15000 16000 312000 5000 289000 536000 71516000 92143000 1695000 1731000 73211000 93874000 Description of Business<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We discover, develop and sell proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast untapped source of value-creating materials, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel proteins, both as proprietary Codexis products and in partnership with our customers.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are a pioneer in the harnessing of computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine our large and continuously growing library of protein variants’ performance attributes. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling delivery of targeted performance enhancements in a time-efficient manner. In addition to its computational prowess, our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and process development which are all coordinated to create our novel protein innovations.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our approach to developing commercially viable biocatalytic manufacturing processes begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized protein catalysts to enable that process design, using our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology. Engineered protein catalyst candidates - many thousands for each protein engineering project - are then rapidly screened and validated in high throughput screening under relevant manufacturing operating conditions. This approach results in an optimized protein catalyst enabling cost-efficient processes that typically are relatively simple to run in conventional manufacturing equipment. This also allows for the efficient technical transfer of our process to our manufacturing partners.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The successful embodiment of our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those directly involved in practicing our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, fermentation process development and fermentation engineering. Our integrated, multi-disciplinary approach to biocatalyst and process development is a critical success factor for the Company.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We initially commercialized our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform and products in the pharmaceuticals market, which remains a primary business focus. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also licensed our proprietary CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">protein engineering technology platform to global pharmaceutical companies so that they may in turn use this technology to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Agreement”) with Novartis Pharma AG (“Novartis”). The Novartis CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement allows Novartis to use our proprietary CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology in the field of human healthcare.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop protein catalysts and industrial enzymes for use in a wider set of industrial markets. These target industries consist of several large market verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances and agricultural chemicals. In addition, we are using our technology to develop enzymes for customers using next generation sequencing ("NGS") and polymerase chain reaction ("PCR/qPCR") for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. (“Roche”) with our first enzyme for this target market, the Company's EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have also begun using the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both for our customers and for our own business. In October 2017, we entered into the "Nestlé Agreement” with Nestlé Health Science to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of phenylketonuria ("PKU"). PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. In March 2020, we entered into a Strategic Collaboration and License Agreement (“Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Company Limited (“Takeda”), for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and blood factor deficiencies. </span></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Below are brief descriptions of our business segments:</span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Enzymes</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We initially commercialized our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Novel Biotherapeutics</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our first lead program was for the potential treatment of hyperphenylalaninemia (“HPA”) (also referred to as PKU) in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In July 2018, we announced that we had dosed the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114, which was conducted in Australia. In November 2018, we announced top-line results from the Phase 1a study in healthy volunteers with CDX-6114. In December 2018, Nestlé Health Science became obligated to pay us an additional $1.0 million within 60 days after the achievement of a milestone relating to formulation of CDX-6114. In January 2019, we received notice from the U.S. Food and Drug Administration that it had completed its review of our investigational drug application for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. In January 2020, we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies. The Strategic Collaboration Agreement was extended through December 2021. Using our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology, we have also developed a pipeline of other biotherapeutic drug candidates, all of which are in preclinical development. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our most recent achievement in novel biotherapeutics came in March 2020, when we announced a strategic collaboration and license agreement with Takeda in which we will collaborate with Takeda to research and develop protein sequences for use in gene therapy products for certain disease indications. Under the terms of the Takeda Agreement, we will generate novel gene sequences encoding protein variants tailored to enhance efficacy as a result of increased activity, stability, and cellular uptake using our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform. Takeda will combine these improved transgenes with its gene therapy capabilities to generate novel candidates for the treatment of rare genetic disorders. We are currently collaborating on three initial programs for the treatment of Fabry disease, Pompe disease, and an unnamed blood factor deficiency. The Company is responsible for the creation of novel enzyme sequences for advancement as gene therapies into pre-clinical development. Takeda is responsible for the pre-clinical and clinical development and commercialization of gene therapy products resulting from the collaboration programs. Under the terms of the agreement, in addition to the three initial programs, Takeda may initiate up to four additional programs for separate target indications. In March 2020, we began research and development activities under the program plans and received a $8.5 million one-time, non-refundable cash payment.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We expect to continue to make additional investments in our pipeline with the aim of advancing additional product candidates targeting other therapeutic areas. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For additional discussion of our business segments, see Note 13, "Segment, Geographical and Other Revenue Information."</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Business Update Regarding COVID-19</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.</span></div><div style="margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&amp;D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&amp;D operations. R&amp;D operations for several projects were temporarily suspended from mid-March 2020 through the end of April in accordance with these Orders. In May 2020, we initiated limited R&amp;D operations and have gradually ramped up operations such that we are currently utilizing the majority of our normal R&amp;D capacity. Additionally, we have resumed small scale manufacturing at our Redwood City pilot plant in May 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. As of the date of issuance of the unaudited condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain.</span></div> 1000000.0 P60D 3 3 4 8500000 Basis of Presentation and Summary of Significant Accounting Policies<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Principles of Consolidation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information. Accordingly, they do not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2019. The condensed consolidated balance sheet at December 31, 2019 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2020 are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2019 Annual Report on Form 10-K and are updated below as necessary.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain prior year amounts have been reclassified to conform to 2020 presentation. In June 2016, the Financial Accounting Standards Board (“FASB”) issued guidance requiring implementation of a new impairment model applicable to financial assets measured at amortized cost which, among other things required that accounts receivable, contract assets, unbilled receivables and related allowances be reclassified as financial assets.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Except as noted above, the unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2020, results of our operations for the three and nine months ended September 30, 2020 and 2019, changes in stockholders' equity for the three and nine months ended September 30, 2020 and 2019, and cash flows for the nine months ended September 30, 2020 and 2019. The interim results are not necessarily indicative of the results for any future interim period or for the entire year. The results of the nine months ended September 30, 2020 reflect the adoption of certain accounting standards including: Accounting Standard Update ("ASU") 2016-13,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">which added a new impairment model applicable to our financial assets measured at amortized cost, and (ii) ASU No. 2017-04,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">which adjusts testing for goodwill impairment. See "Recently adopted accounting pronouncements" for details regarding the adoption of these standards. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The unaudited interim condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All significant intercompany balances and transactions have been eliminated in consolidation. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, the interest rate used to adjust the promised amount of consideration for the effects of significant financial assets (comprised of accounts receivable, contract assets, and unbilled receivables), inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the unaudited condensed consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"> Financial assets and Allowances</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We currently sell enzymes primarily to pharmaceutical and fine chemicals companies throughout the world by the extension of trade credit terms based on an assessment of each customer's financial condition. Trade credit terms are generally offered without collateral and may include an insignificant discount for prompt payment for specific customers. To manage our credit exposure, we perform ongoing evaluations of our customers' financial conditions. In addition, accounts receivable include amounts owed to us under our collaborative research and development agreements. We recognize accounts receivable at invoiced amounts and we maintain a valuation allowance as follows:</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Allowance for credit losses from January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On and subsequent to January 1, 2020, our financial results reflect an impairment model (known as the “current expected credit loss model” or “CECL”) based on estimates and forecasts of future conditions requiring recognition of a lifetime of expected credit losses at inception on our financial assets measured at amortized costs which is comprised of accounts receivable, contract assets, and unbilled receivables. We have determined that our financial assets share similar risk characteristics including: (i) customer origination in the pharmaceutical and fine chemicals industry, (ii) similar historical credit loss pattern of customers (iii) no meaningful trade receivable differences in terms, (iv) similar historical credit loss experience and (v) our belief that the composition of certain assets are comparable to our historical portfolio used to develop loss history. As a result, we measured the allowance for credit loss (“ACL”) on a collective basis. Our ACL methodology considers how long the asset has been past due, the financial condition of the customers, which includes ongoing quarterly evaluations and assessments of changes in customer credit ratings, and other market data that we believe are relevant to the collectability of the assets. Nearly all financial assets are due from customers that are highly rated by major rating agencies and have a long history of no credit loss. We derive our ACL by establishing an impairment rate attributable to assets not yet identified as impaired.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We derive our ACL by initially relying on our historical financial asset loss rate which contemplates the full contractual life of the assets sharing similar risk characteristics, adjusted to reflect (i) the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated and (ii) by taking into consideration the changes in certain macroeconomic historical and forecasted information. We apply the ACL to past due financial assets and record charges to the ACL as a provision to credit loss expense in the Statement of Operations. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets we identify as uncollectible are also charged against the ACL. We adjust the impairment rate to reflect the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated. Adjustments to historical loss information may be qualitative or quantitative in nature and reflect changes related to relevant data.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the three and nine months ended September 30, 2020, inputs to our CECL forecast incorporated forward-looking adjustments associated with the COVID-19 pandemic which we believe are appropriate to incorporate due to the uncertainty of the economic impact on cash flows from our financial assets. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Allowance for credit losses before January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to January 1, 2020, the allowances for doubtful accounts reflected our best estimates of probable losses inherent in our accounts receivable and contract assets balances. The allowance determination was based on known troubled accounts, historical experience, and other currently available evidence. Uncollectible accounts receivable were written off against the allowance for doubtful accounts when all efforts to collect them have been exhausted. Recoveries were recognized when they were received.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investment in Equity Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We own an equity investment in Molecular Assemblies, Inc. (“MAI”) which is a privately held company. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We and MAI envision entering into an arrangement to commercialize products developed under the MAI Agreement.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To analyze the fair value measurement of our equity investment in MAI, we perform a qualitative analysis using significant unobservable inputs. Significant changes to the unobservable inputs may result in a significantly higher or lower fair value estimate. We may value our equity investment based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated new investors, providing the terms of these equity transactions are substantially similar to the equity transactions terms between the company and us. The impact of the difference in transaction terms on the market value of the portfolio company may be difficult or impossible to quantify.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We evaluate our investment for impairment when circumstances indicate that we may not be able to recover the carrying value. We impair our investment when we determine that there has been an “other-than-temporary” decline in MAI's estimated fair value compared to its carrying value. We calculate the estimated fair value of the investment using information from the company, which may include:</span></div><div style="margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Audited and unaudited financial statements;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Projected technological developments of the company;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Projected ability of the company to service its debt obligations;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If a deemed liquidation event were to occur;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Current fundraising transactions;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Current ability of the company to raise additional financing if needed;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Changes in the economic environment which may have a material impact on the operating results of the company;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Qualitative assessment of key management;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Contractual rights, obligations or restrictions associated with the investment; and</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Other factors deemed relevant by our management to assess valuation.</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The valuation may be reduced if the company's potential has deteriorated significantly. If the factors that led to a reduction in valuation are overcome, the valuation may be readjusted.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in the trading price of our stock on the Nasdaq Global Select Market. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We manage our business as two reporting units and we test goodwill for impairment at the reporting unit level. We allocated goodwill to the two reporting units using a relative fair value allocation methodology that primarily relied on our estimates of revenue and future earnings for each reporting unit. Using the relative fair value allocation methodology, we have determined that approximately 76% of goodwill was to be allocated to the Performance Enzymes segment and 24% allocated to the Novel </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biotherapeutics segment. As a result of the calculation, $2.4 million of the goodwill is assigned to the Performance Enzymes segment and $0.8 million is assigned to the Novel Biotherapeutics segment. We test goodwill for impairment on an annual basis on the last day of the fourth fiscal quarter and, when specific circumstances dictate, between annual tests, by first assessing qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. During 2020 and 2019, we did not record impairment charges related to goodwill. We test for goodwill impairment is as follows: </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill impairment testing from January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in our share price. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We test for impairment annually on a reporting unit basis, on the last day of the fourth fiscal quarter, and between annual tests if events and circumstances indicate it is more likely than not that the fair value of a reporting unit is less than its carrying amount. The annual impairment test is completed using either: a qualitative “Step 0” assessment based on reviewing relevant events and circumstances; or a quantitative “Step 1” assessment, which determines the fair value of the reporting unit. To the extent the carrying amount of a reporting unit is less than its estimated fair value, an impairment charge is recorded. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compare the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Any excess of the reporting unit’s carrying amount of goodwill over its fair value is recognized as an impairment.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill impairment testing before January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to January 1, 2020, the goodwill impairment test consisted of a two-step process. The first step of the goodwill impairment test, used to identify potential impairment, compared the fair value of each reporting unit to its carrying value. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compared the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeded its carrying amount, goodwill of the reporting unit was considered not impaired, and the second step of the impairment test was not required. The second step, if required, compared the implied fair value of the reporting unit’s goodwill with the carrying amount of that goodwill. Implied fair value was the excess of the fair value of the reporting unit over the fair value of all identified or allocated assets and liabilities. Any excess of the reporting unit’s carrying amount goodwill over the respective implied fair value was recognized as an impairment.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interim Goodwill Impairment Testing</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We tested goodwill for impairment in the quarter ended September 30, 2020. Since late 2019, the COVID-19 pandemic has spread worldwide. The COVID-19 pandemic has caused a decline in global and domestic macroeconomic conditions, the general deterioration of the U.S. economy and other economies worldwide, all of which may negatively impact our overall financial performance, driving a reduction in our cash flows. We believe that the impact of the COVID-19 pandemic was a triggering event that gave rise to the need to perform a goodwill impairment test. We conducted a qualitative interim impairment assessment as of September 30, 2020, which included an evaluation of our cash flow projections to reflect the current economic environment, including the uncertainty surrounding the nature, timing, and extent of the impact of the pandemic in operating our business. We also considered the results of the prior quarters’ impairment test performed which reflected a significant cushion between the fair value and the carrying value for both of our reporting units. We determined that it was more likely than not that the fair value of each of the reporting units exceeded its respective carrying amount as of September 30, 2020. Therefore, an interim quantitative impairment test of our goodwill at the reporting unit level was not required to be performed.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Reporting</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We report two business segments, Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. 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 ("CODM"), or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. We do not allocate or evaluate assets by segment.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Novel Biotherapeutics segment focuses on new opportunities in the pharmaceutical industry to dis</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">cover or improve novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. The </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Performance Enzymes segment consists of protein catalyst products and services with focus on pharmaceutical, food, molecular diagnostics, and other industrial markets.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Changes to Tax Law</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), P.L. 116-136,was passed into law, amending portions of certain relevant US tax laws. The CARES Act includes a number of federal income tax law changes, including, but not limited to: (i) permitting net operating loss carrybacks to offset 100% of taxable income for taxable years beginning before 2021, (ii) accelerating alternative minimum tax credit refunds, (iii) temporarily increasing the allowable business interest deduction from 30% to 50% of adjusted taxable income, and (iv) providing a technical correction for depreciation related to qualified improvement property. The CARES Act had no impact on our unaudited condensed consolidated financial statements.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting Pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> which amends the FASB's guidance on the impairment of financial instruments. The standard adds a new impairment model, known as CECL, which replaces the probable loss model. The CECL impairment model is based on estimates and forecasts of future conditions which requires recognition of a lifetime of expected credit losses at inception on financial assets measured at amortized costs. Our financial assets measured at amortized cost are comprised of accounts receivable, contract assets, and unbilled receivables. We adopted the new standard in the first quarter of 2020 using a modified retrospective approach requiring a cumulative-effect adjustment to the opening accumulated deficit as of the date of adoption. The ASU establishes a new valuation account “allowance for credit losses” replacing the “allowance for doubtful accounts” in the consolidated balance sheet, which is used to adjust the amortized cost basis of assets in presentation of the net amount expected to be collected. The adoption required certain additional disclosures but had no other impact on our unaudited condensed consolidated financial statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2017, the FASB issued ASU No. 2017-04, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The amendments eliminate Step 2 from the goodwill impairment test. The annual, or interim, goodwill impairment test is performed by comparing the fair value of a reporting unit to its carrying amount. An impairment charge should be recognized for the amount by which the carrying amount exceeds the reporting unit’s fair value; however, the loss recognized should not exceed the total amount of goodwill allocated to that reporting unit. In addition, income tax effects from any tax-deductible goodwill on the carrying amount of the reporting unit should be considered when measuring the goodwill impairment loss, if applicable. The amendments eliminate the requirements for any reporting unit with a zero or negative carrying amount to perform a qualitative assessment, and if it fails that qualitative test, to perform Step 2 of the goodwill impairment test. An entity still has the option to perform the qualitative assessment for a reporting unit to determine if the quantitative impairment test is necessary. We adopted the standard in the first quarter of 2020 using a prospective approach. The adoption required certain additional disclosures but had no impact on our unaudited condensed consolidated financial statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2018, the FASB issued ASU 2018-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurement (Topic 820): Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The primary focus of the standard is to improve the effectiveness of the disclosure requirements for fair value measurements. The changes affect all companies that are required to include fair value measurement disclosures. The standard requires the use of the prospective method of transition for disclosures related to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop fair value measurements categorized within Level 3 of the fair value hierarchy, and narrative description of measurement uncertainty. All other amendments in the standard are required to be adopted retrospectively. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2018, the FASB issued ASU 2018-18, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Collaborative Arrangements (Topic 808): Clarifying the Interaction Between Topic 808 and Topic 606.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> ASU 2018-18 provides guidance on how to assess whether certain transactions between collaborative arrangement participants should be accounted for within the revenue recognition standard. The standard also provides more comparability in the presentation of revenue for certain transactions between collaborative arrangement participants. The standard is to be applied retrospectively to the date of the initial application of Topic 606 which also requires recognition of the cumulative effect of applying the amendments as an adjustment to the opening balance of retained earnings </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the later or the earliest annual period presented and the annual period inclusive of the initial application of Topic 606. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently issued accounting pronouncements not yet adopted </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the impact of recently issued standards that are not yet effective will not have a material impact on our unaudited condensed consolidated financial statements upon adoption.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The standard is effective for fiscal years, and interim periods within those years, beginning after December 15, 2020, with early adoption permitted. The standard will be adopted upon the effective date for us beginning January 1, 2021. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, the FASB issued ASU 2020-04, Reference Rate Reform (Topic 848):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Facilitation of the Effects of Reference Rate Reform on Financial Reporting. </span>The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities. The standard may be adopted as of any date from the beginning of an interim period that includes or is subsequent to March 12, 2020 through December 31, 2022. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures. <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Basis of Presentation and Principles of Consolidation</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information. Accordingly, they do not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2019. The condensed consolidated balance sheet at December 31, 2019 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2020 are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2019 Annual Report on Form 10-K and are updated below as necessary.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Certain prior year amounts have been reclassified to conform to 2020 presentation. In June 2016, the Financial Accounting Standards Board (“FASB”) issued guidance requiring implementation of a new impairment model applicable to financial assets measured at amortized cost which, among other things required that accounts receivable, contract assets, unbilled receivables and related allowances be reclassified as financial assets.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Except as noted above, the unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2020, results of our operations for the three and nine months ended September 30, 2020 and 2019, changes in stockholders' equity for the three and nine months ended September 30, 2020 and 2019, and cash flows for the nine months ended September 30, 2020 and 2019. The interim results are not necessarily indicative of the results for any future interim period or for the entire year. The results of the nine months ended September 30, 2020 reflect the adoption of certain accounting standards including: Accounting Standard Update ("ASU") 2016-13,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">which added a new impairment model applicable to our financial assets measured at amortized cost, and (ii) ASU No. 2017-04,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">which adjusts testing for goodwill impairment. See "Recently adopted accounting pronouncements" for details regarding the adoption of these standards. </span>The unaudited interim condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All significant intercompany balances and transactions have been eliminated in consolidation. <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Use of Estimates</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, the interest rate used to adjust the promised amount of consideration for the effects of significant financial assets (comprised of accounts receivable, contract assets, and unbilled receivables), inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the unaudited condensed consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.</span></div> Financial assets and Allowances<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We currently sell enzymes primarily to pharmaceutical and fine chemicals companies throughout the world by the extension of trade credit terms based on an assessment of each customer's financial condition. Trade credit terms are generally offered without collateral and may include an insignificant discount for prompt payment for specific customers. To manage our credit exposure, we perform ongoing evaluations of our customers' financial conditions. In addition, accounts receivable include amounts owed to us under our collaborative research and development agreements. We recognize accounts receivable at invoiced amounts and we maintain a valuation allowance as follows:</span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Allowance for credit losses from January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On and subsequent to January 1, 2020, our financial results reflect an impairment model (known as the “current expected credit loss model” or “CECL”) based on estimates and forecasts of future conditions requiring recognition of a lifetime of expected credit losses at inception on our financial assets measured at amortized costs which is comprised of accounts receivable, contract assets, and unbilled receivables. We have determined that our financial assets share similar risk characteristics including: (i) customer origination in the pharmaceutical and fine chemicals industry, (ii) similar historical credit loss pattern of customers (iii) no meaningful trade receivable differences in terms, (iv) similar historical credit loss experience and (v) our belief that the composition of certain assets are comparable to our historical portfolio used to develop loss history. As a result, we measured the allowance for credit loss (“ACL”) on a collective basis. Our ACL methodology considers how long the asset has been past due, the financial condition of the customers, which includes ongoing quarterly evaluations and assessments of changes in customer credit ratings, and other market data that we believe are relevant to the collectability of the assets. Nearly all financial assets are due from customers that are highly rated by major rating agencies and have a long history of no credit loss. We derive our ACL by establishing an impairment rate attributable to assets not yet identified as impaired.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We derive our ACL by initially relying on our historical financial asset loss rate which contemplates the full contractual life of the assets sharing similar risk characteristics, adjusted to reflect (i) the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated and (ii) by taking into consideration the changes in certain macroeconomic historical and forecasted information. We apply the ACL to past due financial assets and record charges to the ACL as a provision to credit loss expense in the Statement of Operations. </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Financial assets we identify as uncollectible are also charged against the ACL. We adjust the impairment rate to reflect the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated. Adjustments to historical loss information may be qualitative or quantitative in nature and reflect changes related to relevant data.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the three and nine months ended September 30, 2020, inputs to our CECL forecast incorporated forward-looking adjustments associated with the COVID-19 pandemic which we believe are appropriate to incorporate due to the uncertainty of the economic impact on cash flows from our financial assets. </span></div><div style="margin-top:9pt;padding-left:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Allowance for credit losses before January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to January 1, 2020, the allowances for doubtful accounts reflected our best estimates of probable losses inherent in our accounts receivable and contract assets balances. The allowance determination was based on known troubled accounts, historical experience, and other currently available evidence. Uncollectible accounts receivable were written off against the allowance for doubtful accounts when all efforts to collect them have been exhausted. Recoveries were recognized when they were received.</span></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investment in Equity Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We own an equity investment in Molecular Assemblies, Inc. (“MAI”) which is a privately held company. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We and MAI envision entering into an arrangement to commercialize products developed under the MAI Agreement.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To analyze the fair value measurement of our equity investment in MAI, we perform a qualitative analysis using significant unobservable inputs. Significant changes to the unobservable inputs may result in a significantly higher or lower fair value estimate. We may value our equity investment based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated new investors, providing the terms of these equity transactions are substantially similar to the equity transactions terms between the company and us. The impact of the difference in transaction terms on the market value of the portfolio company may be difficult or impossible to quantify.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We evaluate our investment for impairment when circumstances indicate that we may not be able to recover the carrying value. We impair our investment when we determine that there has been an “other-than-temporary” decline in MAI's estimated fair value compared to its carrying value. We calculate the estimated fair value of the investment using information from the company, which may include:</span></div><div style="margin-top:9pt;padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Audited and unaudited financial statements;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Projected technological developments of the company;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Projected ability of the company to service its debt obligations;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">If a deemed liquidation event were to occur;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Current fundraising transactions;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Current ability of the company to raise additional financing if needed;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Changes in the economic environment which may have a material impact on the operating results of the company;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Qualitative assessment of key management;</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Contractual rights, obligations or restrictions associated with the investment; and</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Other factors deemed relevant by our management to assess valuation.</span></div><div style="padding-left:72pt;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">The valuation may be reduced if the company's potential has deteriorated significantly. If the factors that led to a reduction in valuation are overcome, the valuation may be readjusted.</span></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in the trading price of our stock on the Nasdaq Global Select Market. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We manage our business as two reporting units and we test goodwill for impairment at the reporting unit level. We allocated goodwill to the two reporting units using a relative fair value allocation methodology that primarily relied on our estimates of revenue and future earnings for each reporting unit. Using the relative fair value allocation methodology, we have determined that approximately 76% of goodwill was to be allocated to the Performance Enzymes segment and 24% allocated to the Novel </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Biotherapeutics segment. As a result of the calculation, $2.4 million of the goodwill is assigned to the Performance Enzymes segment and $0.8 million is assigned to the Novel Biotherapeutics segment. We test goodwill for impairment on an annual basis on the last day of the fourth fiscal quarter and, when specific circumstances dictate, between annual tests, by first assessing qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. During 2020 and 2019, we did not record impairment charges related to goodwill. We test for goodwill impairment is as follows: </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill impairment testing from January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill represents the excess of the consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in our share price. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We test for impairment annually on a reporting unit basis, on the last day of the fourth fiscal quarter, and between annual tests if events and circumstances indicate it is more likely than not that the fair value of a reporting unit is less than its carrying amount. The annual impairment test is completed using either: a qualitative “Step 0” assessment based on reviewing relevant events and circumstances; or a quantitative “Step 1” assessment, which determines the fair value of the reporting unit. To the extent the carrying amount of a reporting unit is less than its estimated fair value, an impairment charge is recorded. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compare the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Any excess of the reporting unit’s carrying amount of goodwill over its fair value is recognized as an impairment.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Goodwill impairment testing before January 1, 2020</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Prior to January 1, 2020, the goodwill impairment test consisted of a two-step process. The first step of the goodwill impairment test, used to identify potential impairment, compared the fair value of each reporting unit to its carrying value. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compared the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeded its carrying amount, goodwill of the reporting unit was considered not impaired, and the second step of the impairment test was not required. The second step, if required, compared the implied fair value of the reporting unit’s goodwill with the carrying amount of that goodwill. Implied fair value was the excess of the fair value of the reporting unit over the fair value of all identified or allocated assets and liabilities. Any excess of the reporting unit’s carrying amount goodwill over the respective implied fair value was recognized as an impairment.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Interim Goodwill Impairment Testing</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We tested goodwill for impairment in the quarter ended September 30, 2020. Since late 2019, the COVID-19 pandemic has spread worldwide. The COVID-19 pandemic has caused a decline in global and domestic macroeconomic conditions, the general deterioration of the U.S. economy and other economies worldwide, all of which may negatively impact our overall financial performance, driving a reduction in our cash flows. We believe that the impact of the COVID-19 pandemic was a triggering event that gave rise to the need to perform a goodwill impairment test. We conducted a qualitative interim impairment assessment as of September 30, 2020, which included an evaluation of our cash flow projections to reflect the current economic environment, including the uncertainty surrounding the nature, timing, and extent of the impact of the pandemic in operating our business. We also considered the results of the prior quarters’ impairment test performed which reflected a significant cushion between the fair value and the carrying value for both of our reporting units. We determined that it was more likely than not that the fair value of each of the reporting units exceeded its respective carrying amount as of September 30, 2020. Therefore, an interim quantitative impairment test of our goodwill at the reporting unit level was not required to be performed.</span></div> 2 2 0.76 0.24 2400000 800000 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Reporting</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We report two business segments, Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. 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 ("CODM"), or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. We do not allocate or evaluate assets by segment.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Novel Biotherapeutics segment focuses on new opportunities in the pharmaceutical industry to dis</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">cover or improve novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. The </span></div>Performance Enzymes segment consists of protein catalyst products and services with focus on pharmaceutical, food, molecular diagnostics, and other industrial markets.<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the CODM, or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.</span></div>We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments. We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. 2 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Income Taxes</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Changes to Tax Law</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), P.L. 116-136,was passed into law, amending portions of certain relevant US tax laws. The CARES Act includes a number of federal income tax law changes, including, but not limited to: (i) permitting net operating loss carrybacks to offset 100% of taxable income for taxable years beginning before 2021, (ii) accelerating alternative minimum tax credit refunds, (iii) temporarily increasing the allowable business interest deduction from 30% to 50% of adjusted taxable income, and (iv) providing a technical correction for depreciation related to qualified improvement property. The CARES Act had no impact on our unaudited condensed consolidated financial statements.</span></div> <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Accounting Pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2016, the FASB issued ASU 2016-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments,</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> which amends the FASB's guidance on the impairment of financial instruments. The standard adds a new impairment model, known as CECL, which replaces the probable loss model. The CECL impairment model is based on estimates and forecasts of future conditions which requires recognition of a lifetime of expected credit losses at inception on financial assets measured at amortized costs. Our financial assets measured at amortized cost are comprised of accounts receivable, contract assets, and unbilled receivables. We adopted the new standard in the first quarter of 2020 using a modified retrospective approach requiring a cumulative-effect adjustment to the opening accumulated deficit as of the date of adoption. The ASU establishes a new valuation account “allowance for credit losses” replacing the “allowance for doubtful accounts” in the consolidated balance sheet, which is used to adjust the amortized cost basis of assets in presentation of the net amount expected to be collected. The adoption required certain additional disclosures but had no other impact on our unaudited condensed consolidated financial statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2017, the FASB issued ASU No. 2017-04, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The amendments eliminate Step 2 from the goodwill impairment test. The annual, or interim, goodwill impairment test is performed by comparing the fair value of a reporting unit to its carrying amount. An impairment charge should be recognized for the amount by which the carrying amount exceeds the reporting unit’s fair value; however, the loss recognized should not exceed the total amount of goodwill allocated to that reporting unit. In addition, income tax effects from any tax-deductible goodwill on the carrying amount of the reporting unit should be considered when measuring the goodwill impairment loss, if applicable. The amendments eliminate the requirements for any reporting unit with a zero or negative carrying amount to perform a qualitative assessment, and if it fails that qualitative test, to perform Step 2 of the goodwill impairment test. An entity still has the option to perform the qualitative assessment for a reporting unit to determine if the quantitative impairment test is necessary. We adopted the standard in the first quarter of 2020 using a prospective approach. The adoption required certain additional disclosures but had no impact on our unaudited condensed consolidated financial statements.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2018, the FASB issued ASU 2018-13, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Fair Value Measurement (Topic 820): Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> The primary focus of the standard is to improve the effectiveness of the disclosure requirements for fair value measurements. The changes affect all companies that are required to include fair value measurement disclosures. The standard requires the use of the prospective method of transition for disclosures related to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop fair value measurements categorized within Level 3 of the fair value hierarchy, and narrative description of measurement uncertainty. All other amendments in the standard are required to be adopted retrospectively. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2018, the FASB issued ASU 2018-18, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Collaborative Arrangements (Topic 808): Clarifying the Interaction Between Topic 808 and Topic 606.</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> ASU 2018-18 provides guidance on how to assess whether certain transactions between collaborative arrangement participants should be accounted for within the revenue recognition standard. The standard also provides more comparability in the presentation of revenue for certain transactions between collaborative arrangement participants. The standard is to be applied retrospectively to the date of the initial application of Topic 606 which also requires recognition of the cumulative effect of applying the amendments as an adjustment to the opening balance of retained earnings </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">of the later or the earliest annual period presented and the annual period inclusive of the initial application of Topic 606. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Recently issued accounting pronouncements not yet adopted </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the impact of recently issued standards that are not yet effective will not have a material impact on our unaudited condensed consolidated financial statements upon adoption.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. The standard is effective for fiscal years, and interim periods within those years, beginning after December 15, 2020, with early adoption permitted. The standard will be adopted upon the effective date for us beginning January 1, 2021. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.</span></div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, the FASB issued ASU 2020-04, Reference Rate Reform (Topic 848):</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"> Facilitation of the Effects of Reference Rate Reform on Financial Reporting. </span>The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities. The standard may be adopted as of any date from the beginning of an interim period that includes or is subsequent to March 12, 2020 through December 31, 2022. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures. Revenue Recognition<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Disaggregation of Revenue</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada and Latin America), EMEA (Europe, Middle East and Africa), and APAC (Australia, New Zealand, Southeast Asia and China).</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment information is as follows (in thousands):</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:27.116%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Product Revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,604 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,984 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,073 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Primary geographical markets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,209 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,841 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,141 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,889 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,723 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,205 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:28.285%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.288%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,018 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,220 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,100 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Primary geographical markets:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,381 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,591 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,972 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,128 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,047 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,175 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,964 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,672 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,876 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,876 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,100 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Contract Balances</span></div><div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands): </span></div><div style="margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.835%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.005%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">975 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,985 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract Costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract Liabilities: Deferred Revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,056 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,044 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We had no asset impairment charges related to contract assets in the three and nine months ended September 30, 2020 and 2019.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the nine months ended September 30, 2020, decreases in contract assets were primarily due to contract assets that were subsequently invoiced as our right to consideration for goods and services became unconditional. Increases in unbilled receivables were primarily due to the timing of billings. The increase in deferred revenue were primarily due to cash advances received in excess of revenue recognized.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three and nine months ended September 30, 2020 and 2019, we recognized the following revenues (in thousands):</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amounts included in contract liabilities at the beginning of the period:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Performance obligations satisfied</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">708 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,092 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,948 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in the period:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.5pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">233 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,641 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">854 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,460 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.5pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance obligations satisfied from new activities in the period - contract revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,444 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,173 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,111 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,400 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Performance Obligations</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table includes estimated revenue expected to be recognized in the future related to performance obligations </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Remainder of 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022 and Thereafter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product Revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">364 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,012 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">499 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,069 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,376 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,122 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,056 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada and Latin America), EMEA (Europe, Middle East and Africa), and APAC (Australia, New Zealand, Southeast Asia and China).</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Segment information is as follows (in thousands):</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:27.116%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.018%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Product Revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,604 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,984 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,073 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Primary geographical markets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,209 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,841 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,706 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,141 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,748 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,889 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,723 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,205 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,655 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:28.285%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.011%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.288%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Major products and service:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product revenue</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,018 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,220 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,100 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:11pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Primary geographical markets:</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,381 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,591 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,972 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,620 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,128 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,047 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,175 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,964 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,672 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,876 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,876 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,516 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,100 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table> 8401000 0 8401000 10351000 0 10351000 4604000 5380000 9984000 10073000 1482000 11555000 13005000 5380000 18385000 20424000 1482000 21906000 3209000 2632000 5841000 2706000 0 2706000 2141000 2748000 4889000 10723000 1482000 12205000 7655000 0 7655000 6995000 0 6995000 13005000 5380000 18385000 18385000 20424000 1482000 21906000 21906000 18005000 0 18005000 24588000 0 24588000 13380000 16638000 30018000 16512000 8708000 25220000 31385000 16638000 48023000 41100000 8708000 49808000 7381000 10591000 17972000 9620000 0 9620000 8128000 6047000 14175000 15964000 8708000 24672000 15876000 0 15876000 15516000 0 15516000 31385000 16638000 48023000 48023000 41100000 8708000 49808000 49808000 <div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands): </span></div><div style="margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:64.835%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:16.005%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract Assets</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">975 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,027 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivables</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,985 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,099 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract Costs</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Contract Liabilities: Deferred Revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,056 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,044 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the three and nine months ended September 30, 2020 and 2019, we recognized the following revenues (in thousands):</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amounts included in contract liabilities at the beginning of the period:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Performance obligations satisfied</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">708 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,092 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,948 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in the period:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13.5pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">233 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,641 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">854 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,460 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13.5pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance obligations satisfied from new activities in the period - contract revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,444 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,173 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47,111 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">42,400 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 975000 1027000 14985000 10099000 130000 0 4056000 2044000 0 0 0 0 708000 5092000 58000 4948000 233000 2641000 854000 2460000 17444000 14173000 47111000 42400000 18385000 21906000 48023000 49808000 The following table includes estimated revenue expected to be recognized in the future related to performance obligations <div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts (in thousands): </span></div><div style="margin-bottom:5pt;margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Remainder of 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2021</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2022 and Thereafter</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Product Revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">364 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,623 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,987 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,012 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">499 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,069 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">558 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,376 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,122 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,056 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 0 364000 1623000 1987000 558000 1012000 499000 2069000 558000 1376000 2122000 4056000 Net income (loss) per Share<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic net income (loss) per share is computed by dividing the net income (loss) by the weighted-average number of shares of common stock outstanding, less restricted stock awards ("RSAs") subject to forfeiture. Diluted net income (loss) per share is computed by dividing net income (loss) by the weighted-average number of shares of common stock outstanding, less RSAs subject to forfeiture, plus all additional common stock shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities. For periods of net loss, diluted and basic net loss per share are identical since potential common stock shares are excluded from the calculation, as their effect was anti-dilutive.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income (loss) per share during the three and nine months ended September 30, 2020 and 2019 (in thousands, except per share amounts):</span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,094)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">343 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,090)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,300)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common stock shares used in computing net income (loss) per share, basic</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,061 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,287 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,984 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,818 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive shares</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,125 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common stock shares used in computing net income (loss) per share, diluted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,061 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,412 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,984 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,818 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per share, basic</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.10)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01 </span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.34)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per share, diluted</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.10)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.34)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Anti-Dilutive Securities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following shares were not considered in the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):</span></div><div style="margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares issuable under the Equity Incentive Plan</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,182</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,182</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,623</span></td></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted net income (loss) per share during the three and nine months ended September 30, 2020 and 2019 (in thousands, except per share amounts):</span></div><div style="margin-bottom:6pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Numerator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss)</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,094)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">343 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(20,090)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,300)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Denominator:</span></td><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common stock shares used in computing net income (loss) per share, basic</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,061 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,287 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,984 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,818 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Effect of dilutive shares</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,125 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average common stock shares used in computing net income (loss) per share, diluted</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,061 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">61,412 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">58,984 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">55,818 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per share, basic</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.10)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01 </span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.34)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net income (loss) per share, diluted</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.10)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">0.01 </span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.34)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.20)</span></td><td style="background-color:#ffffff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> -6094000 343000 -20090000 -11300000 59061000 58287000 58984000 55818000 0 3125000 0 0 59061000 61412000 58984000 55818000 -0.10 0.01 -0.34 -0.20 -0.10 0.01 -0.34 -0.20 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following shares were not considered in the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):</span></div><div style="margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Shares issuable under the Equity Incentive Plan</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,182</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,019</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,182</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,623</span></td></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 5182000 1019000 5182000 5623000 Collaborative Arrangements<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">GSK Platform Technology Transfer, Collaboration and License Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In July 2014, we entered into a CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology transfer collaboration and license agreement (the "GSK CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement") with GlaxoSmithKline ("GSK"). Pursuant to the terms of the agreement, we granted GSK a non-exclusive license to use the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology to develop novel enzymes for use in the manufacture of GSK's pharmaceutical and health care products.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We received an upfront fee upon the execution of the agreement in July 2014 and milestone payments in each of the years from 2014 through April 2016. We completed the transfer of the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">protein engineering platform technology to GSK in April 2016 and all revenues relating to the technology transfer have been recognized as of April 2016. We have the potential to receive additional cumulative contingent payments that range from $5.75 million to $38.5 million per project based on GSK’s successful application of the licensed technology. We are also eligible to receive royalties based on net sales of GSK's sales of licensed enzyme products that are currently not being recognized. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, we received a $2.0 million milestone payment on the advancement of an enzyme developed by GSK using our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">protein engineering platform technology. We recognized no research and development revenue for the three and nine months ended September 30, 2020 compared to $2.0 million for the three and nine months ended September 30, 2019.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Merck Platform Technology Transfer and License Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In August 2015, we entered into a CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> platform technology transfer collaboration and license agreement (the "Merck CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement") with Merck, Sharp &amp; Dohme ("Merck") which allows Merck to use the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">protein engineering technology platform in the field of human and animal healthcare.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We received an up-front license fee upon execution of the Merck CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Agreement, and milestone payments in September 2015 and in September 2016, when we completed the transfer of the engineering platform technology. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have the potential to receive payments of up to a maximum of $15.0 million for each commercial active pharmaceutical ingredient ("API") that is manufactured by Merck using one or more novel enzymes developed by Merck using the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform. The API payments, which are currently not recognized in revenue, are based on the quantity of API developed and manufactured by Merck and will be recognized as usage-based royalties. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2019, we entered into an amendment to the Merck CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> Agreement to install certain CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology upgrades into Merck’s platform license installation and maintain those upgrades for a multi-year term. The license installation was completed in 2019 and we recognized $0.1 million and $1.0 million in the three and nine months ended September 30, 2019 as a license fee revenue accordingly under the amendment. Pursuant to the agreement, Merck has options to future technology enhancements for a specified fee. As of September 30, 2020, Merck has not exercised its option for technology enhancements. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized research and development revenues of $1.1 million and $2.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.1 million and $4.0 million for the three and nine months ended September 30, 2019, respectively, under the Merck CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Merck Sitagliptin Catalyst Supply Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In February 2012, we entered into a five-year Sitagliptin Catalyst Supply Agreement (“Sitagliptin Catalyst Supply Agreement”) with Merck whereby Merck may obtain commercial scale enzyme for use in the manufacture of Januvia</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, its product based on the active ingredient sitagliptin. In December 2015, Merck exercised its option under the terms of the sitagliptin Catalyst Supply Agreement to extend the agreement for an additional five years through February 2022. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Effective as of January 2016, we and Merck amended the Sitagliptin Catalyst Supply Agreement to prospectively provide for variable pricing based on the cumulative volume of sitagliptin catalyst purchased by Merck and to allow Merck to purchase a percentage of its requirements for sitagliptin catalyst from a specified third-party supplier. Merck received a distinct, functional license to manufacture a portion of its demand beginning January 1, 2018, which we recognized as research and development revenue.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have determined that the variable pricing, which provides a discount based on the cumulative volume of sitagliptin catalyst purchased by Merck, provides Merck material rights and we are recognizing product revenues using the alternative </span></div><div style="margin-top:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">method. Under the alternative approach, we estimate the total expected consideration and allocate it proportionately with the expected sales.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Sitagliptin Catalyst Supply Agreement requires Merck to pay an annual fee for the rights to the sitagliptin technology each year for the term of the Sitagliptin Catalyst Supply Agreement. Amounts of annual license fees are based on contractually agreed prices and are on a declining scale over the term of the contract. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the Sitagliptin Catalyst Supply Agreement, Merck may purchase supply from us for a fee based on contractually stated prices. We recognized revenue of $3.2 million and $7.0 million for the three and nine months ended September 30, 2020, respectively, compared to $3.6 million and $11.4 million in the three and nine months ended September 30, 2019, respectively, in product revenue under this agreement.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Enzyme Supply Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In November 2016, we entered into a supply agreement whereby our customer may purchase quantities of one of our proprietary enzymes for use in its commercial manufacture of a product. Pursuant to the supply agreement, we received an upfront payment in December 2016 which was recorded as deferred revenues. Such upfront payment will be recognized over the period of the supply agreement as the customer purchases our proprietary enzyme. We additionally have determined that the volume discounts under the supply agreement provides the customer material rights and we are recognizing revenues using the alternative method. As of September 30, 2020 and December 31, 2019, we had deferred revenue balances from the supply agreement of $2.0 million. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Global Development, Option and License Agreement; Strategic Collaboration Agreement; Development Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October 2017, we entered into a Global Development, Option and License Agreement (the “Nestlé Agreement”) with Société des Produits Nestlé (formerly known as Nestec Ltd.) (“Nestlé Health Science”) and, solely for the purpose of the integration and the dispute resolution clauses of the Nestlé Agreement, Nestlé Health Science S.A., to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We received an upfront cash payment of $14.0 million in 2017 upon the execution of the Nestlé Agreement, a $4.0 million milestone payment after dosing the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114, and a $1.0 million milestone payment upon achievement of a milestone relating to formulation of CDX-6114. The $4.0 million milestone payment that was triggered by the initiation of the trial was received in 2018 and the $1.0 million milestone payment that was triggered by the achievement of a formulation relating to CDX-6114 was received in February 2019. The upfront payment and the variable consideration relating to the progress payment of $4.0 million and milestone payment of $1.0 million were recognized over time as the development work was performed. Revenue was recognized using a single measure of progress that depicted our performance in transferring control of the services, which was based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete all performance obligations under the agreement. We recognized nominal research and development revenue for the three and nine months ended September 30, 2020, respectively, compared to $0.1 million and $1.8 million for the three and nine months ended September 30, 2019, respectively.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2019, we received notice from the FDA that it had completed its review of our investigational new drug application ("IND") for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU and paid us $3.0 million which we recognized as research and development revenue in 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114 was substantially completed in the fourth quarter of 2019. Other potential payments from Nestlé Health Science to us under the Nestlé Agreement include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the middle single digits to low double-digits, of net sales of product.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In October 2017, we also entered into a Strategic Collaboration Agreement (the “Strategic Collaboration Agreement”) with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform to develop novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. Under the Strategic Collaboration Agreement, we received an upfront payment of $1.2 million in 2017 and an incremental payment of $0.6 million in September 2018 for additional services. The Strategic Collaboration Agreement has been extended through December 2021.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In January 2020, we entered into a development agreement with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Under the Strategic Collaboration Agreement and development agreement, we recognized research and development fees of $2.8 million and $6.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.4 million and $3.9 million in the three and nine months ended September 30, 2019, respectively.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Strategic Collaboration Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In April 2018, we entered into the Porton Agreement with Porton to license key elements of our biocatalyst technology for use in Porton’s global custom intermediate and API development and manufacturing business. Under the Porton Agreement, we are eligible to receive annual collaboration fees and research and development revenues. We received an initial collaboration fee of $0.5 million within 30 days of the effective date of the Porton Agreement, $1.5 million upon the first anniversary of the effective date of the agreeme</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">nt, and $1.0 million upon the second anniversary of the effective date of the agreement and we are eligible to receive $1.0 million on the third anniversary of the effective date of the agreement. We completed the technica</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">l transfer in the fourth quarter of 2018 and recognized $2.8 million in research and development revenue. We recognized revenue related to the functional license provided to Porton at a point in time when control of the license was transferred to the customer. We recognized research and development revenue related to the Porton Agreement of nil and $1.1 million in the three and nine months ended September 30, 2020, respectively, and no revenue in the three and nine months ended September 30, 2019. As of September 30, 2020 and December 31, 2019, we had deferred revenue balances related to the strategic collaboration agreement of $0.1 million and nil, respectively. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Platform Technology Transfer and License Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement”) with Novartis Pharma AG (“Novartis”). The Agreement allows Novartis to use our proprietary CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">protein engineering platform technology in the field of human healthcare. Under the Novartis CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement, we are transferring our proprietary CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">protein engineering platform technology to Novartis over approximately 23 months, starting with the date on which we commenced the technology transfer (the “Technology Transfer Period”). As a part of this technology transfer, the Company provided to Novartis our proprietary enzymes, proprietary protein engineering protocols and methods, and proprietary software algorithms. In addition, teams of the Company and Novartis scientists participated in technology training sessions and collaborative research projects at our laboratories in Redwood City, California and at a designated Novartis laboratory in Basel, Switzerland. Upon completion of technology transfer, Novartis will have the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology installed at its designated laboratory.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreemen</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">t. In the second quarter of 2020, we completed the second technology milestone transfer under the agreement and became eligible to receive a milestone payment of $4.0 million, which we subsequently received in July 2020. We are eligible </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">to receive an additional $5.0 million upon satisfactory completion of the third technology transfer milestone. In consideration for the continued disclosure and license of improvements to our technology and materials during a multi-year period that begins on the conclusion of the Technology Transfer Period, Novartis will pay us annual payments which amount to an additional $8.0 million. The Company also has the potential to receive quantity-dependent, usage payments for each API that is manufactured by Novartis using one or more enzymes that have been developed or are in development using the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology during the period that begins on the conclusion of the Technology Transfer Period and ends on the expiration date of the last to expire licensed patent. These product-related usage payments, if any, will be paid by Novartis to us for each quarter that Novartis manufactures API using a CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-developed enzyme. The usage payments will be based on the total volume of API produced using the CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">-developed enzyme. These usage payments can begin in the clinical stage and will extend throughout the commercial life of each API. Revenue for the combined initial license and technology transfer performance obligation, which is expected to occur over twenty-three months, is being recognized using a single measure of progress that depicts our performance in transferring control of the services, which is based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete the performance obligation relating to the combined initial license and technology transfer. Revenue allocated to future improvements will be recognized during the Improvement Term. We recognized $0.9 million and $4.1 million in research and development revenue for the three and nine months ended September 30, 2020, respectively, compared to $3.8 million in revenue for the three and nine months ended September 30, 2019 from the Novartis CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">® </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Agreement.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">License Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2019, we entered a license agreement with Roche Sequencing Solutions, Inc. (“Roche”) to provide Roche with our EvoT4 DNA™ ligase high-performance molecular diagnostic enzyme. The royalty bearing license grants Roche worldwide rights to include the EvoT4 DNA™ ligase in its nucleic acid sequencing products and workflows. Under the license agreement, we received an initial collaboration fee payment within 45 days of the effective date of the agreement and we are eligible to receive an additional milestone within 60 days after the completion of technology transfer. The agreement also contemplates milestone payments to the Company upon the achievement of various development and commercialization events and royalty payments from commercial sales of the enzyme. We recognized research and development fees of $0.1 million and $0.9 million for the three and nine months ended September 30, 2020, respectively.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Strategic Collaboration and License Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, we entered into a Strategic Collaboration and License Agreement (the “Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Co. Ltd. (“Takeda”) under which we will research and develop protein sequences for use in gene therapy products for certain diseases (each, a “Field”) in accordance with each applicable program plan (each, a “Program Plan”). </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In March 2020, we received an up-front nonrefundable cash payment of $8.5 million and we initiated activities under three Program Plans for Fabry Disease, Pompe Disease, and an unnamed blood factor deficiency respectively (the “Initial Programs”). We are primarily responsible for the research and development of protein sequences under the Program Plans (the “Protein Sequences”) and we are eligible to earn $18.3 million of research and development fees and pre-clinical milestone payments for the Initial Programs. Takeda has the right, but not the obligation, to develop, manufacture and commercialize gene therapy products that include nucleic acid sequences that encode the Protein Sequences (“Products”) at their expense. Takeda has the right to a certain number of additional disease indications (“Reserved Target Indications”) for a limited period in which Takeda may initiate a Program Plan for one or more Reserved Target Indications (“Additional/Option Program,” with Initial Programs, the “Programs”), provided, (a) if Takeda elects to initiate an Additional/Option Program while the parties are collaborating on three other Programs at the time of such election, or (b) if Takeda elects to initiate an Additional/Option Program using the last remaining Reserved Target Indication, then Takeda must pay us an option exercise fee to initiate such Additional/Option Program. We will own all rights to the Protein Sequences and corresponding nucleic acid sequences and related intellectual property rights and Takeda will own all rights to Products and related intellectual property rights. </span></div><div style="margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We granted to Takeda an exclusive, worldwide, royalty-bearing, sublicensable license to use the Protein Sequences and their corresponding nucleic acid sequences to develop, manufacture and commercialize the applicable Products in the applicable Field. We also granted to Takeda a limited non-exclusive, worldwide, sublicensable license (a) to research the Protein Sequences within or outside the applicable Fields and (b) to research the Products outside of the applicable Fields, which such rights exclude Takeda's right to perform any Investigational New Drug-enabling activities. The licenses to research the Protein Sequences expire after a pre-determined period of time.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The term of the Takeda Agreement begins on the Effective Date and continues on a Product-by-Product and country-by-country basis, until the expiration of Takeda’s obligation to pay royalties to the Company with respect to that Product in that country. The Takeda Agreement expires in its entirety upon the expiration of Takeda’s obligation to pay royalties to the Company with respect to the Products in all countries worldwide. Subject to the terms of the Takeda Agreement, and after the first anniversary of the Effective Date with respect to the Initial Programs or after the first anniversary of confirmation of the applicable Program Plan by the parties with respect to the Additional/Option Programs, Takeda may terminate a Program upon specified prior written notice to the Company. Subject to the terms of the Takeda Agreement, Takeda may terminate the Takeda Agreement, at will, on a Product-by-Product basis upon specified prior written notice to the Company and the Takeda Agreement in its entirety upon specified prior written notice to the Company. Subject to the terms of the Takeda Agreement, Takeda may terminate the Takeda Agreement on a Product-by-Product basis for safety reasons upon specified prior written notice to the Company. Either party may terminate the Takeda Agreement for an uncured material breach by the other party, or the other party’s insolvency or bankruptcy.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are eligible to receive certain development and commercialization milestone payments up to $100.0 million per target gene, the modulation of which would lead to the treatment of the disease indications by the applicable Product. We are also eligible to receive tiered royalties based on net sales of Products at percentages ranging from the middle-single digits to low single-digits. We recognized research and development revenue related to the Takeda Agreement of $2.6 million and $10.6 million in the three and nine months ended September 30, 2020, respectively. As of September 30, 2020, we had a deferred revenue balance of $1.9 million from Takeda.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Master Collaboration and Research Agreement and Stock Purchase Agreement</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2020, we entered into a Stock Purchase Agreement with Molecular Assemblies, Inc. ("MAI") pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million in connection with the transaction, our chief executive officer, John Nicols, also joined MAI’s board of directors.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the same time, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with MAI to engineer DNA polymerase enzymes to deliver differentiated and cost-effective solutions for the enzymatic synthesis of DNA. Under the MAI Agreement and its related statement of work (“SOW”), we will apply our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Based on these services, the Company is eligible to earn additional shares of MAI's Series A preferred stock. MAI will combine its advanced chemistries with our enzymes to drive the process to commercialization. Under the MAI Agreement and its associated SOW, we will engage in research and development activities to engineer DNA polymerase enzymes for the enzymatic synthesis of DNA in exchange for monthly fees in the form of shares of Series A preferred stock in MAI. We are eligible to earn such non-monetary payments over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjM4Y2ViZjdlZGFjMTQxZGI4NDNhMTUyYWEwMWJhNjQ0L3NlYzozOGNlYmY3ZWRhYzE0MWRiODQzYTE1MmFhMDFiYTY0NF80MC9mcmFnOmVmNzUxMzhjZjJlYTRjNWNhNDFmMDRhMTExZWEwYzI5L3RleHRyZWdpb246ZWY3NTEzOGNmMmVhNGM1Y2E0MWYwNGExMTFlYTBjMjlfMjIyNjc_67c20397-7c88-4184-b170-3e68777e802e">ten</span> to thirteen months, and any such shares would be issued thirty days in arrears after each calendar quarter-end. We are also eligible to receive amounts for bonuses, targets and milestones on achievement of timeline and project goals specified in the SOW. Payments for bonuses, targets and milestones on achievement of timeline and project goals are to be issued thirty days after the Company provides notification of completion. We did not receive any shares of MAI's Series A preferred stock based on services provided in the nine months ended September 30, 2020. Under the MAI Agreement, we will have the right to use and sell the engineered enzymes to third parties for any purpose other than for the synthesis of native DNA. Under the MAI Agreement, we would make a $0.5 million payment to MAI upon our achievement of a milestone of $5.0 million in aggregate commercial sales to third parties of the engineered enzymes or any product incorporating or derived from the engineered enzymes for any purpose other than the synthesis of native DNA. The MAI Agreement contemplates that we and MAI will enter into a Commercialization and Enzyme Supply Agreement (the “CESA”) within six months following the completion of certain timelines specified in the SOW. In addition, we and MAI have agreed pursuant to the MAI Agreement to certain terms to be contained within the CESA in the event that the CESA becomes executed in the future. Those include: (a) that MAI would receive an exclusive license to use the DNA polymerase enzymes engineering by us under the MAI Agreement in the synthesis of native DNA and a non-exclusive license to use these enzymes for research and development on the synthesis of non-native DNA, and (b) we would become the exclusive manufacturer of these enzymes for MAI, its affiliates and licensees.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized $0.5 million in research and development revenue in the three and nine months ended September 30, 2020 from transactions with MAI. At September 30, 2020, we had $0.5 million of financial assets due from MAI. Payment for the services was subsequently received in form of additional Series A preferred stock of MAI in October.</span></div> 5750000 38500000 2000000.0 0 0 2000000.0 2000000.0 15000000.0 100000 1000000.0 1100000 2100000 1100000 4000000.0 P5Y P5Y 3200000 7000000.0 3600000 11400000 2000000.0 2000000.0 14000000.0 4000000.0 1000000.0 4000000.0 1000000.0 4000000.0 1000000.0 0 0 100000 1800000 3000000.0 85000000.0 250000000.0 1000000000.0 1200000 600000 2800000 6100000 1400000 3900000 500000 P30D 1500000 1000000.0 1000000.0 2800000 0 1100000 0 0 100000 0 P23M 5000000.0 4000000.0 5000000.0 8000000.0 P23M 900000 4100000 3800000 3800000 P45D P60D 100000 900000 8500000 18300000 100000000.0 2600000 10600000 1900000 1587050 1000000.0 P13M P30D P30D 500000 5000000.0 P6M 500000 500000 500000 Cash Equivalents and Equity Securities<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents at September 30, 2020 and December 31, 2019 consisted of the following (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Estimated<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (1)</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="24" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets.</span></div></td></tr></table></div><div style="margin-top:6pt;text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2020, the total cash and cash equivalents balance of $71.5 million was comprised of money market funds of $51.5 million and cash of $20.0 million held with major financial institutions worldwide. As of December 31, 2019, the total cash and cash equivalents balance of $90.5 million was comprised of money market funds of $71.2 million and cash of $19.3 million held with major financial institutions worldwide.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Investment in Equity Securities </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">No single investor in MAI holds 20% or more of the voting stock. Our investment represented approximately 4% of MAI's voting stock at the time of the transaction. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We recorded no impairments or upward adjustments due to observable price changes in the investment in the three and nine months ended </span></div>September 30, 2020. The carrying amount of the investment was $1.0 million at September 30, 2020. For additional information, see Note 12, "Related Party Transactions." <div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash equivalents at September 30, 2020 and December 31, 2019 consisted of the following (in thousands):</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Estimated<br/>Fair Value</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Adjusted Cost</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"> (1)</span></div></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="24" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline">(1) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets.</span></div></td></tr></table></div> 51488000 51488000 71248000 71248000 71500000 51500000 20000000.0 90500000 71200000 19300000 0.04 1000000.0 Fair Value Measurements<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the financial instruments that were measured at fair value on a recurring basis at September 30, 2020 and December 31, 2019 by level within the fair value hierarchy (in thousands):</span></div><div style="margin-top:9pt;text-indent:18pt"><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div><span><br/></span></div><div style="margin-bottom:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables present the financial instruments that were measured at fair value on a recurring basis at September 30, 2020 and December 31, 2019 by level within the fair value hierarchy (in thousands):</span></div><div style="margin-top:9pt;text-indent:18pt"><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">September 30, 2020</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">51,488 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div><span><br/></span></div><div style="margin-bottom:5pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Level 3</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">71,248 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 51488000 51488000 71248000 71248000 Balance Sheets Details<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Inventories</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">338 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Inventories</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">737 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">371 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div><span><br/></span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Property and Equipment, net</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Laboratory equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,837 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,561 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,774 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,016 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment and furniture</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,175 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,461 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">602 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">691 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,522 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,533 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,233)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,251)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Property and equipment, net</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,289 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,282 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="text-indent:13.5pt"><span><br/></span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Goodwill</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Goodwill had a carrying value of approximately $3.2 million as of September 30, 2020 and December 31, 2019.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Accrued Liabilities</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities consisted of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued purchases </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,810 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued professional and outside service fees</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,142 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,802 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">352 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,570 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,540 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Inventories consisted of the following (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Raw materials</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">77 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Work-in-process</span></td><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finished goods</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">632 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">338 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">    Inventories</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">737 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="padding:0 1pt"/><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">371 </span></td><td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 77000 7000 28000 26000 632000 338000 737000 371000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following (in thousands):</span></div><div style="text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Laboratory equipment</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,837 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23,561 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Leasehold improvements</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,774 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,804 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Computer equipment and software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,134 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,016 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Office equipment and furniture</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,175 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,461 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Construction in progress</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">602 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">691 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property and equipment</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40,522 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">39,533 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">       Less: accumulated depreciation and amortization</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,233)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(33,251)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Property and equipment, net</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,289 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,282 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 24837000 23561000 10774000 10804000 3134000 3016000 1175000 1461000 602000 691000 40522000 39533000 33233000 33251000 7289000 6282000 3200000 3200000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other accrued liabilities consisted of the following (in thousands):</span></div><div style="margin-bottom:5pt;margin-top:9pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.882%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued purchases </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,810 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,386 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued professional and outside service fees</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,142 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,802 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">618 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">352 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">     Total</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,570 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,540 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 3810000 4386000 3142000 1802000 618000 352000 7570000 6540000 Stock-based Compensation<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Equity Incentive Plans</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2019, our board of directors (the "Board") and stockholders approved the 2019 Incentive Award Plan (the "2019 Plan"). The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, restricted stock units ("RSUs"), restricted stock awards ("RSAs"), performance-contingent restricted stock units ("PSUs"), performance based options ("PBOs"), stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The number of shares of our common stock available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”).</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of 10 years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Restricted Stock Units (RSUs)</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also grant employees RSUs, which generally vest over either a three year period with one-third of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance-contingent Restricted Stock Units (PSUs) and Performance Based Options (PBOs)</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We also grant our executives and our non-executive employees PSUs, and we grant our executives PBOs. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the first half of 2020, we awarded PSUs ("2020 PSUs") and PBOs ("2020 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancements of biotherapeutics pipeline, safety and technology development. As of September 30, 2020, we estimated that the 2020 PSUs and 2020 PBOs performance goals would be achieved at 100% of the target level, and recognized expenses accordingly. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2019, we awarded PSUs ("2019 PSUs") and PBOs ("2019 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancement of biotherapeutics, cash balance and strategic plan development. In the first quarter of 2020, we determined that the 2019 PSUs and 2019 PBOs performance goals had been achieved at 106% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2020 and 50% of the shares underlying the 2019 PSUs and PBOs will vest in the first quarter of 2021, in each case subject to the recipient’s continued service on each vesting date.</span></div><div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In 2018, we awarded PSUs ("2018 PSUs") and PBOs ("2018 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including core business revenue growth, cash balance, new licensing collaborations, new research and development service revenue arrangements, technology advancement and novel therapeutic enzymes advancement. In the first quarter of 2019, we determined that the 2018 PSUs and 2018 PBOs performance goals had been achieved at 118% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2018 PSUs and PBOs vested in the first quarter of 2019 and 50% of the shares underlying the 2018 PSUs and PBOs vested in the first quarter of 2020, in each case subject to the recipient’s continued service on each vesting date.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Stock-Based Compensation Expense </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">458 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,279 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,599 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,274 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,813 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,984 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,732 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,092 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,783 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations for the three and nine months ended September 30, 2020 and 2019 (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">619 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,735 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,680 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RSUs and RSAs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">603 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">461 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,812 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,308 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PSUs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">368 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">922 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,075 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PBOs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">467 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">358 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,984 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,732 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,092 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,783 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span><br/></span></div><div style="margin-top:6pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2020, we granted an option to purchase 60,000 shares of common stock to a non-employee as compensation for services. The estimated fair value of the grant was valued at $0.3 million using the Black-Scholes-Merton option pricing model with the following assumptions used to estimate the fair value of non-employee stock options: (i) volatility rate at 51.9%, (ii) risk-free interest rate of 0.4% and (iii) no expected dividend yield. The option vests over 2 years from the date of grant with 50% vesting after one year and the remaining 50% vesting monthly in the second year. In August 2020, we granted an option to purchase 16,000 shares of common stock to a non-employee as compensation for services. The estimated fair value of the grant was valued at $0.1 million using the Black-Scholes-Merton option pricing model with the following assumptions used to estimate the fair value of non-employee stock options: (i) volatility rate at 50.5%, (ii) risk-free interest rate of 0.3% and (iii) no expected dividend yield. The option vests over 1 year with 100% on the first anniversary of the grant date. We recognized stock-based compensation expense related to the non-employees of $43 thousand and $47 thousand for the three and nine months ended September 30, 2020, respectively.</span></div><div style="margin-top:9pt;text-indent:27pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2020, unrecognized stock-based compensation expense, net of expected forfeitures, was $4.2 million related to unvested employee stock options, $0.3 million related to unvested non-employee stock options, $2.3 million related to unvested RSUs and RSAs, $0.8 million related to unvested PSUs, and $1.3 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through the year of 2024.</span></div> 7897144 14000000 8100000 1 0.85 0.10 1.10 P10Y P4Y 0.25 0.75 P3Y P4Y 0.25 2 0.50 0.50 0 1 1.06 0.50 0.50 1.18 0.50 0.50 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Research and development </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">458 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,279 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,249 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Selling, general and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,599 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,274 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,813 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,534 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,984 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,732 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,092 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,783 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 385000 458000 1279000 1249000 1599000 1274000 4813000 4534000 1984000 1732000 6092000 5783000 The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations for the three and nine months ended September 30, 2020 and 2019 (in thousands):<table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.133%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">619 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">545 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,735 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,680 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">RSUs and RSAs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">603 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">461 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,812 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,308 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PSUs</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">295 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">368 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">922 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,075 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">PBOs</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">467 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">358 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,623 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,720 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">   Total</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,984 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,732 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,092 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,783 </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table> 619000 545000 1735000 1680000 603000 461000 1812000 1308000 295000 368000 922000 1075000 467000 358000 1623000 1720000 1984000 1732000 6092000 5783000 60000 300000 0.519 0.004 0 P2Y 0.50 0.50 16000 100000 0.505 0.003 0 P1Y 1 43000 47000 4200000 300000 2300000 800000 1300000 Capital Stock<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Exercise of Options</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the nine months ended September 30, 2020 and September 30, 2019, we issued 87,240 and 970,256 shares, respectively, upon option exercises at a weighted-average exercise price of $6.17 and $4.76 per share, respectively, with net cash proceeds of $0.5 million and $4.6 million, respectively. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Private Offering</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2019, we entered into a Securities Purchase Agreement with an affiliate of Casdin pursuant to which we issued and sold to Casdin 3,048,780 shares of our common stock at a purchase price of $16.40 per share. After deducting legal fees of $74 thousand from the Private Offering, our net proceeds were $49.9 million.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Private Offering was exempt from registration pursuant to the exemption for transactions by an issuer not involving any public offering under Section 4(a)(2) the Securities Act, and Regulation D under the Securities Act.</span></div> 87240 970256 6.17 4.76 500000 4600000 3048780 16.40 74000 49900000 Commitments and Contingencies<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Operating Leases</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in four buildings within the same business park of Metropolitan Life Insurance Company ("MetLife"). Our lease (“Lease”) with MetLife includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “Penobscot Space”), approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “Building 2 Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”). </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Until January 31, 2020, we also leased approximately 29,900 square feet of space located at 101 Saginaw Drive, Redwood City, California (the “Saginaw Space”). During the period January 1, 2020 through January 31, 2020, we subleased approximately 26,500 square feet of the Saginaw Space to Minerva Surgical, Inc. The lease and sublease for the Saginaw Space both expired at the end of January 2020. During the period from February 1, 2020 through April 30, 2020, we subleased approximately 3,400 square feet of the Saginaw Space from Minerva Surgical, Inc. The sublease expired at the end of April 2020.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We entered into the initial lease with MetLife for a portion of this space in 2004 and the lease has been amended multiple times since then to adjust space and terms of the lease ("Lease"). In February 2019, we entered into an Eighth Amendment to the Lease ( the “Eighth Amendment”) with MetLife with respect to the Penobscot Space, the Building 2 Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space and the Building 2 Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have two consecutive options to extend the term of the lease for the Penobscot Space, the Building 2 Space and the 501 Chesapeake Space for an additional period of five years per option.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required to restore certain areas of the Redwood City facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.2 million as of September 30, 2020 and December 31, 2019, which are included in other liabilities on the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pursuant to the terms of the Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of September 30, 2020 and December 31, 2019, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Finance Leases</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In December 2016, we entered into a three-year financing lease agreement with a third party supplier for the purchase of laboratory equipment that was partially financed through a finance lease of approximately $0.4 million. The lease became effective upon delivery of the equipment in February 2017, and term of the three-year lease was from February 2017 and expired in February 2020. This financing agreement was accounted for as a finance lease due to bargain purchase options at the end of the lease. In April 2017, we entered into a three-year financing lease agreement with a third-party supplier for the purchase of information technology equipment for approximately $0.3 million. The effective term of the three-year lease was from May 2017 and expired in April 2020.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Lease Costs and other information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease related costs were as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease costs: </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest on lease obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,033 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,139 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,133 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sublease income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(262)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(55)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(727)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,060 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">933 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,252 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,861 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Short-term lease costs on leases with terms of over one month and less than one year.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other information related to non-cancellable finance leases and operating leases as of September 30, 2020 was as follows:</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.9 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash paid for amounts included in the measurement of lease obligations was as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,795 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,456 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from finance leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2020, our maturity analysis of annual undiscounted cash flows of the non-cancellable finance and operating leases are as follows (in thousands):</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ending December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020 (remaining 3 months)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,022 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,285 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,589 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,726 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025 and thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,494 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,313 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease Obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Other Commitments</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.</span></div><div style="margin-top:9pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):</span></div><div style="margin-top:9pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.297%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Other Commitment Agreement Type</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Agreement Date</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Future Minimum Payment</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Manufacture and supply agreement with expected future payment date of December 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2016</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">532 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Development and manufacturing services agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,806 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Strategic Collaboration and License Agreement</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">520 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other commitments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,858 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Credit Facility</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 30, 2017, we entered into a credit facility (the “Credit Facility”) consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. At September 30, 2020 and December 31, 2019, we have not drawn from the Credit Facility. We may draw on the Term Debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. On October 1, 2024 loans drawn under the Term Debt mature and the Revolving Line of Credit terminate. Loans made under the Term Debt bear interest through maturity equal to the greater of (i) 3.75% and (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the equal to the greater of (i) 4.25% and (ii) the sum of (A) the prime rate plus (B) 1.00%.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. The Credit Facility includes a number of customary covenants and restrictive financial covenants including meeting minimum product revenue levels and maintaining certain minimum cash levels with the lender. The Credit Facility's financial covenants restrict the ability of the Company to transfer collateral, incur additional indebtedness, engage in mergers or acquisitions, pay dividends or make other distributions, make investments, create liens, sell assets, or sell certain assets held at foreign subsidiaries. A failure to comply with these covenants could permit the lender to exercise remedies against us and the collateral securing the Credit Facility, including foreclosure of our properties securing the Credit Facilities and our cash. At September 30, 2020, we were in compliance with the covenants for the Credit Facility.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Credit Facility allows for interest-only payments on the Term Debt through November 1, 2022. Monthly payments of principal and interest on the Term Debt are required following the applicable amortization date. We may elect to prepay in full the Term Debt and Advances under the Revolving Line of Credit at any time. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Legal Proceedings</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are not currently a party to any material pending litigation or other material legal proceedings.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Indemnifications</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Impact of COVID-19</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&amp;D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&amp;D operations. R&amp;D operations for several projects were temporarily suspended from mid-March 2020 through the end of April in accordance with these Orders. In May 2020, we initiated limited R&amp;D operations and have gradually ramped up operations such that we are currently utilizing the majority of our normal R&amp;D capacity. Additionally, we have resumed small scale manufacturing at our Redwood City pilot plant in May 2020. </span></div><div style="margin-top:9pt;text-indent:22.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. As of the date of issuance of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain.</span></div> 77300 4 28200 37900 11200 29900 26500 3400 2 P5Y 200000 200000 0 0 1100000 1100000 400000 P3Y P3Y 300000 P3Y <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Lease related costs were as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:33.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.548%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease costs: </span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 11.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Amortization of right-of-use assets</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">126 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">163 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 11.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Interest on lease obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 30pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance lease costs</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">27 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">56 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">127 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">171 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,033 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,139 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,133 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,417 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">47 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sublease income</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(262)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(55)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(727)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total lease cost</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,060 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">933 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,252 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,861 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Short-term lease costs on leases with terms of over one month and less than one year.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Other information related to non-cancellable finance leases and operating leases as of September 30, 2020 was as follows:</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average remaining lease term (in years)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.9 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average discount rate</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.6 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Cash paid for amounts included in the measurement of lease obligations was as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.443%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from operating leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,795 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,456 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating cash flows from finance leases</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Financing cash flows from finance leases</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">180 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr></table></div> 27000 54000 126000 163000 0 2000 1000 8000 27000 56000 127000 171000 1033000 1139000 3133000 3417000 0 0 47000 0 0 262000 55000 727000 1060000 933000 3252000 2861000 P6Y10M24D 0.066 1795000 2456000 0 9000 60000 180000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2020, our maturity analysis of annual undiscounted cash flows of the non-cancellable finance and operating leases are as follows (in thousands):</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ending December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020 (remaining 3 months)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,022 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,285 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,589 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,726 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025 and thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,494 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,313 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease Obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of September 30, 2020, our maturity analysis of annual undiscounted cash flows of the non-cancellable finance and operating leases are as follows (in thousands):</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:82.671%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Years ending December 31,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Operating Leases</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2020 (remaining 3 months)</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,022 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2021</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,197 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,285 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2023</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,589 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,726 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025 and thereafter</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,494 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total minimum lease payments</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,313 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,758)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease Obligations</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,555 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div> 1022000 4197000 4285000 4589000 4726000 13494000 32313000 6758000 25555000 <div style="margin-top:9pt;text-align:justify;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):</span></div><div style="margin-top:9pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:66.297%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.546%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Other Commitment Agreement Type</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Agreement Date</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Future Minimum Payment</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Manufacture and supply agreement with expected future payment date of December 2022</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">April 2016</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">532 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Development and manufacturing services agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">September 2019</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,806 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Strategic Collaboration and License Agreement</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">March 2020</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">520 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total other commitments</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,858 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 532000 3806000 520000 4858000 10000000.0 5000000.0 0.80 0.0375 0.0050 0.0425 0.0100 0 Related Party<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Molecular Assemblies, Inc.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">In June 2020, we entered into a Stock Purchase Agreement with Molecular Assemblies, Inc (“MAI”) pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. In connection with the transaction, our chief executive officer, John Nicols, also joined MAI’s board of directors. </span></div><div style="text-indent:18pt"><span><br/></span></div><div style="text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the same time, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with MAI to engineer DNA polymerase enzymes to deliver differentiated and cost-effective solutions for the enzymatic synthesis of DNA. Under the MAI Agreement and its related statement of work (“SOW”), we will apply our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on these services, we are eligible to earn additional Series A preferred stock of MAI contingent on the achievement of certain results and milestones. MAI will combine its advanced chemistries with our enzymes to drive the process to commercialization. Under the MAI Agreement and its associated SOW, we will engage in research and development activities to engineer DNA polymerase enzymes for the enzymatic synthesis of DNA and will receive monthly fees in the form of shares of Series A preferred stock in MAI. Such non-monetary payments will be earned over <span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjM4Y2ViZjdlZGFjMTQxZGI4NDNhMTUyYWEwMWJhNjQ0L3NlYzozOGNlYmY3ZWRhYzE0MWRiODQzYTE1MmFhMDFiYTY0NF82NC9mcmFnOjg0NDY1OGRhNjYyNjRkOTY4YTlkYjhkNDc0N2EzZTQ1L3RleHRyZWdpb246ODQ0NjU4ZGE2NjI2NGQ5NjhhOWRiOGQ0NzQ3YTNlNDVfMjA2Mw_a5a721d2-8e9e-493c-8bf4-3580703da758">ten</span> to thirteen months and issued thirty days in arrears after each calendar quarter-end. We are also eligible to receive amounts for bonuses, targets and milestones on achievement of timeline and project goals specified in the SOW. Payments for bonuses, targets and milestones on achievement of timeline and project goals are to be issued thirty days after the Company provides notification of completion. We did not receive any shares of MAI's Series A preferred stock based on services provided in the nine months ended September 30, 2020. Under the MAI Agreement, we will have the right to use and sell the engineered enzymes to third parties for any purpose other than for the synthesis of native DNA. Under the MAI Agreement, we would make a $0.5 million payment to MAI on meeting a milestone of $5.0 million in aggregate commercial sales by the Company to third parties of the engineered enzymes or any product incorporating or derived from the engineered enzymes for any purpose other than the synthesis of native DNA. The MAI Agreement contemplates that we and MAI will enter into a Commercialization and Enzyme Supply Agreement (the “CESA”) within six months following the completion of certain timelines specified in the SOW. In addition, we and MAI have agreed pursuant to the MAI Agreement to certain terms to be contained within the CESA in the event that the CESA becomes executed in the future. Those include: (a) that MAI would receive an exclusive license to use the DNA polymerase enzymes engineering by us under the MAI Agreement in the synthesis of native DNA and a non-exclusive license to use these enzymes for research and development on the synthesis of non-native DNA, and (b) that we would become the exclusive manufacturer of these enzymes for MAI, its affiliates and licensees.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We recognized $0.5 million in research and development revenue in the three and nine months ended September 30, 2020 from transactions with MAI. At September 30, 2020, we had $0.5 million of financial assets due from MAI. Payment for the services was subsequently received in the form of additional Series A preferred stock of MAI in October. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">AstraZeneca PLC</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Pam P. Cheng, who served as a member of our board of directors until June 2020, joined AstraZeneca PLC as Executive Vice President, Operations and Information Technology in June 2015. We sold biocatalyst products to AstraZeneca PLC and its controlled purchasing agents and contract manufacturers. We recognized $0.1 million of revenue in 2020 through the date of Ms. Cheng’s departure from our board of directors. We recognized $0.2 million and $0.6 million of revenue from transactions with AstraZeneca in the three and nine months ended September 30, 2019, respectively. At September 30, 2020 and December 31, 2019, we had no receivables from AstraZeneca.</span></div> 1587050 1000000.0 P13M P30D P30D 500000 5000000.0 P6M 500000 500000 500000 100000 200000 600000 0 0 Segment, Geographical and Other Revenue Information<div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Segment Information</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the CODM, or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment. </span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Performance Enzymes</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We initially commercialized our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.</span></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Novel Biotherapeutics</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:120%;position:relative;top:-3.5pt;vertical-align:baseline">®</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Most notable is our lead program for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">We have also developed a pipeline of other biotherapeutic drug candidates, which are in preclinical development, and in which we expect to continue to make additional investments with the aim of advancing additional product candidates targeting other therapeutic areas. In March 2020 we entered into the Takeda Agreement with Takeda under which we will research and develop protein sequences for use in gene therapy products for certain diseases.</span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Factors considered in determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation. </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provide financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%"><tr><td style="width:1.0%"/><td style="width:24.010%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.651%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,604 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,984 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,073 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Cost of product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,642 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,642 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,067 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,184 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,433 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,617 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,313 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,080 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,393 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">515 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,190 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,037 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">690 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,501 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,948 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,449 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,417 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,770 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,187 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,504 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,568)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,007 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,288)</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,719 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,483)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,912)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(528)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(471)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Income (loss) before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,075)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.</span></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.</span></div><div style="margin-bottom:12pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:24.923%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.606%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,018 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,220 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,100 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Cost of product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,230 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,230 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,877 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,848 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,725 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,889 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,252 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,141 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,395 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,728 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,123 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,499 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,768 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,154 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,576 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,730 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,618 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,020 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,638 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,938)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,707)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,312)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,170 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,526)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,185)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,526)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,273)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,759)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,288)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.</span></div><div style="margin-bottom:9pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.</span></div><div style="margin-bottom:9pt;margin-top:12pt;padding-left:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provides stock-based compensation expense included in income (loss) from operations (in thousands):</span></div><div style="margin-top:12pt;padding-left:9pt;text-indent:18pt"><span><br/></span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.853%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">839 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,013 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,984 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">225 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">771 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,732 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">625 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,132 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,092 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,973 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,247 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,783 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Significant Customers</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of our total revenues were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Percentage of Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of accounts receivable had balances as of the periods presented as follows:</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Percentage of Accounts Receivables as of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:120%">* Percentage was less than 10%</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div><div style="margin-bottom:9pt;margin-top:12pt;padding-left:9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Geographical Information </span></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Geographic revenues are identified by the location of the customer and consist of the following (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,706 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,972 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,620 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,889 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,205 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,175 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,672 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,655 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,516 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable long-lived assets by location was as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-lived assets</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,289 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,282 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:8pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable goodwill was as follows (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:50.215%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of September 30, 2020 and December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,463 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">778 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 2 2 <div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provide financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.561%"><tr><td style="width:1.0%"/><td style="width:24.010%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.647%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.534%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.651%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,401 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,351 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,604 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,984 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,073 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,555 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,005 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,380 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">20,424 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Cost of product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,642 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,642 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,067 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,067 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,184 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,433 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,617 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,313 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,080 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,393 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,675 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">515 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,190 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,037 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">690 </span></td><td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,727 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,501 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,948 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,449 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,417 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,770 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,187 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,504 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,568)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(64)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,007 </span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,288)</span></td><td style="border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,719 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(5,483)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(4,912)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(528)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(471)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Income (loss) before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(6,075)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">336 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:9pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="margin-top:12pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.</span></div><div style="margin-bottom:12pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.</span></div><div style="margin-bottom:12pt;margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:24.923%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.595%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:10.606%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Revenues:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,005 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,588 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development revenue</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,380 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">30,018 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,512 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,220 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total revenues</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,385 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,638 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">41,100 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,708 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">Costs and operating expenses:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 6.75pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Cost of product revenue</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,882 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,230 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,230 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Research and development</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,877 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16,848 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">32,725 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,889 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,252 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,141 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Selling, general and administrative</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,395 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,728 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,123 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,499 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,768 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,267 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Total segment costs and operating expenses</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31,154 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,576 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,730 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">33,618 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11,020 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">44,638 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Income (loss) from operations</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">231 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,938)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,707)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,482 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,312)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,170 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Corporate costs </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.17pt;font-weight:400;line-height:100%;position:relative;top:-3.32pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(16,526)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(15,185)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Depreciation and amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,526)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,273)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:400;line-height:100%">Loss before income taxes</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(19,759)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(11,288)</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/></tr></table></div><div style="padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.</span></div><div style="margin-bottom:9pt;padding-left:18pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:120%;position:relative;top:-3.15pt;vertical-align:baseline">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.</span></div><div style="margin-bottom:9pt;margin-top:12pt;padding-left:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables provides stock-based compensation expense included in income (loss) from operations (in thousands):</span></div><div style="margin-top:12pt;padding-left:9pt;text-indent:18pt"><span><br/></span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:13.373%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.256%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.823%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.402%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.280%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.841%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:8.853%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">839 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,013 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,984 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">736 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">225 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">771 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,732 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="45" style="background-color:#ffffff;border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="21" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Corporate cost</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:7pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%">Stock-based compensation</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,335 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">625 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,132 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,092 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,973 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">563 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,247 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,783 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 8401000 8401000 10351000 10351000 4604000 5380000 9984000 10073000 1482000 11555000 13005000 5380000 18385000 20424000 1482000 21906000 3642000 0 3642000 5067000 0 5067000 5184000 6433000 11617000 5313000 3080000 8393000 2675000 515000 3190000 2037000 690000 2727000 11501000 6948000 18449000 12417000 3770000 16187000 1504000 -1568000 -64000 8007000 -2288000 5719000 -5483000 -4912000 528000 471000 -6075000 336000 18005000 18005000 24588000 24588000 13380000 16638000 30018000 16512000 8708000 25220000 31385000 16638000 48023000 41100000 8708000 49808000 7882000 0 7882000 12230000 0 12230000 15877000 16848000 32725000 14889000 9252000 24141000 7395000 1728000 9123000 6499000 1768000 8267000 31154000 18576000 49730000 33618000 11020000 44638000 231000 -1938000 -1707000 7482000 -2312000 5170000 -16526000 -15185000 1526000 1273000 -19759000 -11288000 839000 132000 1013000 1984000 736000 225000 771000 1732000 2335000 625000 3132000 6092000 1973000 563000 3247000 5783000 <div style="margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Significant Customers</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of our total revenues were as follows:</span></div><div style="margin-top:12pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.426%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.530%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="21" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Percentage of Total Revenues for the</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine Months Ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">23%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">31%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer C</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">29%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">22%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer E</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr></table></div><div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customers that each accounted for 10% or more of accounts receivable had balances as of the periods presented as follows:</span></div><div style="margin-bottom:9pt;margin-top:12pt;text-align:center"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Percentage of Accounts Receivables as of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer A</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">36%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">38%</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer B</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">28%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10%</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer D</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">*</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:120%">* Percentage was less than 10%</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/></tr></table></div> 0.23 0.21 0.21 0.31 0.15 0.13 0.17 0.29 0.11 0.15 0.14 0.22 0.13 0.36 0.38 0.28 0.10 0.14 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Geographic revenues are identified by the location of the customer and consist of the following (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:34.572%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Three Months Ended September 30,</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Nine months ended September 30,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2020</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Revenues</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Americas</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,841 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,706 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17,972 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,620 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">EMEA</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,889 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,205 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14,175 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,672 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">APAC</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,655 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,876 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,516 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Total revenues</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">18,385 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">21,906 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">48,023 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">49,808 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 5841000 2706000 17972000 9620000 4889000 12205000 14175000 24672000 7655000 6995000 15876000 15516000 18385000 18385000 21906000 21906000 48023000 48023000 49808000 49808000 <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable long-lived assets by location was as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:67.028%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.545%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-lived assets</span></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">September 30, 2020</span></td><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,289 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,282 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:8pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 7289000 6282000 <div style="margin-bottom:9pt;margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Identifiable goodwill was as follows (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:50.215%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.543%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.384%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.547%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">As of September 30, 2020 and December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Performance Enzymes</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Novel Biotherapeutics</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:top"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,463 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">778 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,241 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 2463000 2463000 778000 778000 3241000 3241000 Allowance for Credit Losses<div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An analysis of the allowance for credit losses is as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:83.256%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Three and nine<br/>months ended<br/>September 30, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning Balance January 1, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current period provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs charged against the allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries of amounts previously written off</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending Balance September 30, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div><div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables below summarizes accounts receivable by aging category (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:29.398%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.901%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">91 days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total over 31 days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,551 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,711 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:29.398%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.901%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">91 days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total over 31 days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">257 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,806 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,063 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> <div style="margin-top:9pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">An analysis of the allowance for credit losses is as follows (in thousands):</span></div><div style="margin-top:9pt"><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:100.000%"><tr><td style="width:1.0%"/><td style="width:83.256%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:14.544%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8.5pt;font-weight:700;line-height:100%">Three and nine<br/>months ended<br/>September 30, 2020</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Beginning Balance January 1, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">34 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current period provision</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Write-offs charged against the allowance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 18pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Recoveries of amounts previously written off</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ending Balance September 30, 2020</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:3pt"><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"/></tr></table></div> 34000 40000 0 0 74000 <div style="margin-bottom:9pt;margin-top:12pt;text-indent:18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following tables below summarizes accounts receivable by aging category (in thousands):</span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:29.398%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.901%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">September 30, 2020</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">91 days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total over 31 days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">160 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,551 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,711 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:5pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div><div style="text-indent:18pt"><span><br/></span></div><div><table style="border-collapse:collapse;display:inline-table;vertical-align:top;width:99.707%"><tr><td style="width:1.0%"/><td style="width:29.398%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.897%"/><td style="width:0.1%"/><td style="width:0.1%"/><td style="width:0.386%"/><td style="width:0.1%"/><td style="width:1.0%"/><td style="width:9.901%"/><td style="width:0.1%"/></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="33" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2019</span></td></tr><tr><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">31-60 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">61-90 Days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">91 days and over</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total over 31 days</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Current</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%">Total balance</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">185 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">65 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">257 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,806 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/><td colspan="3" style="background-color:#cceeff;padding:0 1pt"/><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,063 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/></tr><tr style="height:6pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;padding:0 1pt"/><td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr><tr><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/><td colspan="3" style="display:none"/></tr></table></div> 160000 0 0 160000 10551000 10711000 185000 7000 65000 257000 8806000 9063000 XML 12 R1.htm IDEA: XBRL DOCUMENT v3.20.2
Cover Page - shares
9 Months Ended
Sep. 30, 2020
Oct. 30, 2020
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2020  
Document Transition Report false  
Entity File Number 001-34705  
Entity Registrant Name Codexis, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 71-0872999  
Entity Address, Address Line One 200 Penobscot Drive,  
Entity Address, City or Town Redwood City,  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94063  
City Area Code 650  
Local Phone Number 421-8100  
Title of 12(b) Security Common Stock, par value $0.0001 per share  
Trading Symbol CDXS  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   59,281,805
Entity Central Index Key 0001200375  
Amendment Flag false  
Document Fiscal Year Focus 2020  
Document Fiscal Period Focus Q3  
Current Fiscal Year End Date --12-31  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.20.2
Condensed Consolidated Balance Sheets - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Current assets:    
Cash and cash equivalents $ 71,516 $ 90,498
Restricted cash, current 633 661
Financial assets:    
Accounts receivable 10,711 9,063
Contract assets 975 1,027
Unbilled receivables 14,985 10,099
Total Financial assets 26,671 20,189
Less: allowances (74) (34)
Total Financial assets, net 26,597 20,155
Inventories 737 371
Prepaid expenses and other current assets 3,450 2,520
Total current assets 102,933 114,205
Restricted cash 1,062 1,062
Investment in Equity Securities 1,000 0
Right-of-use assets - Operating leases, net 21,996 23,837
Right-of-use assets - Finance leases, net 145 268
Property and equipment, net 7,289 6,282
Goodwill 3,241 3,241
Other non-current assets 353 178
Total assets 138,019 149,073
Current liabilities:    
Accounts payable 2,499 2,621
Accrued compensation 6,277 5,003
Other accrued liabilities 7,570 6,540
Current portion of lease obligations - Operating leases 2,554 1,107
Current portion of lease obligations - Finance leases 0 60
Deferred revenue 1,596 57
Total current liabilities 20,496 15,388
Deferred revenue, net of current portion 2,460 1,987
Long-term lease obligations - Operating leases 23,001 24,951
Other long-term liabilities 1,261 1,230
Total liabilities 47,218 43,556
Commitments and Contingencies (Note 11)
Stockholders' equity:    
Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding 0 0
Common stock, $0.0001 par value per share; 100,000 shares authorized; 59,232 shares and 58,877 shares issued and outstanding at September 30, 2020 and December 31, 2019, respectively 6 6
Additional paid-in capital 453,294 447,920
Accumulated deficit (362,499) (342,409)
Total stockholders' equity 90,801 105,517
Total liabilities and stockholders' equity $ 138,019 $ 149,073
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.20.2
Condensed Consolidated Balance Sheets (Parenthetical) - $ / shares
Sep. 30, 2020
Dec. 31, 2019
Statement of Financial Position [Abstract]    
Preferred stock, par value (usd per share) $ 0.0001 $ 0.0001
Preferred stock, shares authorized (shares) 5,000,000 5,000,000
Preferred stock, shares issued (shares) 0 0
Preferred stock, shares outstanding (shares) 0 0
Common stock, par value (usd per share) $ 0.0001 $ 0.0001
Common stock, shares authorized (shares) 100,000,000 100,000,000
Common stock, shares, issued (shares) 59,232,000 58,877,000
Common stock, shares outstanding (shares) 59,232,000 58,877,000
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.20.2
Condensed Consolidated Statements of Operations - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Revenues:        
Total revenues $ 18,385 $ 21,906 $ 48,023 $ 49,808
Costs and operating expenses:        
Cost of product revenue 3,642 5,067 7,882 12,230
Research and development 12,010 8,711 33,830 25,000
Selling, general and administrative 8,797 7,869 26,307 24,180
Total costs and operating expenses 24,449 21,647 68,019 61,410
Income (loss) from operations (6,064) 259 (19,996) (11,602)
Interest income 39 480 362 929
Other expenses, net (50) (403) (125) (615)
Income (loss) before income taxes (6,075) 336 (19,759) (11,288)
Provision for (benefit from) income taxes 19 (7) 331 12
Net income (loss) $ (6,094) $ 343 $ (20,090) $ (11,300)
Net income (loss) per share, basic (usd per share) $ (0.10) $ 0.01 $ (0.34) $ (0.20)
Net income (loss) per share, diluted (usd per share) $ (0.10) $ 0.01 $ (0.34) $ (0.20)
Weighted average common stock shares used in computing net income (loss) per share, basic (shares) 59,061 58,287 58,984 55,818
Weighted average common stock shares used in computing net income (loss) per share, diluted (shares) 59,061 61,412 58,984 55,818
Product Revenue [Member]        
Revenues:        
Total revenues $ 8,401 $ 10,351 $ 18,005 $ 24,588
Research and Development Revenue [Member]        
Revenues:        
Total revenues $ 9,984 $ 11,555 $ 30,018 $ 25,220
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.20.2
Condensed Consolidated Statements of Stockholders' Equity - USD ($)
$ in Thousands
Total
Common Stock [Member]
Additional Paid-in Capital [Member]
Accumulated Deficit [Member]
Beginning balance (shares) at Dec. 31, 2018   54,065,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares) 970,256 970,000    
Release of stock awards (shares)   449,000    
Taxes paid related to net share settlement of equity awards (shares)   (147,000)    
Issuance of common stock, net of issuance costs (shares)   3,049,000    
Ending balance (shares) at Sep. 30, 2019   58,386,000    
Beginning balance at Dec. 31, 2018 $ 56,306 $ 5 $ 386,775 $ (330,474)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Employee stock-based compensation 5,783   5,783  
Exercise of stock options 4,621   4,621  
Taxes paid related to net share settlement of equity awards (2,850)   (2,850)  
Issuance of common stock, net of issuance costs of $129 49,871 1 49,870  
Short swing profit settlement 77   77  
Net income (loss) (11,300)     (11,300)
Ending balance at Sep. 30, 2019 102,508 $ 6 444,276 (341,774)
Beginning balance (shares) at Jun. 30, 2019   57,940,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares)   441,000    
Release of stock awards (shares)   8,000    
Taxes paid related to net share settlement of equity awards (shares)   (3,000)    
Ending balance (shares) at Sep. 30, 2019   58,386,000    
Beginning balance at Jun. 30, 2019 98,684 $ 6 440,795 (342,117)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Employee stock-based compensation 1,732   1,732  
Exercise of stock options 1,778   1,778  
Taxes paid related to net share settlement of equity awards (51)   (51)  
Issuance costs (55)   (55)  
Short swing profit settlement 77   77  
Net income (loss) 343     343
Ending balance at Sep. 30, 2019 $ 102,508 $ 6 444,276 (341,774)
Beginning balance (shares) at Dec. 31, 2019   58,877,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares) 87,240 87,000    
Release of stock awards (shares)   370,000    
Taxes paid related to net share settlement of equity awards (shares)   (102,000)    
Ending balance (shares) at Sep. 30, 2020   59,232,000    
Beginning balance at Dec. 31, 2019 $ 105,517 $ 6 447,920 (342,409)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Employee stock-based compensation 6,045   6,045  
Non-employee stock-based compensation 47   47  
Exercise of stock options 539   539  
Taxes paid related to net share settlement of equity awards (1,257)   (1,257)  
Net income (loss) (20,090)     (20,090)
Ending balance at Sep. 30, 2020 90,801 $ 6 453,294 (362,499)
Beginning balance (shares) at Jun. 30, 2020   59,125,000    
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Exercise of stock options (shares)   55,000    
Release of stock awards (shares)   70,000    
Taxes paid related to net share settlement of equity awards (shares)   (18,000)    
Ending balance (shares) at Sep. 30, 2020   59,232,000    
Beginning balance at Jun. 30, 2020 94,786 $ 6 451,185 (356,405)
Increase (Decrease) in Stockholders' Equity [Roll Forward]        
Employee stock-based compensation 1,941   1,941  
Non-employee stock-based compensation 43   43  
Exercise of stock options 342   342  
Taxes paid related to net share settlement of equity awards (217)   (217)  
Net income (loss) (6,094)     (6,094)
Ending balance at Sep. 30, 2020 $ 90,801 $ 6 $ 453,294 $ (362,499)
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.20.2
Condensed Consolidated Statements of Stockholders' Equity (Parenthetical) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Statement of Stockholders' Equity [Abstract]    
Issuance costs $ 0 $ 129
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.20.2
Condensed Consolidated Statements of Cash Flows - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Operating activities:    
Net loss $ (20,090) $ (11,300)
Adjustments to reconcile net loss to net cash used in operating activities:    
Depreciation 1,403 1,118
Amortization expense - right-of-use assets - operating and finance leases 1,964 2,231
Gain on disposal of property and equipment 0 (2)
Stock-based compensation 6,092 5,783
Allowance for credit losses 40 0
Loss on investment in equity securities 0 526
Changes in operating assets and liabilities:    
Accounts receivable, net (1,648) (776)
Contract assets 52 (1,158)
Unbilled receivables (4,886) 385
Inventories (366) 192
Prepaid expenses and other current assets (930) (485)
Other non-current assets (175) 74
Accounts payable (101) (1,294)
Accrued compensation 1,274 (577)
Other accrued liabilities 2,307 2,687
Other long-term liabilities (1,920) (1,291)
Deferred revenue 2,012 (5,012)
Net cash used in operating activities (14,972) (8,899)
Investing activities:    
Purchase of property and equipment (2,260) (3,315)
Proceeds from disposal of property and equipment 0 2
Investment in equity securities (1,000) 0
Proceeds from the sale of investment securities 0 62
Net cash used in investing activities (3,260) (3,251)
Financing activities:    
Proceeds from exercises of stock options 539 4,621
Proceeds from issuance of common stock in connection with private placement 0 50,000
Costs incurred in connection with private placement 0 (129)
Payments of lease obligations - Finance leases (60) (180)
Recovery of short swing profit 0 77
Taxes paid related to net share settlement of equity awards (1,257) (2,850)
Net cash provided by (used in) financing activities (778) 51,539
Net increase (decrease) in cash, cash equivalents and restricted cash (19,010) 39,389
Cash, cash equivalents and restricted cash at the beginning of the period 92,221 54,485
Cash, cash equivalents and restricted cash at the end of the period 73,211 93,874
Supplemental disclosure of cash flow information    
Interest paid 15 16
Income taxes paid 312 5
Purchase of property and equipment recorded in accounts payable and accrued expenses 289 536
Total cash, cash equivalents and restricted cash at the end of the period $ 73,211 $ 93,874
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.20.2
Description of Business
9 Months Ended
Sep. 30, 2020
Organization, Consolidation and Presentation of Financial Statements [Abstract]  
Description of Business Description of Business
In these notes to the unaudited condensed consolidated financial statements, the “Company,” “we,” “us,” and “our” refers to Codexis, Inc. and its subsidiaries on a consolidated basis.
We discover, develop and sell proteins that deliver value to our clients in a growing set of industries. We view proteins as a vast untapped source of value-creating materials, and we are using our proven technologies, which we have been continuously improving since our inception in 2002, to commercialize an increasing number of novel proteins, both as proprietary Codexis products and in partnership with our customers.
We are a pioneer in the harnessing of computational technologies to drive biology advancements. Since 2002, we have made substantial investments in the development of our CodeEvolver® protein engineering technology platform, the primary source of our competitive advantage. Our technology platform is powered by proprietary, artificial intelligence-based, computational algorithms that rapidly mine our large and continuously growing library of protein variants’ performance attributes. These computational outputs enable increasingly reliable predictions for next generation protein variants to be engineered, enabling delivery of targeted performance enhancements in a time-efficient manner. In addition to its computational prowess, our CodeEvolver® protein engineering technology platform integrates additional modular competencies, including robotic high-throughput screening and genomic sequencing, organic chemistry and process development which are all coordinated to create our novel protein innovations.
Our approach to developing commercially viable biocatalytic manufacturing processes begins by conceptually designing the most cost-effective and practical process for a targeted product. We then develop optimized protein catalysts to enable that process design, using our CodeEvolver® protein engineering platform technology. Engineered protein catalyst candidates - many thousands for each protein engineering project - are then rapidly screened and validated in high throughput screening under relevant manufacturing operating conditions. This approach results in an optimized protein catalyst enabling cost-efficient processes that typically are relatively simple to run in conventional manufacturing equipment. This also allows for the efficient technical transfer of our process to our manufacturing partners.
The successful embodiment of our CodeEvolver® protein engineering technology platform in commercial manufacturing processes requires well-integrated expertise in a number of technical disciplines. In addition to those directly involved in practicing our CodeEvolver® protein engineering platform technology, such as molecular biology, enzymology, microbiology, cellular engineering, metabolic engineering, bioinformatics, biochemistry and high throughput analytical chemistry, our process development projects also involve integrated expertise in organic chemistry, chemical process development, chemical engineering, fermentation process development and fermentation engineering. Our integrated, multi-disciplinary approach to biocatalyst and process development is a critical success factor for the Company.
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, which remains a primary business focus. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also licensed our proprietary CodeEvolver® protein engineering technology platform to global pharmaceutical companies so that they may in turn use this technology to engineer enzymes for their own businesses. Most recently, in May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis Pharma AG (“Novartis”). The Novartis CodeEvolver® Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare.
As evidence of our strategy to extend our technology beyond pharmaceutical manufacturing, we have also used the technology to develop protein catalysts and industrial enzymes for use in a wider set of industrial markets. These target industries consist of several large market verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances and agricultural chemicals. In addition, we are using our technology to develop enzymes for customers using next generation sequencing ("NGS") and polymerase chain reaction ("PCR/qPCR") for in vitro molecular diagnostic and genomic research applications. In December 2019, we entered into a license agreement to provide Roche Sequencing Solutions, Inc. (“Roche”) with our first enzyme for this target market, the Company's EvoT4™ DNA ligase. In June 2020, we entered into a co-marketing and enzyme supply collaboration agreement with Alphazyme LLC for the production and co-marketing of enzymes for life science applications including, initially, high-fidelity DNA polymerase, T7 RNA polymerase and reverse transcriptase enzymes.
We have also begun using the CodeEvolver® protein engineering technology platform to develop early stage, novel biotherapeutic product candidates, both for our customers and for our own business. In October 2017, we entered into the "Nestlé Agreement” with Nestlé Health Science to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of phenylketonuria ("PKU"). PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive license to develop and commercialize CDX-6114. In March 2020, we entered into a Strategic Collaboration and License Agreement (“Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Company Limited (“Takeda”), for the research and development of novel gene therapies for certain disease indications, including the treatment of lysosomal storage disorders and blood factor deficiencies.
Below are brief descriptions of our business segments:
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, consumer care, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity.
Our first lead program was for the potential treatment of hyperphenylalaninemia (“HPA”) (also referred to as PKU) in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient. In October 2017, we announced a global development, option and license agreement with Nestlé Health Science to advance CDX-6114, our own novel orally administrable enzyme therapeutic candidate for the potential treatment of PKU. In July 2018, we announced that we had dosed the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114, which was conducted in Australia. In November 2018, we announced top-line results from the Phase 1a study in healthy volunteers with CDX-6114. In December 2018, Nestlé Health Science became obligated to pay us an additional $1.0 million within 60 days after the achievement of a milestone relating to formulation of CDX-6114. In January 2019, we received notice from the U.S. Food and Drug Administration that it had completed its review of our investigational drug application for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU. In January 2020, we and Nestlé Health Science entered into a development agreement pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies. The Strategic Collaboration Agreement was extended through December 2021. Using our CodeEvolver® protein engineering platform technology, we have also developed a pipeline of other biotherapeutic drug candidates, all of which are in preclinical development.
Our most recent achievement in novel biotherapeutics came in March 2020, when we announced a strategic collaboration and license agreement with Takeda in which we will collaborate with Takeda to research and develop protein sequences for use in gene therapy products for certain disease indications. Under the terms of the Takeda Agreement, we will generate novel gene sequences encoding protein variants tailored to enhance efficacy as a result of increased activity, stability, and cellular uptake using our CodeEvolver® protein engineering platform. Takeda will combine these improved transgenes with its gene therapy capabilities to generate novel candidates for the treatment of rare genetic disorders. We are currently collaborating on three initial programs for the treatment of Fabry disease, Pompe disease, and an unnamed blood factor deficiency. The Company is responsible for the creation of novel enzyme sequences for advancement as gene therapies into pre-clinical development. Takeda is responsible for the pre-clinical and clinical development and commercialization of gene therapy products resulting from the collaboration programs. Under the terms of the agreement, in addition to the three initial programs, Takeda may initiate up to four additional programs for separate target indications. In March 2020, we began research and development activities under the program plans and received a $8.5 million one-time, non-refundable cash payment.
We expect to continue to make additional investments in our pipeline with the aim of advancing additional product candidates targeting other therapeutic areas.
For additional discussion of our business segments, see Note 13, "Segment, Geographical and Other Revenue Information."
Business Update Regarding COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April in accordance with these Orders. In May 2020, we initiated limited R&D operations and have gradually ramped up operations such that we are currently utilizing the majority of our normal R&D capacity. Additionally, we have resumed small scale manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. As of the date of issuance of the unaudited condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain.
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.20.2
Basis of Presentation and Summary of Significant Accounting Policies
9 Months Ended
Sep. 30, 2020
Accounting Policies [Abstract]  
Basis of Presentation and Summary of Significant Accounting Policies Basis of Presentation and Summary of Significant Accounting Policies
Basis of Presentation and Principles of Consolidation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information. Accordingly, they do not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2019. The condensed consolidated balance sheet at December 31, 2019 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2020 are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2019 Annual Report on Form 10-K and are updated below as necessary.
Certain prior year amounts have been reclassified to conform to 2020 presentation. In June 2016, the Financial Accounting Standards Board (“FASB”) issued guidance requiring implementation of a new impairment model applicable to financial assets measured at amortized cost which, among other things required that accounts receivable, contract assets, unbilled receivables and related allowances be reclassified as financial assets.
Except as noted above, the unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2020, results of our operations for the three and nine months ended September 30, 2020 and 2019, changes in stockholders' equity for the three and nine months ended September 30, 2020 and 2019, and cash flows for the nine months ended September 30, 2020 and 2019. The interim results are not necessarily indicative of the results for any future interim period or for the entire year. The results of the nine months ended September 30, 2020 reflect the adoption of certain accounting standards including: Accounting Standard Update ("ASU") 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments which added a new impairment model applicable to our financial assets measured at amortized cost, and (ii) ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment, which adjusts testing for goodwill impairment. See "Recently adopted accounting pronouncements" for details regarding the adoption of these standards.
The unaudited interim condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All significant intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, the interest rate used to adjust the promised amount of consideration for the effects of significant financial assets (comprised of accounts receivable, contract assets, and unbilled receivables), inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the unaudited condensed consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
Financial assets and Allowances
We currently sell enzymes primarily to pharmaceutical and fine chemicals companies throughout the world by the extension of trade credit terms based on an assessment of each customer's financial condition. Trade credit terms are generally offered without collateral and may include an insignificant discount for prompt payment for specific customers. To manage our credit exposure, we perform ongoing evaluations of our customers' financial conditions. In addition, accounts receivable include amounts owed to us under our collaborative research and development agreements. We recognize accounts receivable at invoiced amounts and we maintain a valuation allowance as follows:
Allowance for credit losses from January 1, 2020
On and subsequent to January 1, 2020, our financial results reflect an impairment model (known as the “current expected credit loss model” or “CECL”) based on estimates and forecasts of future conditions requiring recognition of a lifetime of expected credit losses at inception on our financial assets measured at amortized costs which is comprised of accounts receivable, contract assets, and unbilled receivables. We have determined that our financial assets share similar risk characteristics including: (i) customer origination in the pharmaceutical and fine chemicals industry, (ii) similar historical credit loss pattern of customers (iii) no meaningful trade receivable differences in terms, (iv) similar historical credit loss experience and (v) our belief that the composition of certain assets are comparable to our historical portfolio used to develop loss history. As a result, we measured the allowance for credit loss (“ACL”) on a collective basis. Our ACL methodology considers how long the asset has been past due, the financial condition of the customers, which includes ongoing quarterly evaluations and assessments of changes in customer credit ratings, and other market data that we believe are relevant to the collectability of the assets. Nearly all financial assets are due from customers that are highly rated by major rating agencies and have a long history of no credit loss. We derive our ACL by establishing an impairment rate attributable to assets not yet identified as impaired.
We derive our ACL by initially relying on our historical financial asset loss rate which contemplates the full contractual life of the assets sharing similar risk characteristics, adjusted to reflect (i) the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated and (ii) by taking into consideration the changes in certain macroeconomic historical and forecasted information. We apply the ACL to past due financial assets and record charges to the ACL as a provision to credit loss expense in the Statement of Operations.
Financial assets we identify as uncollectible are also charged against the ACL. We adjust the impairment rate to reflect the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated. Adjustments to historical loss information may be qualitative or quantitative in nature and reflect changes related to relevant data.
In the three and nine months ended September 30, 2020, inputs to our CECL forecast incorporated forward-looking adjustments associated with the COVID-19 pandemic which we believe are appropriate to incorporate due to the uncertainty of the economic impact on cash flows from our financial assets.
Allowance for credit losses before January 1, 2020
Prior to January 1, 2020, the allowances for doubtful accounts reflected our best estimates of probable losses inherent in our accounts receivable and contract assets balances. The allowance determination was based on known troubled accounts, historical experience, and other currently available evidence. Uncollectible accounts receivable were written off against the allowance for doubtful accounts when all efforts to collect them have been exhausted. Recoveries were recognized when they were received.
Investment in Equity Securities
We own an equity investment in Molecular Assemblies, Inc. (“MAI”) which is a privately held company. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We and MAI envision entering into an arrangement to commercialize products developed under the MAI Agreement.
To analyze the fair value measurement of our equity investment in MAI, we perform a qualitative analysis using significant unobservable inputs. Significant changes to the unobservable inputs may result in a significantly higher or lower fair value estimate. We may value our equity investment based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated new investors, providing the terms of these equity transactions are substantially similar to the equity transactions terms between the company and us. The impact of the difference in transaction terms on the market value of the portfolio company may be difficult or impossible to quantify.
We evaluate our investment for impairment when circumstances indicate that we may not be able to recover the carrying value. We impair our investment when we determine that there has been an “other-than-temporary” decline in MAI's estimated fair value compared to its carrying value. We calculate the estimated fair value of the investment using information from the company, which may include:
Audited and unaudited financial statements;
Projected technological developments of the company;
Projected ability of the company to service its debt obligations;
If a deemed liquidation event were to occur;
Current fundraising transactions;
Current ability of the company to raise additional financing if needed;
Changes in the economic environment which may have a material impact on the operating results of the company;
Qualitative assessment of key management;
Contractual rights, obligations or restrictions associated with the investment; and
Other factors deemed relevant by our management to assess valuation.
The valuation may be reduced if the company's potential has deteriorated significantly. If the factors that led to a reduction in valuation are overcome, the valuation may be readjusted.
Goodwill
Goodwill represents the excess of consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in the trading price of our stock on the Nasdaq Global Select Market. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We manage our business as two reporting units and we test goodwill for impairment at the reporting unit level. We allocated goodwill to the two reporting units using a relative fair value allocation methodology that primarily relied on our estimates of revenue and future earnings for each reporting unit. Using the relative fair value allocation methodology, we have determined that approximately 76% of goodwill was to be allocated to the Performance Enzymes segment and 24% allocated to the Novel
Biotherapeutics segment. As a result of the calculation, $2.4 million of the goodwill is assigned to the Performance Enzymes segment and $0.8 million is assigned to the Novel Biotherapeutics segment. We test goodwill for impairment on an annual basis on the last day of the fourth fiscal quarter and, when specific circumstances dictate, between annual tests, by first assessing qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. During 2020 and 2019, we did not record impairment charges related to goodwill. We test for goodwill impairment is as follows:
Goodwill impairment testing from January 1, 2020
Goodwill represents the excess of the consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in our share price. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We test for impairment annually on a reporting unit basis, on the last day of the fourth fiscal quarter, and between annual tests if events and circumstances indicate it is more likely than not that the fair value of a reporting unit is less than its carrying amount. The annual impairment test is completed using either: a qualitative “Step 0” assessment based on reviewing relevant events and circumstances; or a quantitative “Step 1” assessment, which determines the fair value of the reporting unit. To the extent the carrying amount of a reporting unit is less than its estimated fair value, an impairment charge is recorded. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compare the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Any excess of the reporting unit’s carrying amount of goodwill over its fair value is recognized as an impairment.
Goodwill impairment testing before January 1, 2020
Prior to January 1, 2020, the goodwill impairment test consisted of a two-step process. The first step of the goodwill impairment test, used to identify potential impairment, compared the fair value of each reporting unit to its carrying value. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compared the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeded its carrying amount, goodwill of the reporting unit was considered not impaired, and the second step of the impairment test was not required. The second step, if required, compared the implied fair value of the reporting unit’s goodwill with the carrying amount of that goodwill. Implied fair value was the excess of the fair value of the reporting unit over the fair value of all identified or allocated assets and liabilities. Any excess of the reporting unit’s carrying amount goodwill over the respective implied fair value was recognized as an impairment.
Interim Goodwill Impairment Testing
We tested goodwill for impairment in the quarter ended September 30, 2020. Since late 2019, the COVID-19 pandemic has spread worldwide. The COVID-19 pandemic has caused a decline in global and domestic macroeconomic conditions, the general deterioration of the U.S. economy and other economies worldwide, all of which may negatively impact our overall financial performance, driving a reduction in our cash flows. We believe that the impact of the COVID-19 pandemic was a triggering event that gave rise to the need to perform a goodwill impairment test. We conducted a qualitative interim impairment assessment as of September 30, 2020, which included an evaluation of our cash flow projections to reflect the current economic environment, including the uncertainty surrounding the nature, timing, and extent of the impact of the pandemic in operating our business. We also considered the results of the prior quarters’ impairment test performed which reflected a significant cushion between the fair value and the carrying value for both of our reporting units. We determined that it was more likely than not that the fair value of each of the reporting units exceeded its respective carrying amount as of September 30, 2020. Therefore, an interim quantitative impairment test of our goodwill at the reporting unit level was not required to be performed.
Segment Reporting
We report two business segments, Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. 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 ("CODM"), or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. We do not allocate or evaluate assets by segment.
The Novel Biotherapeutics segment focuses on new opportunities in the pharmaceutical industry to discover or improve novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. The
Performance Enzymes segment consists of protein catalyst products and services with focus on pharmaceutical, food, molecular diagnostics, and other industrial markets.
Income Taxes
Changes to Tax Law
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), P.L. 116-136,was passed into law, amending portions of certain relevant US tax laws. The CARES Act includes a number of federal income tax law changes, including, but not limited to: (i) permitting net operating loss carrybacks to offset 100% of taxable income for taxable years beginning before 2021, (ii) accelerating alternative minimum tax credit refunds, (iii) temporarily increasing the allowable business interest deduction from 30% to 50% of adjusted taxable income, and (iv) providing a technical correction for depreciation related to qualified improvement property. The CARES Act had no impact on our unaudited condensed consolidated financial statements.
Accounting Pronouncements
Recently adopted accounting pronouncements
In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which amends the FASB's guidance on the impairment of financial instruments. The standard adds a new impairment model, known as CECL, which replaces the probable loss model. The CECL impairment model is based on estimates and forecasts of future conditions which requires recognition of a lifetime of expected credit losses at inception on financial assets measured at amortized costs. Our financial assets measured at amortized cost are comprised of accounts receivable, contract assets, and unbilled receivables. We adopted the new standard in the first quarter of 2020 using a modified retrospective approach requiring a cumulative-effect adjustment to the opening accumulated deficit as of the date of adoption. The ASU establishes a new valuation account “allowance for credit losses” replacing the “allowance for doubtful accounts” in the consolidated balance sheet, which is used to adjust the amortized cost basis of assets in presentation of the net amount expected to be collected. The adoption required certain additional disclosures but had no other impact on our unaudited condensed consolidated financial statements.
In January 2017, the FASB issued ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment. The amendments eliminate Step 2 from the goodwill impairment test. The annual, or interim, goodwill impairment test is performed by comparing the fair value of a reporting unit to its carrying amount. An impairment charge should be recognized for the amount by which the carrying amount exceeds the reporting unit’s fair value; however, the loss recognized should not exceed the total amount of goodwill allocated to that reporting unit. In addition, income tax effects from any tax-deductible goodwill on the carrying amount of the reporting unit should be considered when measuring the goodwill impairment loss, if applicable. The amendments eliminate the requirements for any reporting unit with a zero or negative carrying amount to perform a qualitative assessment, and if it fails that qualitative test, to perform Step 2 of the goodwill impairment test. An entity still has the option to perform the qualitative assessment for a reporting unit to determine if the quantitative impairment test is necessary. We adopted the standard in the first quarter of 2020 using a prospective approach. The adoption required certain additional disclosures but had no impact on our unaudited condensed consolidated financial statements.
In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (Topic 820): Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement. The primary focus of the standard is to improve the effectiveness of the disclosure requirements for fair value measurements. The changes affect all companies that are required to include fair value measurement disclosures. The standard requires the use of the prospective method of transition for disclosures related to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop fair value measurements categorized within Level 3 of the fair value hierarchy, and narrative description of measurement uncertainty. All other amendments in the standard are required to be adopted retrospectively. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.
In November 2018, the FASB issued ASU 2018-18, Collaborative Arrangements (Topic 808): Clarifying the Interaction Between Topic 808 and Topic 606. ASU 2018-18 provides guidance on how to assess whether certain transactions between collaborative arrangement participants should be accounted for within the revenue recognition standard. The standard also provides more comparability in the presentation of revenue for certain transactions between collaborative arrangement participants. The standard is to be applied retrospectively to the date of the initial application of Topic 606 which also requires recognition of the cumulative effect of applying the amendments as an adjustment to the opening balance of retained earnings
of the later or the earliest annual period presented and the annual period inclusive of the initial application of Topic 606. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.
Recently issued accounting pronouncements not yet adopted
From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the impact of recently issued standards that are not yet effective will not have a material impact on our unaudited condensed consolidated financial statements upon adoption.
In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes. The standard is effective for fiscal years, and interim periods within those years, beginning after December 15, 2020, with early adoption permitted. The standard will be adopted upon the effective date for us beginning January 1, 2021. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.
In March 2020, the FASB issued ASU 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities. The standard may be adopted as of any date from the beginning of an interim period that includes or is subsequent to March 12, 2020 through December 31, 2022. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition
9 Months Ended
Sep. 30, 2020
Revenue from Contract with Customer [Abstract]  
Revenue Recognition Revenue Recognition
Disaggregation of Revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada and Latin America), EMEA (Europe, Middle East and Africa), and APAC (Australia, New Zealand, Southeast Asia and China).
Segment information is as follows (in thousands):
Three months ended September 30, 2020Three months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$8,401 $— $8,401 $10,351 $— $10,351 
Research and development revenue4,604 5,380 9,984 10,073 1,482 11,555 
Total revenues$13,005 $5,380 $18,385 $20,424 $1,482 $21,906 
Primary geographical markets:
Americas
$3,209 $2,632 $5,841 $2,706 $— $2,706 
EMEA
2,141 2,748 4,889 10,723 1,482 12,205 
APAC
7,655 — 7,655 6,995 — 6,995 
Total revenues$13,005 $5,380 $18,385 $20,424 $1,482 $21,906 
Nine months ended September 30, 2020Nine months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$18,005 $— $18,005 $24,588 $— $24,588 
Research and development revenue13,380 16,638 30,018 16,512 8,708 25,220 
Total revenues$31,385 $16,638 $48,023 $41,100 $8,708 $49,808 
Primary geographical markets:
Americas$7,381 $10,591 $17,972 $9,620 $— $9,620 
EMEA8,128 6,047 14,175 15,964 8,708 24,672 
APAC15,876 — 15,876 15,516 — 15,516 
Total revenues$31,385 $16,638 $48,023 $41,100 $8,708 $49,808 

Contract Balances
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
September 30, 2020December 31, 2019
Contract Assets$975 $1,027 
Unbilled receivables$14,985 $10,099 
Contract Costs$130 $— 
Contract Liabilities: Deferred Revenue$4,056 $2,044 

We had no asset impairment charges related to contract assets in the three and nine months ended September 30, 2020 and 2019.
During the nine months ended September 30, 2020, decreases in contract assets were primarily due to contract assets that were subsequently invoiced as our right to consideration for goods and services became unconditional. Increases in unbilled receivables were primarily due to the timing of billings. The increase in deferred revenue were primarily due to cash advances received in excess of revenue recognized.
During the three and nine months ended September 30, 2020 and 2019, we recognized the following revenues (in thousands):
Three months ended September 30,Nine months ended September 30,
2020201920202019
Amounts included in contract liabilities at the beginning of the period:
     Performance obligations satisfied$708 $5,092 $58 $4,948 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods233 2,641 854 2,460 
Performance obligations satisfied from new activities in the period - contract revenue17,444 14,173 47,111 42,400 
Total revenues$18,385 $21,906 $48,023 $49,808 

Performance Obligations
The following table includes estimated revenue expected to be recognized in the future related to performance obligations
that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2020.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts (in thousands):
Remainder of 202020212022 and ThereafterTotal
Product Revenue$— $364 $1,623 $1,987 
Research and development revenue558 1,012 499 2,069 
Total revenues$558 $1,376 $2,122 $4,056 
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.20.2
Net income (loss) per Share
9 Months Ended
Sep. 30, 2020
Earnings Per Share [Abstract]  
Net income (loss) per Share Net income (loss) per Share
Basic net income (loss) per share is computed by dividing the net income (loss) by the weighted-average number of shares of common stock outstanding, less restricted stock awards ("RSAs") subject to forfeiture. Diluted net income (loss) per share is computed by dividing net income (loss) by the weighted-average number of shares of common stock outstanding, less RSAs subject to forfeiture, plus all additional common stock shares that would have been outstanding, assuming dilutive potential common stock shares had been issued for other dilutive securities. For periods of net loss, diluted and basic net loss per share are identical since potential common stock shares are excluded from the calculation, as their effect was anti-dilutive.
The following table sets forth the computation of basic and diluted net income (loss) per share during the three and nine months ended September 30, 2020 and 2019 (in thousands, except per share amounts):
Three months ended September 30,Nine months ended September 30,
2020201920202019
Numerator:
Net income (loss)(6,094)343 (20,090)(11,300)
Denominator:
Weighted average common stock shares used in computing net income (loss) per share, basic59,061 58,287 58,984 55,818 
Effect of dilutive shares— 3,125 — — 
Weighted average common stock shares used in computing net income (loss) per share, diluted59,061 61,412 58,984 55,818 
Net income (loss) per share, basic$(0.10)$0.01 $(0.34)$(0.20)
Net income (loss) per share, diluted$(0.10)$0.01 $(0.34)$(0.20)

Anti-Dilutive Securities
The following shares were not considered in the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):
 Three months ended September 30,Nine months ended September 30,
 2020201920202019
Shares issuable under the Equity Incentive Plan5,1821,0195,1825,623
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements
9 Months Ended
Sep. 30, 2020
Research and Development [Abstract]  
Collaborative Arrangements Collaborative Arrangements
GSK Platform Technology Transfer, Collaboration and License Agreement
In July 2014, we entered into a CodeEvolver® protein engineering platform technology transfer collaboration and license agreement (the "GSK CodeEvolver® Agreement") with GlaxoSmithKline ("GSK"). Pursuant to the terms of the agreement, we granted GSK a non-exclusive license to use the CodeEvolver® protein engineering platform technology to develop novel enzymes for use in the manufacture of GSK's pharmaceutical and health care products.
We received an upfront fee upon the execution of the agreement in July 2014 and milestone payments in each of the years from 2014 through April 2016. We completed the transfer of the CodeEvolver® protein engineering platform technology to GSK in April 2016 and all revenues relating to the technology transfer have been recognized as of April 2016. We have the potential to receive additional cumulative contingent payments that range from $5.75 million to $38.5 million per project based on GSK’s successful application of the licensed technology. We are also eligible to receive royalties based on net sales of GSK's sales of licensed enzyme products that are currently not being recognized.
In 2019, we received a $2.0 million milestone payment on the advancement of an enzyme developed by GSK using our CodeEvolver® protein engineering platform technology. We recognized no research and development revenue for the three and nine months ended September 30, 2020 compared to $2.0 million for the three and nine months ended September 30, 2019.
Merck Platform Technology Transfer and License Agreement
In August 2015, we entered into a CodeEvolver® platform technology transfer collaboration and license agreement (the "Merck CodeEvolver® Agreement") with Merck, Sharp & Dohme ("Merck") which allows Merck to use the CodeEvolver® protein engineering technology platform in the field of human and animal healthcare.
We received an up-front license fee upon execution of the Merck CodeEvolver® Agreement, and milestone payments in September 2015 and in September 2016, when we completed the transfer of the engineering platform technology.
We have the potential to receive payments of up to a maximum of $15.0 million for each commercial active pharmaceutical ingredient ("API") that is manufactured by Merck using one or more novel enzymes developed by Merck using the CodeEvolver® protein engineering technology platform. The API payments, which are currently not recognized in revenue, are based on the quantity of API developed and manufactured by Merck and will be recognized as usage-based royalties.
In January 2019, we entered into an amendment to the Merck CodeEvolver® Agreement to install certain CodeEvolver® protein engineering technology upgrades into Merck’s platform license installation and maintain those upgrades for a multi-year term. The license installation was completed in 2019 and we recognized $0.1 million and $1.0 million in the three and nine months ended September 30, 2019 as a license fee revenue accordingly under the amendment. Pursuant to the agreement, Merck has options to future technology enhancements for a specified fee. As of September 30, 2020, Merck has not exercised its option for technology enhancements.
We recognized research and development revenues of $1.1 million and $2.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.1 million and $4.0 million for the three and nine months ended September 30, 2019, respectively, under the Merck CodeEvolver® Agreement.
Merck Sitagliptin Catalyst Supply Agreement
In February 2012, we entered into a five-year Sitagliptin Catalyst Supply Agreement (“Sitagliptin Catalyst Supply Agreement”) with Merck whereby Merck may obtain commercial scale enzyme for use in the manufacture of Januvia®, its product based on the active ingredient sitagliptin. In December 2015, Merck exercised its option under the terms of the sitagliptin Catalyst Supply Agreement to extend the agreement for an additional five years through February 2022.
Effective as of January 2016, we and Merck amended the Sitagliptin Catalyst Supply Agreement to prospectively provide for variable pricing based on the cumulative volume of sitagliptin catalyst purchased by Merck and to allow Merck to purchase a percentage of its requirements for sitagliptin catalyst from a specified third-party supplier. Merck received a distinct, functional license to manufacture a portion of its demand beginning January 1, 2018, which we recognized as research and development revenue.
We have determined that the variable pricing, which provides a discount based on the cumulative volume of sitagliptin catalyst purchased by Merck, provides Merck material rights and we are recognizing product revenues using the alternative
method. Under the alternative approach, we estimate the total expected consideration and allocate it proportionately with the expected sales.
The Sitagliptin Catalyst Supply Agreement requires Merck to pay an annual fee for the rights to the sitagliptin technology each year for the term of the Sitagliptin Catalyst Supply Agreement. Amounts of annual license fees are based on contractually agreed prices and are on a declining scale over the term of the contract.
Pursuant to the terms of the Sitagliptin Catalyst Supply Agreement, Merck may purchase supply from us for a fee based on contractually stated prices. We recognized revenue of $3.2 million and $7.0 million for the three and nine months ended September 30, 2020, respectively, compared to $3.6 million and $11.4 million in the three and nine months ended September 30, 2019, respectively, in product revenue under this agreement.
Enzyme Supply Agreement
In November 2016, we entered into a supply agreement whereby our customer may purchase quantities of one of our proprietary enzymes for use in its commercial manufacture of a product. Pursuant to the supply agreement, we received an upfront payment in December 2016 which was recorded as deferred revenues. Such upfront payment will be recognized over the period of the supply agreement as the customer purchases our proprietary enzyme. We additionally have determined that the volume discounts under the supply agreement provides the customer material rights and we are recognizing revenues using the alternative method. As of September 30, 2020 and December 31, 2019, we had deferred revenue balances from the supply agreement of $2.0 million. 
Global Development, Option and License Agreement; Strategic Collaboration Agreement; Development Agreement
In October 2017, we entered into a Global Development, Option and License Agreement (the “Nestlé Agreement”) with Société des Produits Nestlé (formerly known as Nestec Ltd.) (“Nestlé Health Science”) and, solely for the purpose of the integration and the dispute resolution clauses of the Nestlé Agreement, Nestlé Health Science S.A., to advance CDX-6114, our enzyme biotherapeutic product candidate for the potential treatment of PKU.
We received an upfront cash payment of $14.0 million in 2017 upon the execution of the Nestlé Agreement, a $4.0 million milestone payment after dosing the first subjects in a first-in-human Phase 1a dose-escalation trial with CDX-6114, and a $1.0 million milestone payment upon achievement of a milestone relating to formulation of CDX-6114. The $4.0 million milestone payment that was triggered by the initiation of the trial was received in 2018 and the $1.0 million milestone payment that was triggered by the achievement of a formulation relating to CDX-6114 was received in February 2019. The upfront payment and the variable consideration relating to the progress payment of $4.0 million and milestone payment of $1.0 million were recognized over time as the development work was performed. Revenue was recognized using a single measure of progress that depicted our performance in transferring control of the services, which was based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete all performance obligations under the agreement. We recognized nominal research and development revenue for the three and nine months ended September 30, 2020, respectively, compared to $0.1 million and $1.8 million for the three and nine months ended September 30, 2019, respectively.
In January 2019, we received notice from the FDA that it had completed its review of our investigational new drug application ("IND") for CDX-6114 and concluded that we may proceed with the proposed Phase 1b multiple ascending dose study in healthy volunteers in the United States. In February 2019, Nestlé Health Science exercised its option to obtain an exclusive, worldwide, royalty-bearing, sub-licensable license for the global development and commercialization of CDX-6114 for the management of PKU and paid us $3.0 million which we recognized as research and development revenue in 2019. Upon exercising its option, Nestlé Health Science assumed all responsibilities for future clinical development and commercialization of CDX-6114 was substantially completed in the fourth quarter of 2019. Other potential payments from Nestlé Health Science to us under the Nestlé Agreement include (i) development and approval milestones of up to $85.0 million, (ii) sales-based milestones of up to $250.0 million in the aggregate, which aggregate amount is achievable if net sales exceed $1.0 billion in a single year, and (iii) tiered royalties, at percentages ranging from the middle single digits to low double-digits, of net sales of product.
In October 2017, we also entered into a Strategic Collaboration Agreement (the “Strategic Collaboration Agreement”) with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to leverage the CodeEvolver® protein engineering technology platform to develop novel enzymes for Nestlé Health Science’s established Consumer Care and Medical Nutrition business areas. Under the Strategic Collaboration Agreement, we received an upfront payment of $1.2 million in 2017 and an incremental payment of $0.6 million in September 2018 for additional services. The Strategic Collaboration Agreement has been extended through December 2021.
In January 2020, we entered into a development agreement with Nestlé Health Science pursuant to which we and Nestlé Health Science are collaborating to advance a lead candidate targeting a gastro-intestinal disorder discovered through our Strategic Collaboration Agreement into pre-clinical and early clinical studies.
Under the Strategic Collaboration Agreement and development agreement, we recognized research and development fees of $2.8 million and $6.1 million for the three and nine months ended September 30, 2020, respectively, compared to $1.4 million and $3.9 million in the three and nine months ended September 30, 2019, respectively.
Strategic Collaboration Agreement
In April 2018, we entered into the Porton Agreement with Porton to license key elements of our biocatalyst technology for use in Porton’s global custom intermediate and API development and manufacturing business. Under the Porton Agreement, we are eligible to receive annual collaboration fees and research and development revenues. We received an initial collaboration fee of $0.5 million within 30 days of the effective date of the Porton Agreement, $1.5 million upon the first anniversary of the effective date of the agreement, and $1.0 million upon the second anniversary of the effective date of the agreement and we are eligible to receive $1.0 million on the third anniversary of the effective date of the agreement. We completed the technical transfer in the fourth quarter of 2018 and recognized $2.8 million in research and development revenue. We recognized revenue related to the functional license provided to Porton at a point in time when control of the license was transferred to the customer. We recognized research and development revenue related to the Porton Agreement of nil and $1.1 million in the three and nine months ended September 30, 2020, respectively, and no revenue in the three and nine months ended September 30, 2019. As of September 30, 2020 and December 31, 2019, we had deferred revenue balances related to the strategic collaboration agreement of $0.1 million and nil, respectively. 
Platform Technology Transfer and License Agreement
In May 2019, we entered into a Platform Technology Transfer and License Agreement (the “Novartis CodeEvolver® Agreement”) with Novartis Pharma AG (“Novartis”). The Agreement allows Novartis to use our proprietary CodeEvolver® protein engineering platform technology in the field of human healthcare. Under the Novartis CodeEvolver® Agreement, we are transferring our proprietary CodeEvolver® protein engineering platform technology to Novartis over approximately 23 months, starting with the date on which we commenced the technology transfer (the “Technology Transfer Period”). As a part of this technology transfer, the Company provided to Novartis our proprietary enzymes, proprietary protein engineering protocols and methods, and proprietary software algorithms. In addition, teams of the Company and Novartis scientists participated in technology training sessions and collaborative research projects at our laboratories in Redwood City, California and at a designated Novartis laboratory in Basel, Switzerland. Upon completion of technology transfer, Novartis will have the CodeEvolver® protein engineering platform technology installed at its designated laboratory.
Pursuant to the agreement, we received an upfront payment of $5.0 million shortly after the effective date of the Novartis CodeEvolver® Agreement. In the second quarter of 2020, we completed the second technology milestone transfer under the agreement and became eligible to receive a milestone payment of $4.0 million, which we subsequently received in July 2020. We are eligible to receive an additional $5.0 million upon satisfactory completion of the third technology transfer milestone. In consideration for the continued disclosure and license of improvements to our technology and materials during a multi-year period that begins on the conclusion of the Technology Transfer Period, Novartis will pay us annual payments which amount to an additional $8.0 million. The Company also has the potential to receive quantity-dependent, usage payments for each API that is manufactured by Novartis using one or more enzymes that have been developed or are in development using the CodeEvolver® protein engineering platform technology during the period that begins on the conclusion of the Technology Transfer Period and ends on the expiration date of the last to expire licensed patent. These product-related usage payments, if any, will be paid by Novartis to us for each quarter that Novartis manufactures API using a CodeEvolver®-developed enzyme. The usage payments will be based on the total volume of API produced using the CodeEvolver®-developed enzyme. These usage payments can begin in the clinical stage and will extend throughout the commercial life of each API. Revenue for the combined initial license and technology transfer performance obligation, which is expected to occur over twenty-three months, is being recognized using a single measure of progress that depicts our performance in transferring control of the services, which is based on the ratio of level of effort incurred to date compared to the total estimated level of effort required to complete the performance obligation relating to the combined initial license and technology transfer. Revenue allocated to future improvements will be recognized during the Improvement Term. We recognized $0.9 million and $4.1 million in research and development revenue for the three and nine months ended September 30, 2020, respectively, compared to $3.8 million in revenue for the three and nine months ended September 30, 2019 from the Novartis CodeEvolver® Agreement.
License Agreement
In December 2019, we entered a license agreement with Roche Sequencing Solutions, Inc. (“Roche”) to provide Roche with our EvoT4 DNA™ ligase high-performance molecular diagnostic enzyme. The royalty bearing license grants Roche worldwide rights to include the EvoT4 DNA™ ligase in its nucleic acid sequencing products and workflows. Under the license agreement, we received an initial collaboration fee payment within 45 days of the effective date of the agreement and we are eligible to receive an additional milestone within 60 days after the completion of technology transfer. The agreement also contemplates milestone payments to the Company upon the achievement of various development and commercialization events and royalty payments from commercial sales of the enzyme. We recognized research and development fees of $0.1 million and $0.9 million for the three and nine months ended September 30, 2020, respectively.
Strategic Collaboration and License Agreement
In March 2020, we entered into a Strategic Collaboration and License Agreement (the “Takeda Agreement”) with Shire Human Genetic Therapies, Inc., a wholly-owned subsidiary of Takeda Pharmaceutical Co. Ltd. (“Takeda”) under which we will research and develop protein sequences for use in gene therapy products for certain diseases (each, a “Field”) in accordance with each applicable program plan (each, a “Program Plan”).
In March 2020, we received an up-front nonrefundable cash payment of $8.5 million and we initiated activities under three Program Plans for Fabry Disease, Pompe Disease, and an unnamed blood factor deficiency respectively (the “Initial Programs”). We are primarily responsible for the research and development of protein sequences under the Program Plans (the “Protein Sequences”) and we are eligible to earn $18.3 million of research and development fees and pre-clinical milestone payments for the Initial Programs. Takeda has the right, but not the obligation, to develop, manufacture and commercialize gene therapy products that include nucleic acid sequences that encode the Protein Sequences (“Products”) at their expense. Takeda has the right to a certain number of additional disease indications (“Reserved Target Indications”) for a limited period in which Takeda may initiate a Program Plan for one or more Reserved Target Indications (“Additional/Option Program,” with Initial Programs, the “Programs”), provided, (a) if Takeda elects to initiate an Additional/Option Program while the parties are collaborating on three other Programs at the time of such election, or (b) if Takeda elects to initiate an Additional/Option Program using the last remaining Reserved Target Indication, then Takeda must pay us an option exercise fee to initiate such Additional/Option Program. We will own all rights to the Protein Sequences and corresponding nucleic acid sequences and related intellectual property rights and Takeda will own all rights to Products and related intellectual property rights.
We granted to Takeda an exclusive, worldwide, royalty-bearing, sublicensable license to use the Protein Sequences and their corresponding nucleic acid sequences to develop, manufacture and commercialize the applicable Products in the applicable Field. We also granted to Takeda a limited non-exclusive, worldwide, sublicensable license (a) to research the Protein Sequences within or outside the applicable Fields and (b) to research the Products outside of the applicable Fields, which such rights exclude Takeda's right to perform any Investigational New Drug-enabling activities. The licenses to research the Protein Sequences expire after a pre-determined period of time.
The term of the Takeda Agreement begins on the Effective Date and continues on a Product-by-Product and country-by-country basis, until the expiration of Takeda’s obligation to pay royalties to the Company with respect to that Product in that country. The Takeda Agreement expires in its entirety upon the expiration of Takeda’s obligation to pay royalties to the Company with respect to the Products in all countries worldwide. Subject to the terms of the Takeda Agreement, and after the first anniversary of the Effective Date with respect to the Initial Programs or after the first anniversary of confirmation of the applicable Program Plan by the parties with respect to the Additional/Option Programs, Takeda may terminate a Program upon specified prior written notice to the Company. Subject to the terms of the Takeda Agreement, Takeda may terminate the Takeda Agreement, at will, on a Product-by-Product basis upon specified prior written notice to the Company and the Takeda Agreement in its entirety upon specified prior written notice to the Company. Subject to the terms of the Takeda Agreement, Takeda may terminate the Takeda Agreement on a Product-by-Product basis for safety reasons upon specified prior written notice to the Company. Either party may terminate the Takeda Agreement for an uncured material breach by the other party, or the other party’s insolvency or bankruptcy.
We are eligible to receive certain development and commercialization milestone payments up to $100.0 million per target gene, the modulation of which would lead to the treatment of the disease indications by the applicable Product. We are also eligible to receive tiered royalties based on net sales of Products at percentages ranging from the middle-single digits to low single-digits. We recognized research and development revenue related to the Takeda Agreement of $2.6 million and $10.6 million in the three and nine months ended September 30, 2020, respectively. As of September 30, 2020, we had a deferred revenue balance of $1.9 million from Takeda.
Master Collaboration and Research Agreement and Stock Purchase Agreement
In June 2020, we entered into a Stock Purchase Agreement with Molecular Assemblies, Inc. ("MAI") pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million in connection with the transaction, our chief executive officer, John Nicols, also joined MAI’s board of directors.
At the same time, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with MAI to engineer DNA polymerase enzymes to deliver differentiated and cost-effective solutions for the enzymatic synthesis of DNA. Under the MAI Agreement and its related statement of work (“SOW”), we will apply our CodeEvolver® protein engineering platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis. Based on these services, the Company is eligible to earn additional shares of MAI's Series A preferred stock. MAI will combine its advanced chemistries with our enzymes to drive the process to commercialization. Under the MAI Agreement and its associated SOW, we will engage in research and development activities to engineer DNA polymerase enzymes for the enzymatic synthesis of DNA in exchange for monthly fees in the form of shares of Series A preferred stock in MAI. We are eligible to earn such non-monetary payments over ten to thirteen months, and any such shares would be issued thirty days in arrears after each calendar quarter-end. We are also eligible to receive amounts for bonuses, targets and milestones on achievement of timeline and project goals specified in the SOW. Payments for bonuses, targets and milestones on achievement of timeline and project goals are to be issued thirty days after the Company provides notification of completion. We did not receive any shares of MAI's Series A preferred stock based on services provided in the nine months ended September 30, 2020. Under the MAI Agreement, we will have the right to use and sell the engineered enzymes to third parties for any purpose other than for the synthesis of native DNA. Under the MAI Agreement, we would make a $0.5 million payment to MAI upon our achievement of a milestone of $5.0 million in aggregate commercial sales to third parties of the engineered enzymes or any product incorporating or derived from the engineered enzymes for any purpose other than the synthesis of native DNA. The MAI Agreement contemplates that we and MAI will enter into a Commercialization and Enzyme Supply Agreement (the “CESA”) within six months following the completion of certain timelines specified in the SOW. In addition, we and MAI have agreed pursuant to the MAI Agreement to certain terms to be contained within the CESA in the event that the CESA becomes executed in the future. Those include: (a) that MAI would receive an exclusive license to use the DNA polymerase enzymes engineering by us under the MAI Agreement in the synthesis of native DNA and a non-exclusive license to use these enzymes for research and development on the synthesis of non-native DNA, and (b) we would become the exclusive manufacturer of these enzymes for MAI, its affiliates and licensees.
We recognized $0.5 million in research and development revenue in the three and nine months ended September 30, 2020 from transactions with MAI. At September 30, 2020, we had $0.5 million of financial assets due from MAI. Payment for the services was subsequently received in form of additional Series A preferred stock of MAI in October.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.20.2
Cash Equivalents and Equity Securities
9 Months Ended
Sep. 30, 2020
Cash Equivalents and Marketable Securities [Abstract]  
Cash Equivalents and Equity Securities Cash Equivalents and Equity Securities
Cash equivalents at September 30, 2020 and December 31, 2019 consisted of the following (in thousands):
 September 30, 2020December 31, 2019
 Adjusted CostEstimated
Fair Value
Adjusted CostEstimated Fair Value
Money market funds (1)
$51,488 $51,488 $71,248 $71,248 
(1) Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets.

As of September 30, 2020, the total cash and cash equivalents balance of $71.5 million was comprised of money market funds of $51.5 million and cash of $20.0 million held with major financial institutions worldwide. As of December 31, 2019, the total cash and cash equivalents balance of $90.5 million was comprised of money market funds of $71.2 million and cash of $19.3 million held with major financial institutions worldwide.
Investment in Equity Securities
No single investor in MAI holds 20% or more of the voting stock. Our investment represented approximately 4% of MAI's voting stock at the time of the transaction. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We recorded no impairments or upward adjustments due to observable price changes in the investment in the three and nine months ended
September 30, 2020. The carrying amount of the investment was $1.0 million at September 30, 2020. For additional information, see Note 12, "Related Party Transactions."
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements
9 Months Ended
Sep. 30, 2020
Fair Value Disclosures [Abstract]  
Fair Value Measurements Fair Value Measurements
The following tables present the financial instruments that were measured at fair value on a recurring basis at September 30, 2020 and December 31, 2019 by level within the fair value hierarchy (in thousands):

 September 30, 2020
 Level 1Level 2Level 3Total
Money market funds $51,488 $— $— $51,488 

 December 31, 2019
 Level 1Level 2Level 3Total
Money market funds$71,248 $— $— $71,248 
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.20.2
Balance Sheets Details
9 Months Ended
Sep. 30, 2020
Balance Sheets Details [Abstract]  
Balance Sheets Details Balance Sheets Details
Inventories
Inventories consisted of the following (in thousands):
September 30, 2020December 31, 2019
Raw materials$77 $
Work-in-process28 26 
Finished goods632 338 
    Inventories$737 $371 

Property and Equipment, net
Property and equipment, net consisted of the following (in thousands):
September 30, 2020December 31, 2019
Laboratory equipment$24,837 $23,561 
Leasehold improvements10,774 10,804 
Computer equipment and software3,134 3,016 
Office equipment and furniture1,175 1,461 
Construction in progress602 691 
Property and equipment40,522 39,533 
       Less: accumulated depreciation and amortization(33,233)(33,251)
     Property and equipment, net$7,289 $6,282 

Goodwill
Goodwill had a carrying value of approximately $3.2 million as of September 30, 2020 and December 31, 2019.
Other Accrued Liabilities
Other accrued liabilities consisted of the following (in thousands):
September 30, 2020December 31, 2019
Accrued purchases $3,810 $4,386 
Accrued professional and outside service fees3,142 1,802 
Other618 352 
     Total$7,570 $6,540 
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-based Compensation
9 Months Ended
Sep. 30, 2020
Share-based Payment Arrangement [Abstract]  
Stock-based Compensation Stock-based Compensation
Equity Incentive Plans
In June 2019, our board of directors (the "Board") and stockholders approved the 2019 Incentive Award Plan (the "2019 Plan"). The 2019 Plan superseded and replaced in its entirety our 2010 Equity Incentive Plan (the “2010 Plan”) which was effective in March 2010, and no further awards will be granted under the 2010 Plan; however, the terms and conditions of the 2010 Plan will continue to govern any outstanding awards thereunder. 
The 2010 Plan provided for the grant of incentive stock options, non-statutory stock options, restricted stock units ("RSUs"), restricted stock awards ("RSAs"), performance-contingent restricted stock units ("PSUs"), performance based options ("PBOs"), stock appreciation rights, and stock purchase rights to our employees, non-employee directors and consultants.
The number of shares of our common stock available for issuance under the 2019 Plan is equal to the sum of (i) 7,897,144 shares, and (ii) any shares subject to awards granted under the 2010 Plan that were outstanding as of April 22, 2019 and thereafter terminate, expire, lapse or are forfeited; provided that no more than 14,000,000 shares may be issued upon the exercise of incentive stock options (“ISOs”). In June 2019, 8.1 million shares authorized for issuance under the 2019 Plan were registered under the Securities Act of 1933, as amended (the “Securities Act”).
The 2019 Plan provides for the grant of stock options, including incentive stock options and non-qualified stock options, stock appreciation rights, restricted stock, restricted stock units, other stock or cash based awards and dividend equivalents to eligible employees and consultants of the Company or any parent or subsidiary, as well as members of the Board.
Stock Options
The option exercise price for incentive stock options must be at least 100% of the fair value of our common stock on the date of grant and the option exercise price for non-statutory stock options is 85% of the fair value of our common stock on the date of grant, as determined by the Board. If, at the time of a grant, the optionee directly or by attribution owns stock possessing more than 10% of the total combined voting power of all of our outstanding capital stock, the exercise price for these options must be at least 110% of the fair value of the underlying common stock. Stock options granted to employees generally have a maximum term of 10 years and vest over four years from the date of grant, of which 25% vest at the end of one year, and 75% vest monthly over the remaining three years. We may grant options with different vesting terms from time to time. Unless an employee's termination of service is due to disability or death, upon termination of service, any unexercised vested options will be forfeited at the end of three months or the expiration of the option, whichever is earlier.
Restricted Stock Units (RSUs)
We also grant employees RSUs, which generally vest over either a three year period with one-third of the shares subject to the RSUs vesting on each yearly anniversary of the vesting commencement date or over a four year period with 25% of the shares subject to the RSU vesting on each yearly anniversary of the vesting commencement date, in each case contingent upon such employee’s continued service on such vesting date. RSUs are generally subject to forfeiture if employment terminates prior to the release of vesting restrictions. We may grant RSUs with different vesting terms from time to time.
Performance-contingent Restricted Stock Units (PSUs) and Performance Based Options (PBOs)
We also grant our executives and our non-executive employees PSUs, and we grant our executives PBOs. The PSUs and PBOs vest based upon both the successful achievement of certain corporate operating milestones in specified timelines and continued employment through the applicable vesting date. When the performance goals are deemed to be probable of achievement for these types of awards, recognition of stock-based compensation expense commences. Once the number of shares eligible to vest is determined, those shares vest in two equal installments with 50% vesting upon achievement and the remaining 50% vesting on the first anniversary of achievement, in each case, subject to the recipient’s continued service through the applicable vesting date. If the performance goals are achieved at the threshold level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to half the number of PSUs granted and one-quarter the number of shares underlying the PBOs granted. If the performance goals are achieved at the target level, the number of shares eligible to vest in respect of the PSUs and PBOs would be equal to the number of PSUs granted and half of the shares underlying the PBOs granted. If the performance goals are achieved at the superior level, the number of shares eligible to vest in respect of the PSUs would be equal to two times the number of PSUs granted and equal to the number of PBOs granted. The number of shares issuable upon achievement of the performance goals at the levels between the threshold and target levels for the PSUs and PBOs or between the target level and superior levels for the PSUs would be determined using linear interpolation. Achievement below the threshold level would result in no shares being eligible to vest in respect of the PSUs and PBOs.
In the first half of 2020, we awarded PSUs ("2020 PSUs") and PBOs ("2020 PBOs"), each of which commence vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancements of biotherapeutics pipeline, safety and technology development. As of September 30, 2020, we estimated that the 2020 PSUs and 2020 PBOs performance goals would be achieved at 100% of the target level, and recognized expenses accordingly.
In 2019, we awarded PSUs ("2019 PSUs") and PBOs ("2019 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including sustained revenue and performance enzyme growth, strategic advancement of biotherapeutics, cash balance and strategic plan development. In the first quarter of 2020, we determined that the 2019 PSUs and 2019 PBOs performance goals had been achieved at 106% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2019 PSUs and PBOs vested in the first quarter of 2020 and 50% of the shares underlying the 2019 PSUs and PBOs will vest in the first quarter of 2021, in each case subject to the recipient’s continued service on each vesting date.
In 2018, we awarded PSUs ("2018 PSUs") and PBOs ("2018 PBOs"), each of which commenced vesting based upon the achievement of various weighted performance goals, including core business revenue growth, cash balance, new licensing collaborations, new research and development service revenue arrangements, technology advancement and novel therapeutic enzymes advancement. In the first quarter of 2019, we determined that the 2018 PSUs and 2018 PBOs performance goals had been achieved at 118% of the target level, and recognized expenses accordingly. Accordingly, 50% of the shares underlying the 2018 PSUs and PBOs vested in the first quarter of 2019 and 50% of the shares underlying the 2018 PSUs and PBOs vested in the first quarter of 2020, in each case subject to the recipient’s continued service on each vesting date.
Stock-Based Compensation Expense
Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
 2020201920202019
Research and development $385 $458 $1,279 $1,249 
Selling, general and administrative1,599 1,274 4,813 4,534 
   Total$1,984 $1,732 $6,092 $5,783 

The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations for the three and nine months ended September 30, 2020 and 2019 (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
 2020201920202019
Stock options$619 $545 $1,735 $1,680 
RSUs and RSAs603 461 1,812 1,308 
PSUs295 368 922 1,075 
PBOs467 358 1,623 1,720 
   Total$1,984 $1,732 $6,092 $5,783 

In June 2020, we granted an option to purchase 60,000 shares of common stock to a non-employee as compensation for services. The estimated fair value of the grant was valued at $0.3 million using the Black-Scholes-Merton option pricing model with the following assumptions used to estimate the fair value of non-employee stock options: (i) volatility rate at 51.9%, (ii) risk-free interest rate of 0.4% and (iii) no expected dividend yield. The option vests over 2 years from the date of grant with 50% vesting after one year and the remaining 50% vesting monthly in the second year. In August 2020, we granted an option to purchase 16,000 shares of common stock to a non-employee as compensation for services. The estimated fair value of the grant was valued at $0.1 million using the Black-Scholes-Merton option pricing model with the following assumptions used to estimate the fair value of non-employee stock options: (i) volatility rate at 50.5%, (ii) risk-free interest rate of 0.3% and (iii) no expected dividend yield. The option vests over 1 year with 100% on the first anniversary of the grant date. We recognized stock-based compensation expense related to the non-employees of $43 thousand and $47 thousand for the three and nine months ended September 30, 2020, respectively.
As of September 30, 2020, unrecognized stock-based compensation expense, net of expected forfeitures, was $4.2 million related to unvested employee stock options, $0.3 million related to unvested non-employee stock options, $2.3 million related to unvested RSUs and RSAs, $0.8 million related to unvested PSUs, and $1.3 million related to unvested PBOs based on current estimates of the level of achievement. Stock-based compensation expense for these awards will be recognized through the year of 2024.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.20.2
Capital Stock
9 Months Ended
Sep. 30, 2020
Equity [Abstract]  
Capital Stock Capital Stock
Exercise of Options
For the nine months ended September 30, 2020 and September 30, 2019, we issued 87,240 and 970,256 shares, respectively, upon option exercises at a weighted-average exercise price of $6.17 and $4.76 per share, respectively, with net cash proceeds of $0.5 million and $4.6 million, respectively.
Private Offering
In June 2019, we entered into a Securities Purchase Agreement with an affiliate of Casdin pursuant to which we issued and sold to Casdin 3,048,780 shares of our common stock at a purchase price of $16.40 per share. After deducting legal fees of $74 thousand from the Private Offering, our net proceeds were $49.9 million.
The Private Offering was exempt from registration pursuant to the exemption for transactions by an issuer not involving any public offering under Section 4(a)(2) the Securities Act, and Regulation D under the Securities Act.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies
9 Months Ended
Sep. 30, 2020
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies Commitments and Contingencies
Operating Leases
Our headquarters are located in Redwood City, California, where we occupy approximately 77,300 square feet of office and laboratory space in four buildings within the same business park of Metropolitan Life Insurance Company ("MetLife"). Our lease (“Lease”) with MetLife includes approximately 28,200 square feet of space located at 200 and 220 Penobscot Drive, Redwood City, California (the “Penobscot Space”), approximately 37,900 square feet of space located at 400 Penobscot Drive, Redwood City, California (the “Building 2 Space”), and approximately 11,200 square feet of space located at 501 Chesapeake Drive, Redwood City, California (the “501 Chesapeake Space”).
Until January 31, 2020, we also leased approximately 29,900 square feet of space located at 101 Saginaw Drive, Redwood City, California (the “Saginaw Space”). During the period January 1, 2020 through January 31, 2020, we subleased approximately 26,500 square feet of the Saginaw Space to Minerva Surgical, Inc. The lease and sublease for the Saginaw Space both expired at the end of January 2020. During the period from February 1, 2020 through April 30, 2020, we subleased approximately 3,400 square feet of the Saginaw Space from Minerva Surgical, Inc. The sublease expired at the end of April 2020.
We entered into the initial lease with MetLife for a portion of this space in 2004 and the lease has been amended multiple times since then to adjust space and terms of the lease ("Lease"). In February 2019, we entered into an Eighth Amendment to the Lease ( the “Eighth Amendment”) with MetLife with respect to the Penobscot Space, the Building 2 Space and the 501 Chesapeake Space to extend the term of the Lease for additional periods. Pursuant to the Eighth Amendment, the term of the lease of the Penobscot Space and the Building 2 Space has been extended through May 2027. The lease term for the 501 Chesapeake Space has been extended to May 2029. We have two consecutive options to extend the term of the lease for the Penobscot Space, the Building 2 Space and the 501 Chesapeake Space for an additional period of five years per option.
We are required to restore certain areas of the Redwood City facilities that we are renting to their original form. We are expensing the asset retirement obligation over the terms of the respective leases. We review the estimated obligation each reporting period and make adjustments if our estimates change. We recorded asset retirement obligations of $0.2 million as of September 30, 2020 and December 31, 2019, which are included in other liabilities on the unaudited condensed consolidated balance sheets. Accretion expense related to our asset retirement obligations was nominal.
Pursuant to the terms of the Lease, we exercised our right to deliver a letter of credit in lieu of a security deposit. The letter of credit is collateralized by deposit balances held by the bank in the amount of $1.1 million as of September 30, 2020 and December 31, 2019, and are recorded as non-current restricted cash on the unaudited condensed consolidated balance sheets.
Finance Leases
In December 2016, we entered into a three-year financing lease agreement with a third party supplier for the purchase of laboratory equipment that was partially financed through a finance lease of approximately $0.4 million. The lease became effective upon delivery of the equipment in February 2017, and term of the three-year lease was from February 2017 and expired in February 2020. This financing agreement was accounted for as a finance lease due to bargain purchase options at the end of the lease. In April 2017, we entered into a three-year financing lease agreement with a third-party supplier for the purchase of information technology equipment for approximately $0.3 million. The effective term of the three-year lease was from May 2017 and expired in April 2020.
Lease Costs and other information
Lease related costs were as follows (in thousands):
Three months ended September 30,Nine months ended September 30,
 2020201920202019
Finance lease costs:
Amortization of right-of-use assets$27 $54 $126 $163 
Interest on lease obligations— 
Finance lease costs27 56 127 171 
Operating lease cost1,033 1,139 3,133 3,417 
Short-term lease cost (1)
— — 47 — 
Sublease income— (262)(55)(727)
Total lease cost$1,060 $933 $3,252 $2,861 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
Other information related to non-cancellable finance leases and operating leases as of September 30, 2020 was as follows:
Operating Leases
Weighted-average remaining lease term (in years)6.9 years
Weighted-average discount rate6.6 %
Cash paid for amounts included in the measurement of lease obligations was as follows (in thousands):
Nine months ended September 30,
20202019
Operating cash flows from operating leases$1,795 $2,456 
Operating cash flows from finance leases$— $
Financing cash flows from finance leases$60 $180 

As of September 30, 2020, our maturity analysis of annual undiscounted cash flows of the non-cancellable finance and operating leases are as follows (in thousands):
Years ending December 31,Operating Leases
2020 (remaining 3 months)$1,022 
20214,197 
20224,285 
20234,589 
20244,726 
2025 and thereafter13,494 
Total minimum lease payments32,313 
Less: imputed interest(6,758)
Lease Obligations$25,555 
Other Commitments
We enter into supply and service arrangements in the normal course of business. Supply arrangements are primarily for fixed-price manufacture and supply. Service agreements are primarily for the development of manufacturing processes and certain studies. Commitments under service agreements are subject to cancellation at our discretion which may require payment of certain cancellation fees. The timing of completion of service arrangements is subject to variability in estimates of the time required to complete the work.
The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Other Commitment Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$532 
Development and manufacturing services agreementsSeptember 20193,806 
Strategic Collaboration and License AgreementMarch 2020520 
Total other commitments$4,858 
Credit Facility
In June 30, 2017, we entered into a credit facility (the “Credit Facility”) consisting of term loans (“Term Debt”) up to $10.0 million, and advances (“Advances”) under a revolving line of credit ("Revolving Line of Credit") up to $5.0 million with an accounts receivable borrowing base of 80% of eligible accounts receivable. At September 30, 2020 and December 31, 2019, we have not drawn from the Credit Facility. We may draw on the Term Debt and the Revolving Line of Credit at any time prior to October 1, 2021 and October 1, 2024, respectively. On October 1, 2024 loans drawn under the Term Debt mature and the Revolving Line of Credit terminate. Loans made under the Term Debt bear interest through maturity equal to the greater of (i) 3.75% and (ii) the sum of (A) Index Rate (prime rate published in the Money Rates section of the Western Edition of The Wall Street Journal plus (B) 0.50%. Advances made under the Revolving Line of Credit bear interest at a variable annual rate equal to the equal to the greater of (i) 4.25% and (ii) the sum of (A) the prime rate plus (B) 1.00%.
Our obligations under the Credit Facility are secured by a lien on substantially all of our personal property other than our intellectual property. The Credit Facility includes a number of customary covenants and restrictive financial covenants including meeting minimum product revenue levels and maintaining certain minimum cash levels with the lender. The Credit Facility's financial covenants restrict the ability of the Company to transfer collateral, incur additional indebtedness, engage in mergers or acquisitions, pay dividends or make other distributions, make investments, create liens, sell assets, or sell certain assets held at foreign subsidiaries. A failure to comply with these covenants could permit the lender to exercise remedies against us and the collateral securing the Credit Facility, including foreclosure of our properties securing the Credit Facilities and our cash. At September 30, 2020, we were in compliance with the covenants for the Credit Facility.
The Credit Facility allows for interest-only payments on the Term Debt through November 1, 2022. Monthly payments of principal and interest on the Term Debt are required following the applicable amortization date. We may elect to prepay in full the Term Debt and Advances under the Revolving Line of Credit at any time.
Legal Proceedings
We are not currently a party to any material pending litigation or other material legal proceedings.
Indemnifications
We are required to recognize a liability for the fair value of any obligations we assume upon the issuance of a guarantee. We have certain agreements with licensors, licensees and collaborators that contain indemnification provisions. In such provisions, we typically agree to indemnify the licensor, licensee and collaborator against certain types of third party claims. The maximum amount of the indemnifications is not limited. We accrue for known indemnification issues when a loss is probable and can be reasonably estimated. There were no accruals for expenses related to indemnification issues for any periods presented.
Impact of COVID-19
We are subject to risks and uncertainties as a result of the current COVID-19 pandemic. The COVID-19 pandemic has presented a substantial public health and economic challenge around the world and is affecting our employees, communities and business operations, as well as the U.S. economy and other economies worldwide. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition will depend on future developments that are highly uncertain and may not be accurately predicted, including the duration and severity of the pandemic and the extent and severity of the impact on our customers, new information that may emerge concerning COVID-19, the actions taken to contain it or treat its impact and the economic impact on local, regional, national and international markets.
To date, we and our collaboration partners have been able to continue to supply our enzymes to our customers worldwide. However, we are dependent on our manufacturing and logistics partners and consequently, disruptions in operations of our partners and customers may affect our ability to supply enzymes to our customers. Furthermore, our ability to provide future research and development ("R&D") services will continue to be impacted as a result of governmental orders and any disruptions in operations of our customers with whom we collaborate. We believe that these disruptions have had a negative impact on revenue for the nine months ending September 30, 2020, although we are unable to fully determine and quantify the extent to which this pandemic has affected the amount and timing of our total revenues. The extent to which the pandemic may impact our business operations and operating results will continue to remain highly dependent on future developments, which are uncertain and cannot be predicted with confidence.
In the U.S., the impact of COVID-19, including governmental orders ("Orders") governing the operation of businesses during the pandemic, caused the temporary closure of our Redwood City, California facilities and has disrupted our R&D operations. R&D operations for several projects were temporarily suspended from mid-March 2020 through the end of April in accordance with these Orders. In May 2020, we initiated limited R&D operations and have gradually ramped up operations such that we are currently utilizing the majority of our normal R&D capacity. Additionally, we have resumed small scale manufacturing at our Redwood City pilot plant in May 2020.
Our future results of operations and liquidity could be adversely impacted by delays in payments of outstanding receivable amounts beyond normal payment terms, supply chain disruptions and uncertain demand, and the impact of any initiatives or programs that we may undertake to address financial and operations challenges faced by our customers. As of the date of issuance of these condensed consolidated financial statements, the extent to which the COVID-19 pandemic may materially impact our financial condition, liquidity, or results of operations in the future is uncertain.
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.20.2
Related Party
9 Months Ended
Sep. 30, 2020
Related Party Transactions [Abstract]  
Related Party Related Party
Molecular Assemblies, Inc.
In June 2020, we entered into a Stock Purchase Agreement with Molecular Assemblies, Inc (“MAI”) pursuant to which we purchased 1,587,050 shares of MAI's Series A preferred stock for $1.0 million. In connection with the transaction, our chief executive officer, John Nicols, also joined MAI’s board of directors.

At the same time, we entered into a Master Collaboration and Research Agreement (the “MAI Agreement”) with MAI to engineer DNA polymerase enzymes to deliver differentiated and cost-effective solutions for the enzymatic synthesis of DNA. Under the MAI Agreement and its related statement of work (“SOW”), we will apply our CodeEvolver® protein engineering platform technology to improve the DNA polymerase enzymes that are critical for enzymatic DNA synthesis.
Based on these services, we are eligible to earn additional Series A preferred stock of MAI contingent on the achievement of certain results and milestones. MAI will combine its advanced chemistries with our enzymes to drive the process to commercialization. Under the MAI Agreement and its associated SOW, we will engage in research and development activities to engineer DNA polymerase enzymes for the enzymatic synthesis of DNA and will receive monthly fees in the form of shares of Series A preferred stock in MAI. Such non-monetary payments will be earned over ten to thirteen months and issued thirty days in arrears after each calendar quarter-end. We are also eligible to receive amounts for bonuses, targets and milestones on achievement of timeline and project goals specified in the SOW. Payments for bonuses, targets and milestones on achievement of timeline and project goals are to be issued thirty days after the Company provides notification of completion. We did not receive any shares of MAI's Series A preferred stock based on services provided in the nine months ended September 30, 2020. Under the MAI Agreement, we will have the right to use and sell the engineered enzymes to third parties for any purpose other than for the synthesis of native DNA. Under the MAI Agreement, we would make a $0.5 million payment to MAI on meeting a milestone of $5.0 million in aggregate commercial sales by the Company to third parties of the engineered enzymes or any product incorporating or derived from the engineered enzymes for any purpose other than the synthesis of native DNA. The MAI Agreement contemplates that we and MAI will enter into a Commercialization and Enzyme Supply Agreement (the “CESA”) within six months following the completion of certain timelines specified in the SOW. In addition, we and MAI have agreed pursuant to the MAI Agreement to certain terms to be contained within the CESA in the event that the CESA becomes executed in the future. Those include: (a) that MAI would receive an exclusive license to use the DNA polymerase enzymes engineering by us under the MAI Agreement in the synthesis of native DNA and a non-exclusive license to use these enzymes for research and development on the synthesis of non-native DNA, and (b) that we would become the exclusive manufacturer of these enzymes for MAI, its affiliates and licensees.
We recognized $0.5 million in research and development revenue in the three and nine months ended September 30, 2020 from transactions with MAI. At September 30, 2020, we had $0.5 million of financial assets due from MAI. Payment for the services was subsequently received in the form of additional Series A preferred stock of MAI in October.
AstraZeneca PLC
Pam P. Cheng, who served as a member of our board of directors until June 2020, joined AstraZeneca PLC as Executive Vice President, Operations and Information Technology in June 2015. We sold biocatalyst products to AstraZeneca PLC and its controlled purchasing agents and contract manufacturers. We recognized $0.1 million of revenue in 2020 through the date of Ms. Cheng’s departure from our board of directors. We recognized $0.2 million and $0.6 million of revenue from transactions with AstraZeneca in the three and nine months ended September 30, 2019, respectively. At September 30, 2020 and December 31, 2019, we had no receivables from AstraZeneca.
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information
9 Months Ended
Sep. 30, 2020
Segment Reporting [Abstract]  
Segment, Geographical and Other Revenue Information Segment, Geographical and Other Revenue Information
Segment Information
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the CODM, or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.
We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments.
We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment.
Performance Enzymes
We initially commercialized our CodeEvolver® protein engineering technology platform and products in the pharmaceuticals market, and to date this continues to be our largest market served. Our customers, which include many large global pharmaceutical companies, use our technology, products and services in their manufacturing processes and process development. We have also used the technology to develop customized enzymes for use in other industrial markets. These markets consist of several large industrial verticals, including food and food ingredients, animal feed, flavors, fragrances, and agricultural chemicals. We also use our technology to develop enzymes for customers using NGS and PCR/qPCR for in vitro molecular diagnostic and molecular biology research applications.
Novel Biotherapeutics
We are also targeting new opportunities in the pharmaceutical industry to discover, improve, and/or develop biotherapeutic drug candidates. We believe that our CodeEvolver® protein engineering platform technology can be used to discover novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. Similarly, we believe that we can deploy our platform technology to improve specific characteristics of a customer’s pre-existing biotherapeutic drug candidate, such as its activity, stability or immunogenicity. Most notable is our lead program for the potential treatment of PKU in humans. PKU is an inherited metabolic disorder in which the enzyme that converts the essential amino acid phenylalanine into tyrosine is deficient.
We have also developed a pipeline of other biotherapeutic drug candidates, which are in preclinical development, and in which we expect to continue to make additional investments with the aim of advancing additional product candidates targeting other therapeutic areas. In March 2020 we entered into the Takeda Agreement with Takeda under which we will research and develop protein sequences for use in gene therapy products for certain diseases.
Factors considered in determining the two reportable segments of the Company include the nature of business activities, the management structure directly accountable to our CODM for operating and administrative activities, availability of discrete financial information and information presented to the Board of Directors. Our CODM regularly reviews our segments and the approach provided by management for performance evaluation and resource allocation.
Operating expenses that directly support the segment activity are allocated based on segment headcount, revenue contribution or activity of the business units within the segments, based on the corporate activity type provided to the segment. The expense allocation excludes certain corporate costs that are separately managed from the segments. This provides the CODM with more meaningful segment profitability reporting to support operating decisions and allocate resources.
The following tables provide financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):
Three months ended September 30, 2020Three months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$8,401 $— $8,401 $10,351 $— $10,351 
Research and development revenue4,604 5,380 9,984 10,073 1,482 11,555 
Total revenues13,005 5,380 18,385 20,424 1,482 21,906 
Costs and operating expenses:
Cost of product revenue3,642 — 3,642 5,067 — 5,067 
Research and development(1)
5,184 6,433 11,617 5,313 3,080 8,393 
Selling, general and administrative(1)
2,675 515 3,190 2,037 690 2,727 
Total segment costs and operating expenses11,501 6,948 18,449 12,417 3,770 16,187 
Income (loss) from operations$1,504 $(1,568)(64)$8,007 $(2,288)5,719 
Corporate costs (2)
(5,483)(4,912)
Depreciation and amortization(528)(471)
Income (loss) before income taxes$(6,075)$336 
(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.
Nine months ended September 30, 2020Nine months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$18,005 $— $18,005 $24,588 $— $24,588 
Research and development revenue13,380 16,638 30,018 16,512 8,708 25,220 
Total revenues31,385 16,638 48,023 41,100 8,708 49,808 
Costs and operating expenses:
Cost of product revenue7,882 — 7,882 12,230 — 12,230 
Research and development(1)
15,877 16,848 32,725 14,889 9,252 24,141 
Selling, general and administrative(1)
7,395 1,728 9,123 6,499 1,768 8,267 
Total segment costs and operating expenses31,154 18,576 49,730 33,618 11,020 44,638 
Income (loss) from operations$231 $(1,938)(1,707)$7,482 $(2,312)5,170 
Corporate costs (2)
(16,526)(15,185)
Depreciation and amortization(1,526)(1,273)
Loss before income taxes$(19,759)$(11,288)
(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.
The following tables provides stock-based compensation expense included in income (loss) from operations (in thousands):

Three months ended September 30,
20202019
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$839 $132 $1,013 $1,984 $736 $225 $771 $1,732 
Nine months ended September 30,
20202019
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,335 $625 $3,132 $6,092 $1,973 $563 $3,247 $5,783 
Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three Months Ended September 30,Nine Months Ended September 30,
2020201920202019
Customer A23%21%21%31%
Customer B15%*13%17%
Customer C*29%11%15%
Customer D14%*22%*
Customer E13%***
Customers that each accounted for 10% or more of accounts receivable had balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
September 30, 2020December 31, 2019
Customer A36%38%
Customer B28%10%
Customer D14%*
* Percentage was less than 10%
Geographical Information
Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
2020201920202019
Revenues
Americas$5,841 $2,706 $17,972 $9,620 
EMEA4,889 12,205 14,175 24,672 
APAC7,655 6,995 15,876 15,516 
Total revenues$18,385 $21,906 $48,023 $49,808 
Identifiable long-lived assets by location was as follows (in thousands):
Long-lived assetsSeptember 30, 2020December 31, 2019
United States$7,289 $6,282 
Identifiable goodwill was as follows (in thousands):
As of September 30, 2020 and December 31, 2019
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.20.2
Allowance for Credit Losses
9 Months Ended
Sep. 30, 2020
Receivables [Abstract]  
Allowance for Credit Losses Allowance for Credit Losses
An analysis of the allowance for credit losses is as follows (in thousands):
Three and nine
months ended
September 30, 2020
Beginning Balance January 1, 2020$34 
Current period provision40 
Write-offs charged against the allowance— 
Recoveries of amounts previously written off— 
Ending Balance September 30, 2020$74 
The following tables below summarizes accounts receivable by aging category (in thousands):
September 30, 2020
31-60 Days61-90 Days91 days and overTotal over 31 daysCurrentTotal balance
Accounts receivable$160 $— $— $160 $10,551 $10,711 

December 31, 2019
31-60 Days61-90 Days91 days and overTotal over 31 daysCurrentTotal balance
Accounts receivable$185 $$65 $257 $8,806 $9,063 
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.20.2
Basis of Presentation and Summary of Significant Accounting Policies (Policies)
9 Months Ended
Sep. 30, 2020
Accounting Policies [Abstract]  
Basis of Presentation and Principles of Consolidation
Basis of Presentation and Principles of Consolidation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States of America ("GAAP") and the applicable rules and regulations of the Securities and Exchange Commission ("SEC") for interim financial information. Accordingly, they do not include all the information and notes required by GAAP for complete financial statements. These interim unaudited condensed consolidated financial statements should be read in conjunction with the audited consolidated financial statements and notes thereto contained in our Annual Report on Form 10-K for the year ended December 31, 2019. The condensed consolidated balance sheet at December 31, 2019 has been derived from the audited consolidated financial statements at that date, but does not include all disclosures, including notes, required by GAAP for complete financial statements. The significant accounting policies used in preparation of the unaudited condensed consolidated financial statements for the three and nine months ended September 30, 2020 are consistent with those discussed in Note 2 to the audited consolidated financial statements in the Company’s 2019 Annual Report on Form 10-K and are updated below as necessary.
Certain prior year amounts have been reclassified to conform to 2020 presentation. In June 2016, the Financial Accounting Standards Board (“FASB”) issued guidance requiring implementation of a new impairment model applicable to financial assets measured at amortized cost which, among other things required that accounts receivable, contract assets, unbilled receivables and related allowances be reclassified as financial assets.
Except as noted above, the unaudited condensed consolidated financial statements have been prepared on the same basis as the audited consolidated financial statements and, in the opinion of management, reflect all adjustments of a normal recurring nature considered necessary to present fairly our financial position as of September 30, 2020, results of our operations for the three and nine months ended September 30, 2020 and 2019, changes in stockholders' equity for the three and nine months ended September 30, 2020 and 2019, and cash flows for the nine months ended September 30, 2020 and 2019. The interim results are not necessarily indicative of the results for any future interim period or for the entire year. The results of the nine months ended September 30, 2020 reflect the adoption of certain accounting standards including: Accounting Standard Update ("ASU") 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments which added a new impairment model applicable to our financial assets measured at amortized cost, and (ii) ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment, which adjusts testing for goodwill impairment. See "Recently adopted accounting pronouncements" for details regarding the adoption of these standards. The unaudited interim condensed consolidated financial statements include the accounts of Codexis, Inc. and its wholly owned subsidiaries. All significant intercompany balances and transactions have been eliminated in consolidation.
Use of Estimates
Use of Estimates
The preparation of our unaudited condensed consolidated financial statements in conformity with GAAP requires us to make estimates, judgments and assumptions that may affect the reported amounts of assets, liabilities, equity, revenues and expenses and related disclosure of contingent assets and liabilities. We regularly assess these estimates which primarily affect revenue recognition, the interest rate used to adjust the promised amount of consideration for the effects of significant financial assets (comprised of accounts receivable, contract assets, and unbilled receivables), inventories, goodwill arising out of business acquisitions, accrued liabilities, stock awards, and the valuation allowances associated with deferred tax assets. Actual results could differ from those estimates and such differences may be material to the unaudited condensed consolidated financial statements. The full extent to which the COVID-19 pandemic will directly or indirectly impact our business, results of operations and financial condition, including sales, expenses, reserves and allowances, manufacturing, research and development costs and employee-related amounts, will depend on future developments that are highly uncertain and may not be accurately predicted, including as a result of new information that may emerge concerning COVID-19 and the actions taken to contain or treat COVID-19, as well as the economic impact on local, regional, national and international customers, markets and economies.
Financing assets and Allowances Financial assets and Allowances
We currently sell enzymes primarily to pharmaceutical and fine chemicals companies throughout the world by the extension of trade credit terms based on an assessment of each customer's financial condition. Trade credit terms are generally offered without collateral and may include an insignificant discount for prompt payment for specific customers. To manage our credit exposure, we perform ongoing evaluations of our customers' financial conditions. In addition, accounts receivable include amounts owed to us under our collaborative research and development agreements. We recognize accounts receivable at invoiced amounts and we maintain a valuation allowance as follows:
Allowance for credit losses from January 1, 2020
On and subsequent to January 1, 2020, our financial results reflect an impairment model (known as the “current expected credit loss model” or “CECL”) based on estimates and forecasts of future conditions requiring recognition of a lifetime of expected credit losses at inception on our financial assets measured at amortized costs which is comprised of accounts receivable, contract assets, and unbilled receivables. We have determined that our financial assets share similar risk characteristics including: (i) customer origination in the pharmaceutical and fine chemicals industry, (ii) similar historical credit loss pattern of customers (iii) no meaningful trade receivable differences in terms, (iv) similar historical credit loss experience and (v) our belief that the composition of certain assets are comparable to our historical portfolio used to develop loss history. As a result, we measured the allowance for credit loss (“ACL”) on a collective basis. Our ACL methodology considers how long the asset has been past due, the financial condition of the customers, which includes ongoing quarterly evaluations and assessments of changes in customer credit ratings, and other market data that we believe are relevant to the collectability of the assets. Nearly all financial assets are due from customers that are highly rated by major rating agencies and have a long history of no credit loss. We derive our ACL by establishing an impairment rate attributable to assets not yet identified as impaired.
We derive our ACL by initially relying on our historical financial asset loss rate which contemplates the full contractual life of the assets sharing similar risk characteristics, adjusted to reflect (i) the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated and (ii) by taking into consideration the changes in certain macroeconomic historical and forecasted information. We apply the ACL to past due financial assets and record charges to the ACL as a provision to credit loss expense in the Statement of Operations.
Financial assets we identify as uncollectible are also charged against the ACL. We adjust the impairment rate to reflect the extent to which we have determined current conditions differ from the conditions that existed for the period over which historical loss information was evaluated. Adjustments to historical loss information may be qualitative or quantitative in nature and reflect changes related to relevant data.
In the three and nine months ended September 30, 2020, inputs to our CECL forecast incorporated forward-looking adjustments associated with the COVID-19 pandemic which we believe are appropriate to incorporate due to the uncertainty of the economic impact on cash flows from our financial assets.
Allowance for credit losses before January 1, 2020
Prior to January 1, 2020, the allowances for doubtful accounts reflected our best estimates of probable losses inherent in our accounts receivable and contract assets balances. The allowance determination was based on known troubled accounts, historical experience, and other currently available evidence. Uncollectible accounts receivable were written off against the allowance for doubtful accounts when all efforts to collect them have been exhausted. Recoveries were recognized when they were received.
Investment in Equity Securities
Investment in Equity Securities
We own an equity investment in Molecular Assemblies, Inc. (“MAI”) which is a privately held company. Concurrently with our initial equity investment, John Nicols, our chief executive officer, joined MAI’s board of directors, and we entered into the MAI Agreement pursuant to which we will provide technical services and expertise in exchange for compensation in the form of additional shares of voting preferred stock. We and MAI envision entering into an arrangement to commercialize products developed under the MAI Agreement.
To analyze the fair value measurement of our equity investment in MAI, we perform a qualitative analysis using significant unobservable inputs. Significant changes to the unobservable inputs may result in a significantly higher or lower fair value estimate. We may value our equity investment based on significant recent arms-length equity transactions with sophisticated non-strategic unrelated new investors, providing the terms of these equity transactions are substantially similar to the equity transactions terms between the company and us. The impact of the difference in transaction terms on the market value of the portfolio company may be difficult or impossible to quantify.
We evaluate our investment for impairment when circumstances indicate that we may not be able to recover the carrying value. We impair our investment when we determine that there has been an “other-than-temporary” decline in MAI's estimated fair value compared to its carrying value. We calculate the estimated fair value of the investment using information from the company, which may include:
Audited and unaudited financial statements;
Projected technological developments of the company;
Projected ability of the company to service its debt obligations;
If a deemed liquidation event were to occur;
Current fundraising transactions;
Current ability of the company to raise additional financing if needed;
Changes in the economic environment which may have a material impact on the operating results of the company;
Qualitative assessment of key management;
Contractual rights, obligations or restrictions associated with the investment; and
Other factors deemed relevant by our management to assess valuation.
The valuation may be reduced if the company's potential has deteriorated significantly. If the factors that led to a reduction in valuation are overcome, the valuation may be readjusted.
Goodwill
Goodwill
Goodwill represents the excess of consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in the trading price of our stock on the Nasdaq Global Select Market. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We manage our business as two reporting units and we test goodwill for impairment at the reporting unit level. We allocated goodwill to the two reporting units using a relative fair value allocation methodology that primarily relied on our estimates of revenue and future earnings for each reporting unit. Using the relative fair value allocation methodology, we have determined that approximately 76% of goodwill was to be allocated to the Performance Enzymes segment and 24% allocated to the Novel
Biotherapeutics segment. As a result of the calculation, $2.4 million of the goodwill is assigned to the Performance Enzymes segment and $0.8 million is assigned to the Novel Biotherapeutics segment. We test goodwill for impairment on an annual basis on the last day of the fourth fiscal quarter and, when specific circumstances dictate, between annual tests, by first assessing qualitative factors to determine whether it is more likely than not that the fair value of a reporting unit is less than its carrying amount. During 2020 and 2019, we did not record impairment charges related to goodwill. We test for goodwill impairment is as follows:
Goodwill impairment testing from January 1, 2020
Goodwill represents the excess of the consideration transferred over the fair value of net assets of businesses acquired and is assigned to reporting units. We test goodwill for impairment considering amongst other things, whether there have been sustained declines in our share price. If we conclude it is more likely than not that the fair value of a reporting unit is less than its carrying amount, a quantitative fair value test is performed. We test for impairment annually on a reporting unit basis, on the last day of the fourth fiscal quarter, and between annual tests if events and circumstances indicate it is more likely than not that the fair value of a reporting unit is less than its carrying amount. The annual impairment test is completed using either: a qualitative “Step 0” assessment based on reviewing relevant events and circumstances; or a quantitative “Step 1” assessment, which determines the fair value of the reporting unit. To the extent the carrying amount of a reporting unit is less than its estimated fair value, an impairment charge is recorded. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compare the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeds its carrying amount, goodwill of the reporting unit is considered not impaired. Any excess of the reporting unit’s carrying amount of goodwill over its fair value is recognized as an impairment.
Goodwill impairment testing before January 1, 2020
Prior to January 1, 2020, the goodwill impairment test consisted of a two-step process. The first step of the goodwill impairment test, used to identify potential impairment, compared the fair value of each reporting unit to its carrying value. Using the relative fair value allocation methodology for assets and liabilities used in both of our reporting units, we compared the allocated carrying amount of each reporting unit’s net assets and the assigned goodwill to its fair value. If the fair value of the reporting unit exceeded its carrying amount, goodwill of the reporting unit was considered not impaired, and the second step of the impairment test was not required. The second step, if required, compared the implied fair value of the reporting unit’s goodwill with the carrying amount of that goodwill. Implied fair value was the excess of the fair value of the reporting unit over the fair value of all identified or allocated assets and liabilities. Any excess of the reporting unit’s carrying amount goodwill over the respective implied fair value was recognized as an impairment.
Interim Goodwill Impairment Testing
We tested goodwill for impairment in the quarter ended September 30, 2020. Since late 2019, the COVID-19 pandemic has spread worldwide. The COVID-19 pandemic has caused a decline in global and domestic macroeconomic conditions, the general deterioration of the U.S. economy and other economies worldwide, all of which may negatively impact our overall financial performance, driving a reduction in our cash flows. We believe that the impact of the COVID-19 pandemic was a triggering event that gave rise to the need to perform a goodwill impairment test. We conducted a qualitative interim impairment assessment as of September 30, 2020, which included an evaluation of our cash flow projections to reflect the current economic environment, including the uncertainty surrounding the nature, timing, and extent of the impact of the pandemic in operating our business. We also considered the results of the prior quarters’ impairment test performed which reflected a significant cushion between the fair value and the carrying value for both of our reporting units. We determined that it was more likely than not that the fair value of each of the reporting units exceeded its respective carrying amount as of September 30, 2020. Therefore, an interim quantitative impairment test of our goodwill at the reporting unit level was not required to be performed.
Segment Reporting
Segment Reporting
We report two business segments, Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. 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 ("CODM"), or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company. We do not allocate or evaluate assets by segment.
The Novel Biotherapeutics segment focuses on new opportunities in the pharmaceutical industry to discover or improve novel biotherapeutic drug candidates that will target human diseases that are in need of improved therapeutic interventions. The
Performance Enzymes segment consists of protein catalyst products and services with focus on pharmaceutical, food, molecular diagnostics, and other industrial markets.
Segment Information
We manage our business as two business segments: Performance Enzymes and Novel Biotherapeutics, which are based on our operating segments. Operating segments are defined as components of an enterprise about which separate financial information is available that is evaluated regularly by the CODM, or decision making group, in deciding how to allocate resources, and in assessing performance. Our CODM is our Chief Executive Officer. Our business segments are primarily based on our organizational structure and our operating results as used by our CODM in assessing performance and allocating resources for the Company.
We report corporate-related expenses such as legal, accounting, information technology, and other costs that are not otherwise included in our reportable business segments as "Corporate costs." All items not included in income (loss) from operations are excluded from the business segments. We manage our assets on a total company basis, not by business segment, as the majority of our operating assets are shared or commingled. Our CODM does not review asset information by business segment in assessing performance or allocating resources, and accordingly, we do not report asset information by business segment.
Income Taxes
Income Taxes
Changes to Tax Law
On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”), P.L. 116-136,was passed into law, amending portions of certain relevant US tax laws. The CARES Act includes a number of federal income tax law changes, including, but not limited to: (i) permitting net operating loss carrybacks to offset 100% of taxable income for taxable years beginning before 2021, (ii) accelerating alternative minimum tax credit refunds, (iii) temporarily increasing the allowable business interest deduction from 30% to 50% of adjusted taxable income, and (iv) providing a technical correction for depreciation related to qualified improvement property. The CARES Act had no impact on our unaudited condensed consolidated financial statements.
Accounting Pronouncements
Accounting Pronouncements
Recently adopted accounting pronouncements
In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which amends the FASB's guidance on the impairment of financial instruments. The standard adds a new impairment model, known as CECL, which replaces the probable loss model. The CECL impairment model is based on estimates and forecasts of future conditions which requires recognition of a lifetime of expected credit losses at inception on financial assets measured at amortized costs. Our financial assets measured at amortized cost are comprised of accounts receivable, contract assets, and unbilled receivables. We adopted the new standard in the first quarter of 2020 using a modified retrospective approach requiring a cumulative-effect adjustment to the opening accumulated deficit as of the date of adoption. The ASU establishes a new valuation account “allowance for credit losses” replacing the “allowance for doubtful accounts” in the consolidated balance sheet, which is used to adjust the amortized cost basis of assets in presentation of the net amount expected to be collected. The adoption required certain additional disclosures but had no other impact on our unaudited condensed consolidated financial statements.
In January 2017, the FASB issued ASU No. 2017-04, Intangibles - Goodwill and Other (Topic 350): Simplifying the Test for Goodwill Impairment. The amendments eliminate Step 2 from the goodwill impairment test. The annual, or interim, goodwill impairment test is performed by comparing the fair value of a reporting unit to its carrying amount. An impairment charge should be recognized for the amount by which the carrying amount exceeds the reporting unit’s fair value; however, the loss recognized should not exceed the total amount of goodwill allocated to that reporting unit. In addition, income tax effects from any tax-deductible goodwill on the carrying amount of the reporting unit should be considered when measuring the goodwill impairment loss, if applicable. The amendments eliminate the requirements for any reporting unit with a zero or negative carrying amount to perform a qualitative assessment, and if it fails that qualitative test, to perform Step 2 of the goodwill impairment test. An entity still has the option to perform the qualitative assessment for a reporting unit to determine if the quantitative impairment test is necessary. We adopted the standard in the first quarter of 2020 using a prospective approach. The adoption required certain additional disclosures but had no impact on our unaudited condensed consolidated financial statements.
In August 2018, the FASB issued ASU 2018-13, Fair Value Measurement (Topic 820): Disclosure Framework—Changes to the Disclosure Requirements for Fair Value Measurement. The primary focus of the standard is to improve the effectiveness of the disclosure requirements for fair value measurements. The changes affect all companies that are required to include fair value measurement disclosures. The standard requires the use of the prospective method of transition for disclosures related to changes in unrealized gains and losses, the range and weighted average of significant unobservable inputs used to develop fair value measurements categorized within Level 3 of the fair value hierarchy, and narrative description of measurement uncertainty. All other amendments in the standard are required to be adopted retrospectively. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.
In November 2018, the FASB issued ASU 2018-18, Collaborative Arrangements (Topic 808): Clarifying the Interaction Between Topic 808 and Topic 606. ASU 2018-18 provides guidance on how to assess whether certain transactions between collaborative arrangement participants should be accounted for within the revenue recognition standard. The standard also provides more comparability in the presentation of revenue for certain transactions between collaborative arrangement participants. The standard is to be applied retrospectively to the date of the initial application of Topic 606 which also requires recognition of the cumulative effect of applying the amendments as an adjustment to the opening balance of retained earnings
of the later or the earliest annual period presented and the annual period inclusive of the initial application of Topic 606. We adopted the standard in the first quarter of 2020 and the adoption had no impact on our unaudited condensed consolidated financial statements and related disclosures.
Recently issued accounting pronouncements not yet adopted
From time to time, new accounting pronouncements are issued by the FASB or other standards setting bodies that are adopted by us as of the specified effective date. Unless otherwise discussed, we believe that the impact of recently issued standards that are not yet effective will not have a material impact on our unaudited condensed consolidated financial statements upon adoption.
In December 2019, the FASB issued ASU 2019-12, Income Taxes (Topic 740): Simplifying the Accounting for Income Taxes which is intended to simplify various aspects related to accounting for income taxes. The standard is effective for fiscal years, and interim periods within those years, beginning after December 15, 2020, with early adoption permitted. The standard will be adopted upon the effective date for us beginning January 1, 2021. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.
In March 2020, the FASB issued ASU 2020-04, Reference Rate Reform (Topic 848): Facilitation of the Effects of Reference Rate Reform on Financial Reporting. The standard provides optional expedients and exceptions for applying GAAP to contracts, hedging relationships, and other transactions in which the reference LIBOR or another reference rate are expected to be discontinued as a result of the Reference Rate Reform. The standard is effective for all entities. The standard may be adopted as of any date from the beginning of an interim period that includes or is subsequent to March 12, 2020 through December 31, 2022. We are currently evaluating the effects of the standard on our consolidated financial statements and related disclosures.
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition (Tables)
9 Months Ended
Sep. 30, 2020
Revenue from Contract with Customer [Abstract]  
Disaggregation of revenue
The following table provides information about disaggregated revenue from contracts with customers into the nature of the products and services and geographic regions, and includes a reconciliation of the disaggregated revenue with reportable segments. The geographic regions that are tracked are the Americas (United States, Canada and Latin America), EMEA (Europe, Middle East and Africa), and APAC (Australia, New Zealand, Southeast Asia and China).
Segment information is as follows (in thousands):
Three months ended September 30, 2020Three months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
       Product Revenue$8,401 $— $8,401 $10,351 $— $10,351 
Research and development revenue4,604 5,380 9,984 10,073 1,482 11,555 
Total revenues$13,005 $5,380 $18,385 $20,424 $1,482 $21,906 
Primary geographical markets:
Americas
$3,209 $2,632 $5,841 $2,706 $— $2,706 
EMEA
2,141 2,748 4,889 10,723 1,482 12,205 
APAC
7,655 — 7,655 6,995 — 6,995 
Total revenues$13,005 $5,380 $18,385 $20,424 $1,482 $21,906 
Nine months ended September 30, 2020Nine months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Major products and service:
Product revenue$18,005 $— $18,005 $24,588 $— $24,588 
Research and development revenue13,380 16,638 30,018 16,512 8,708 25,220 
Total revenues$31,385 $16,638 $48,023 $41,100 $8,708 $49,808 
Primary geographical markets:
Americas$7,381 $10,591 $17,972 $9,620 $— $9,620 
EMEA8,128 6,047 14,175 15,964 8,708 24,672 
APAC15,876 — 15,876 15,516 — 15,516 
Total revenues$31,385 $16,638 $48,023 $41,100 $8,708 $49,808 
Contract with customer
The following table presents balances of contract assets, unbilled receivables, contract costs, and contract liabilities (in thousands):
September 30, 2020December 31, 2019
Contract Assets$975 $1,027 
Unbilled receivables$14,985 $10,099 
Contract Costs$130 $— 
Contract Liabilities: Deferred Revenue$4,056 $2,044 
During the three and nine months ended September 30, 2020 and 2019, we recognized the following revenues (in thousands):
Three months ended September 30,Nine months ended September 30,
2020201920202019
Amounts included in contract liabilities at the beginning of the period:
     Performance obligations satisfied$708 $5,092 $58 $4,948 
Changes in the period:
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods233 2,641 854 2,460 
Performance obligations satisfied from new activities in the period - contract revenue17,444 14,173 47,111 42,400 
Total revenues$18,385 $21,906 $48,023 $49,808 
Performance obligation, expected timing of satisfaction The following table includes estimated revenue expected to be recognized in the future related to performance obligations
that are unsatisfied or partially unsatisfied at the end of the reporting periods. The estimated revenue does not include contracts with original durations of one year or less, amounts of variable consideration attributable to royalties, or contract renewals that are unexercised as of September 30, 2020.
The balances in the table below are partially based on judgments involved in estimating future orders from customers subject to the exercise of material rights pursuant to respective contracts (in thousands):
Remainder of 202020212022 and ThereafterTotal
Product Revenue$— $364 $1,623 $1,987 
Research and development revenue558 1,012 499 2,069 
Total revenues$558 $1,376 $2,122 $4,056 
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.20.2
Net income (loss) per Share (Tables)
9 Months Ended
Sep. 30, 2020
Earnings Per Share [Abstract]  
Schedule of earnings (loss) per share, basic and diluted
The following table sets forth the computation of basic and diluted net income (loss) per share during the three and nine months ended September 30, 2020 and 2019 (in thousands, except per share amounts):
Three months ended September 30,Nine months ended September 30,
2020201920202019
Numerator:
Net income (loss)(6,094)343 (20,090)(11,300)
Denominator:
Weighted average common stock shares used in computing net income (loss) per share, basic59,061 58,287 58,984 55,818 
Effect of dilutive shares— 3,125 — — 
Weighted average common stock shares used in computing net income (loss) per share, diluted59,061 61,412 58,984 55,818 
Net income (loss) per share, basic$(0.10)$0.01 $(0.34)$(0.20)
Net income (loss) per share, diluted$(0.10)$0.01 $(0.34)$(0.20)
Securities not included in the net loss per common share calculations
The following shares were not considered in the computation of diluted net income (loss) per share because their effect was anti-dilutive (in thousands):
 Three months ended September 30,Nine months ended September 30,
 2020201920202019
Shares issuable under the Equity Incentive Plan5,1821,0195,1825,623
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.20.2
Cash Equivalents and Equity Securities (Tables)
9 Months Ended
Sep. 30, 2020
Cash Equivalents and Marketable Securities [Abstract]  
Schedule of cash equivalents
Cash equivalents at September 30, 2020 and December 31, 2019 consisted of the following (in thousands):
 September 30, 2020December 31, 2019
 Adjusted CostEstimated
Fair Value
Adjusted CostEstimated Fair Value
Money market funds (1)
$51,488 $51,488 $71,248 $71,248 
(1) Money market funds are classified in cash and cash equivalents on our unaudited condensed consolidated balance sheets.
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 2020
Fair Value Disclosures [Abstract]  
Summary of financial instruments measured at fair value on a recurring basis
The following tables present the financial instruments that were measured at fair value on a recurring basis at September 30, 2020 and December 31, 2019 by level within the fair value hierarchy (in thousands):

 September 30, 2020
 Level 1Level 2Level 3Total
Money market funds $51,488 $— $— $51,488 

 December 31, 2019
 Level 1Level 2Level 3Total
Money market funds$71,248 $— $— $71,248 
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.20.2
Balance Sheets Details (Tables)
9 Months Ended
Sep. 30, 2020
Balance Sheets Details [Abstract]  
Schedule of inventory components
Inventories consisted of the following (in thousands):
September 30, 2020December 31, 2019
Raw materials$77 $
Work-in-process28 26 
Finished goods632 338 
    Inventories$737 $371 
Schedule of property and equipment, net
Property and equipment, net consisted of the following (in thousands):
September 30, 2020December 31, 2019
Laboratory equipment$24,837 $23,561 
Leasehold improvements10,774 10,804 
Computer equipment and software3,134 3,016 
Office equipment and furniture1,175 1,461 
Construction in progress602 691 
Property and equipment40,522 39,533 
       Less: accumulated depreciation and amortization(33,233)(33,251)
     Property and equipment, net$7,289 $6,282 
Schedule of other accrued liabilities
Other accrued liabilities consisted of the following (in thousands):
September 30, 2020December 31, 2019
Accrued purchases $3,810 $4,386 
Accrued professional and outside service fees3,142 1,802 
Other618 352 
     Total$7,570 $6,540 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-based Compensation (Tables)
9 Months Ended
Sep. 30, 2020
Share-based Payment Arrangement [Abstract]  
Schedule of stock-based compensation expense
Stock-based compensation expense is included in the unaudited condensed consolidated statements of operations as follows (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
 2020201920202019
Research and development $385 $458 $1,279 $1,249 
Selling, general and administrative1,599 1,274 4,813 4,534 
   Total$1,984 $1,732 $6,092 $5,783 
Schedule of stock-based compensation expense by security types The following table presents total stock-based compensation expense by security type included in the unaudited condensed consolidated statements of operations for the three and nine months ended September 30, 2020 and 2019 (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
 2020201920202019
Stock options$619 $545 $1,735 $1,680 
RSUs and RSAs603 461 1,812 1,308 
PSUs295 368 922 1,075 
PBOs467 358 1,623 1,720 
   Total$1,984 $1,732 $6,092 $5,783 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies (Tables)
9 Months Ended
Sep. 30, 2020
Commitments and Contingencies Disclosure [Abstract]  
Lease cost
Lease related costs were as follows (in thousands):
Three months ended September 30,Nine months ended September 30,
 2020201920202019
Finance lease costs:
Amortization of right-of-use assets$27 $54 $126 $163 
Interest on lease obligations— 
Finance lease costs27 56 127 171 
Operating lease cost1,033 1,139 3,133 3,417 
Short-term lease cost (1)
— — 47 — 
Sublease income— (262)(55)(727)
Total lease cost$1,060 $933 $3,252 $2,861 
(1) Short-term lease costs on leases with terms of over one month and less than one year.
Other information related to non-cancellable finance leases and operating leases as of September 30, 2020 was as follows:
Operating Leases
Weighted-average remaining lease term (in years)6.9 years
Weighted-average discount rate6.6 %
Cash paid for amounts included in the measurement of lease obligations was as follows (in thousands):
Nine months ended September 30,
20202019
Operating cash flows from operating leases$1,795 $2,456 
Operating cash flows from finance leases$— $
Financing cash flows from finance leases$60 $180 
Operating lease maturity
As of September 30, 2020, our maturity analysis of annual undiscounted cash flows of the non-cancellable finance and operating leases are as follows (in thousands):
Years ending December 31,Operating Leases
2020 (remaining 3 months)$1,022 
20214,197 
20224,285 
20234,589 
20244,726 
2025 and thereafter13,494 
Total minimum lease payments32,313 
Less: imputed interest(6,758)
Lease Obligations$25,555 
Finance lease liability
As of September 30, 2020, our maturity analysis of annual undiscounted cash flows of the non-cancellable finance and operating leases are as follows (in thousands):
Years ending December 31,Operating Leases
2020 (remaining 3 months)$1,022 
20214,197 
20224,285 
20234,589 
20244,726 
2025 and thereafter13,494 
Total minimum lease payments32,313 
Less: imputed interest(6,758)
Lease Obligations$25,555 
Schedule of supply and service commitments
The following table provides quantitative data regarding our other commitments. Future minimum payments reflect amounts that we expect to pay including potential obligations under services agreements subject to risk of cancellation by us (in thousands):
Other Commitment Agreement TypeAgreement DateFuture Minimum Payment
Manufacture and supply agreement with expected future payment date of December 2022April 2016$532 
Development and manufacturing services agreementsSeptember 20193,806 
Strategic Collaboration and License AgreementMarch 2020520 
Total other commitments$4,858 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information (Tables)
9 Months Ended
Sep. 30, 2020
Segment Reporting [Abstract]  
Schedule of segment reporting
The following tables provide financial information by our reportable business segments along with a reconciliation to consolidated income (loss) before income taxes (in thousands):
Three months ended September 30, 2020Three months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$8,401 $— $8,401 $10,351 $— $10,351 
Research and development revenue4,604 5,380 9,984 10,073 1,482 11,555 
Total revenues13,005 5,380 18,385 20,424 1,482 21,906 
Costs and operating expenses:
Cost of product revenue3,642 — 3,642 5,067 — 5,067 
Research and development(1)
5,184 6,433 11,617 5,313 3,080 8,393 
Selling, general and administrative(1)
2,675 515 3,190 2,037 690 2,727 
Total segment costs and operating expenses11,501 6,948 18,449 12,417 3,770 16,187 
Income (loss) from operations$1,504 $(1,568)(64)$8,007 $(2,288)5,719 
Corporate costs (2)
(5,483)(4,912)
Depreciation and amortization(528)(471)
Income (loss) before income taxes$(6,075)$336 
(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.
Nine months ended September 30, 2020Nine months ended September 30, 2019
Performance EnzymesNovel BiotherapeuticsTotalPerformance EnzymesNovel BiotherapeuticsTotal
Revenues:
Product revenue$18,005 $— $18,005 $24,588 $— $24,588 
Research and development revenue13,380 16,638 30,018 16,512 8,708 25,220 
Total revenues31,385 16,638 48,023 41,100 8,708 49,808 
Costs and operating expenses:
Cost of product revenue7,882 — 7,882 12,230 — 12,230 
Research and development(1)
15,877 16,848 32,725 14,889 9,252 24,141 
Selling, general and administrative(1)
7,395 1,728 9,123 6,499 1,768 8,267 
Total segment costs and operating expenses31,154 18,576 49,730 33,618 11,020 44,638 
Income (loss) from operations$231 $(1,938)(1,707)$7,482 $(2,312)5,170 
Corporate costs (2)
(16,526)(15,185)
Depreciation and amortization(1,526)(1,273)
Loss before income taxes$(19,759)$(11,288)
(1) Research and development expenses and Selling, general and administrative expenses exclude depreciation and amortization of finance leases.
(2) Corporate costs include unallocated selling, general and administrative expense, interest income, and other income and expenses.
The following tables provides stock-based compensation expense included in income (loss) from operations (in thousands):

Three months ended September 30,
20202019
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$839 $132 $1,013 $1,984 $736 $225 $771 $1,732 
Nine months ended September 30,
20202019
Performance EnzymesNovel BiotherapeuticsCorporate costTotalPerformance EnzymesNovel BiotherapeuticsCorporate costTotal
Stock-based compensation$2,335 $625 $3,132 $6,092 $1,973 $563 $3,247 $5,783 
Schedule of customers that contributed 10% or more of total accounts receivable
Significant Customers
Customers that each accounted for 10% or more of our total revenues were as follows:
Percentage of Total Revenues for the
Three Months Ended September 30,Nine Months Ended September 30,
2020201920202019
Customer A23%21%21%31%
Customer B15%*13%17%
Customer C*29%11%15%
Customer D14%*22%*
Customer E13%***
Customers that each accounted for 10% or more of accounts receivable had balances as of the periods presented as follows:
Percentage of Accounts Receivables as of
September 30, 2020December 31, 2019
Customer A36%38%
Customer B28%10%
Customer D14%*
* Percentage was less than 10%
Schedule of revenues by geographical area
Geographic revenues are identified by the location of the customer and consist of the following (in thousands):
 Three Months Ended September 30,Nine months ended September 30,
2020201920202019
Revenues
Americas$5,841 $2,706 $17,972 $9,620 
EMEA4,889 12,205 14,175 24,672 
APAC7,655 6,995 15,876 15,516 
Total revenues$18,385 $21,906 $48,023 $49,808 
Schedule of long-lived assets by geographical area
Identifiable long-lived assets by location was as follows (in thousands):
Long-lived assetsSeptember 30, 2020December 31, 2019
United States$7,289 $6,282 
Schedule of intangible assets and goodwill
Identifiable goodwill was as follows (in thousands):
As of September 30, 2020 and December 31, 2019
Performance EnzymesNovel BiotherapeuticsTotal
Goodwill$2,463 $778 $3,241 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.20.2
Allowance for Credit Losses (Tables)
9 Months Ended
Sep. 30, 2020
Receivables [Abstract]  
Analysis of allowance for credit losses
An analysis of the allowance for credit losses is as follows (in thousands):
Three and nine
months ended
September 30, 2020
Beginning Balance January 1, 2020$34 
Current period provision40 
Write-offs charged against the allowance— 
Recoveries of amounts previously written off— 
Ending Balance September 30, 2020$74 
Summary of accounts receivable by aging
The following tables below summarizes accounts receivable by aging category (in thousands):
September 30, 2020
31-60 Days61-90 Days91 days and overTotal over 31 daysCurrentTotal balance
Accounts receivable$160 $— $— $160 $10,551 $10,711 

December 31, 2019
31-60 Days61-90 Days91 days and overTotal over 31 daysCurrentTotal balance
Accounts receivable$185 $$65 $257 $8,806 $9,063 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.20.2
Description of Business (Details)
$ in Millions
1 Months Ended
Mar. 31, 2020
USD ($)
program
Dec. 31, 2018
USD ($)
Nestec Ltd. (Nestle Health Sciences) [Member] | CDX-6114 [Member] | Collaborative Arrangement [Member]    
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]    
Milestone payment amount | $   $ 1.0
Duration to pay after milestone achievement (in days)   60 days
Takeda [Member]    
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]    
Number of initial programs | program 3  
Number of additional programs | program 4  
One-time, non-refundable cash payment | $ $ 8.5  
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.20.2
Basis of Presentation and Summary of Significant Accounting Policies (Details)
$ in Thousands
9 Months Ended
Jan. 01, 2018
USD ($)
reportingUnit
Sep. 30, 2020
USD ($)
reportingUnit
Sep. 30, 2020
USD ($)
segment
Dec. 31, 2019
USD ($)
New Accounting Pronouncements or Change in Accounting Principle [Line Items]        
Number of reporting units | reportingUnit 2 2    
Goodwill   $ 3,241 $ 3,241 $ 3,241
Number of reportable segments   2 2  
Performance Enzymes [Member]        
New Accounting Pronouncements or Change in Accounting Principle [Line Items]        
Goodwill, allocated percent 76.00%      
Goodwill $ 2,400      
Novel Biotherapeutics [Member]        
New Accounting Pronouncements or Change in Accounting Principle [Line Items]        
Goodwill, allocated percent 24.00%      
Goodwill $ 800      
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Disaggregation of Revenue [Line Items]        
Total revenues $ 18,385 $ 21,906 $ 48,023 $ 49,808
Americas [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 5,841 2,706 17,972 9,620
EMEA [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 4,889 12,205 14,175 24,672
APAC [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 7,655 6,995 15,876 15,516
Product Revenue [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 8,401 10,351 18,005 24,588
Research and Development Revenue [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 9,984 11,555 30,018 25,220
Performance Enzymes [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 13,005 20,424 31,385 41,100
Performance Enzymes [Member] | Americas [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 3,209 2,706 7,381 9,620
Performance Enzymes [Member] | EMEA [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 2,141 10,723 8,128 15,964
Performance Enzymes [Member] | APAC [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 7,655 6,995 15,876 15,516
Performance Enzymes [Member] | Product Revenue [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 8,401 10,351 18,005 24,588
Performance Enzymes [Member] | Research and Development Revenue [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 4,604 10,073 13,380 16,512
Novel Biotherapeutics [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 5,380 1,482 16,638 8,708
Novel Biotherapeutics [Member] | Americas [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 2,632 0 10,591 0
Novel Biotherapeutics [Member] | EMEA [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 2,748 1,482 6,047 8,708
Novel Biotherapeutics [Member] | APAC [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 0 0 0 0
Novel Biotherapeutics [Member] | Product Revenue [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues 0 0 0 0
Novel Biotherapeutics [Member] | Research and Development Revenue [Member]        
Disaggregation of Revenue [Line Items]        
Total revenues $ 5,380 $ 1,482 $ 16,638 $ 8,708
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Contracts with Customer (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Revenue from Contract with Customer [Abstract]    
Contract assets $ 975 $ 1,027
Unbilled receivables 14,985 10,099
Contract Costs 130 0
Contract Liabilities: Deferred Revenue $ 4,056 $ 2,044
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Textual (Details) - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Revenue from Contract with Customer [Abstract]        
Impairment charges related to contract assets $ 0 $ 0 $ 0 $ 0
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Revenue Recognized During Period (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Revenue from Contract with Customer [Abstract]        
Performance obligations satisfied $ 708 $ 5,092 $ 58 $ 4,948
Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods 233 2,641 854 2,460
Performance obligations satisfied from new activities in the period - contract revenue 17,444 14,173 47,111 42,400
Total revenues $ 18,385 $ 21,906 $ 48,023 $ 49,808
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.20.2
Revenue Recognition - Performance Obligation (Details)
$ in Thousands
Sep. 30, 2020
USD ($)
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 4,056
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 558
Expected timing of satisfaction, period 3 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,376
Expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 2,122
Expected timing of satisfaction, period
Product Revenue [Member]  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,987
Product Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 0
Expected timing of satisfaction, period 3 months
Product Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 364
Expected timing of satisfaction, period 1 year
Product Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,623
Expected timing of satisfaction, period
Research and Development Revenue [Member]  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 2,069
Research and Development Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 558
Expected timing of satisfaction, period 3 months
Research and Development Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 1,012
Expected timing of satisfaction, period 1 year
Research and Development Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01  
Revenue, Initial Application Period Cumulative Effect Transition [Line Items]  
Performance obligation $ 499
Expected timing of satisfaction, period
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.20.2
Net income (loss) per Share - Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Earnings Per Share [Abstract]        
Net income $ (6,094) $ 343 $ (20,090) $ (11,300)
Denominator:        
Weighted average common stock shares used in computing net income (loss) per share, basic (shares) 59,061 58,287 58,984 55,818
Effect of dilutive shares (shares) 0 3,125 0 0
Weighted average common stock shares used in computing net income (loss) per share, diluted (shares) 59,061 61,412 58,984 55,818
Net income (loss) per share, basic (usd per share) $ (0.10) $ 0.01 $ (0.34) $ (0.20)
Net income (loss) per share, diluted (usd per share) $ (0.10) $ 0.01 $ (0.34) $ (0.20)
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.20.2
Net income (loss) per Share - Anti-Dilutive Securities (Details) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Shares Issuable Under the Equity Incentive Plan [Member]        
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]        
Total shares excluded as anti-dilutive (shares) 5,182 1,019 5,182 5,623
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - GSK Platform Technology Transfer, Collaboration and License Agreement (Details) - USD ($)
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Jul. 31, 2014
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized $ 18,385,000 $ 21,906,000 $ 48,023,000 $ 49,808,000    
GSK [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized         $ 2,000,000.0  
GSK [Member] | Research and Development Revenue [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized $ 0 $ 2,000,000.0 $ 0 $ 2,000,000.0    
GSK [Member] | Minimum [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contingent receivable           $ 5,750,000
GSK [Member] | Maximum [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contingent receivable           $ 38,500,000
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Merck Platform Technology Transfer and License Agreement (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Aug. 31, 2015
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized $ 18,385 $ 21,906 $ 48,023 $ 49,808    
Contract with customer, liability 4,056   4,056   $ 2,044  
Merck [Member] | Technology Transfer, Collaboration and License Agreement [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contingent receivable           $ 15,000
Merck [Member] | Technology Transfer, Collaboration and License Agreement [Member] | Research and Development Revenue [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized $ 1,100 1,100 $ 2,100 4,000    
Merck [Member] | Technology Transfer, Collaboration and License Agreement [Member] | License Fee [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized   $ 100   $ 1,000    
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Merck Sitagliptin Catalyst Supply Agreement (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
Dec. 31, 2015
Feb. 29, 2012
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized     $ 18,385 $ 21,906 $ 48,023 $ 49,808
Merck [Member] | Supply Agreement [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Term of collaborative research and development agreement   5 years        
Optional extension period 5 years          
Merck [Member] | Supply Agreement [Member] | Product Revenue [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Revenue recognized     $ 3,200 $ 3,600 $ 7,000 $ 11,400
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Enzyme Supply Agreement (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]    
Contract with customer, liability $ 4,056 $ 2,044
Supply Agreement [Member]    
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]    
Contract with customer, liability $ 2,000 $ 2,000
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Global Development, Option and License Agreement, Strategic Collaboration Agreement, and Development Agreement (Details) - USD ($)
1 Months Ended 3 Months Ended 9 Months Ended 12 Months Ended
Oct. 31, 2017
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Sep. 30, 2018
Dec. 31, 2017
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability   $ 4,056,000   $ 4,056,000   $ 2,044,000    
Revenue recognized   18,385,000 $ 21,906,000 48,023,000 $ 49,808,000      
Nestec Ltd. (Nestle Health Sciences) [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Revenue recognized   2,800,000 1,400,000 6,100,000 3,900,000      
Nestec Ltd. (Nestle Health Sciences) [Member] | Strategic Collaboration Agreement [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability             $ 600,000 $ 1,200,000
Nestec Ltd. (Nestle Health Sciences) [Member] | Global Development, Option and License Agreement [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability $ 14,000,000.0              
Revenue recognized   $ 0 $ 100,000 $ 0 $ 1,800,000      
Nestec Ltd. (Nestle Health Sciences) [Member] | Global Development, Option and License Agreement [Member] | Sales-Based Milestone [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Target sales for milestone 1,000,000,000.0              
Nestec Ltd. (Nestle Health Sciences) [Member] | Global Development, Option and License Agreement [Member] | Maximum [Member] | Research and Development Agreement [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contingent receivable 85,000,000.0              
Nestec Ltd. (Nestle Health Sciences) [Member] | Global Development, Option and License Agreement [Member] | Maximum [Member] | Sales-Based Milestone [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contingent receivable 250,000,000.0              
Nestec Ltd. (Nestle Health Sciences) [Member] | Global Development, Option and License Agreement [Member] | Milestone One [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability 4,000,000.0              
Nestec Ltd. (Nestle Health Sciences) [Member] | Global Development, Option and License Agreement [Member] | Milestone Two [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability $ 1,000,000.0              
Nestec Ltd. (Nestle Health Sciences) [Member] | CDX-6114 [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Cumulative catch-up adjustment to revenue, change in measure of progress           $ 3,000,000.0    
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Strategic Collaboration Agreement (Details) - USD ($)
1 Months Ended 3 Months Ended 9 Months Ended
Apr. 30, 2020
Apr. 30, 2018
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2018
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability     $ 4,056,000     $ 4,056,000   $ 2,044,000
Revenue recognized     18,385,000 $ 21,906,000   48,023,000 $ 49,808,000  
Porton [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability     100,000     100,000   $ 0
Revenue recognized $ 1,000,000.0   $ 0 $ 0 $ 2,800,000 $ 1,100,000 $ 0  
Porton [Member] | Milestone One [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contract with customer, liability   $ 500,000            
Number of days for payment   30 days            
Porton [Member] | Milestone Two [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contingent receivable   $ 1,500,000            
Porton [Member] | Milestone Three [Member]                
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]                
Contingent receivable   $ 1,000,000.0            
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Platform Technology Transfer and License Agreement (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
May 31, 2019
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Jun. 30, 2020
Dec. 31, 2019
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]              
Contract with customer, liability   $ 4,056   $ 4,056     $ 2,044
Revenue recognized   18,385 $ 21,906 48,023 $ 49,808    
Novartis [Member]              
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]              
Term of collaborative research and development agreement 23 months            
Contract with customer, liability $ 5,000            
Revenue recognized   $ 900 $ 3,800 $ 4,100 $ 3,800    
Novartis [Member] | Royalty [Member]              
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]              
Term of collaborative research and development agreement 23 months            
Novartis [Member] | Computer Equipment and Software [Member]              
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]              
Contingent annual receivable increase $ 8,000            
Novartis [Member] | Milestone One [Member]              
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]              
Contingent receivable           $ 4,000  
Novartis [Member] | Milestone Two [Member]              
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]              
Contingent receivable $ 5,000            
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - License Agreement (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
Dec. 31, 2019
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Revenue recognized   $ 18,385 $ 21,906 $ 48,023 $ 49,808
Roche [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Revenue recognized   $ 100   $ 900  
Roche [Member] | Milestone One [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Number of days for payment 45 days        
Roche [Member] | Milestone Two [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Number of days for payment 60 days        
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Strategic Collaboration and License Agreement (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Mar. 31, 2020
Dec. 31, 2019
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contract with customer, liability $ 4,056   $ 4,056     $ 2,044
Revenue recognized 18,385 $ 21,906 48,023 $ 49,808    
Takeda [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contract with customer, liability 1,900   1,900      
Revenue recognized $ 2,600   $ 10,600      
Takeda [Member] | Up-front Payment [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contract with customer, liability         $ 8,500  
Takeda [Member] | Research and Development Reimbursement [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contingent receivable         18,300  
Takeda [Member] | Milestone Payment Per Target Gene [Member]            
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]            
Contingent receivable         $ 100,000  
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Master Collaboration and Research Agreement and Stock Purchase Agreement (Details) - USD ($)
1 Months Ended 3 Months Ended 9 Months Ended
Jun. 30, 2020
Sep. 30, 2020
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Payments to acquire other investments     $ 1,000,000 $ 0  
Contract with customer, liability   $ 4,056,000 $ 4,056,000   $ 2,044,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Expected timing of satisfaction, period   3 months 3 months    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Expected timing of satisfaction, period   1 year 1 year    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Expected timing of satisfaction, period      
Research and Development Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Expected timing of satisfaction, period   3 months 3 months    
Research and Development Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Expected timing of satisfaction, period   1 year 1 year    
Research and Development Revenue [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Expected timing of satisfaction, period      
Molecular Assemblies, Inc. [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Due from affiliate   $ 500,000 $ 500,000    
Molecular Assemblies, Inc. [Member] | MCRA [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Research and development revenue from transactions with MAI   $ 500,000 $ 500,000    
Molecular Assemblies, Inc. [Member] | MCRA [Member] | Fixed Consideration [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Number of days for payment 30 days        
Molecular Assemblies, Inc. [Member] | MCRA [Member] | Bonus Goal Met [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Number of days for payment 30 days        
Molecular Assemblies, Inc. [Member] | CESA [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Aggregate commercial sales, milestone $ 5,000,000.0        
Molecular Assemblies, Inc. [Member] | CESA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-06-22          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Expected timing of satisfaction, period 6 months        
Molecular Assemblies, Inc. [Member] | CESA [Member] | Royalty [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Contract with customer, liability $ 500,000        
Molecular Assemblies, Inc. [Member] | Series A Preferred Stock [Member]          
Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]          
Number of shares purchased 1,587,050        
Payments to acquire other investments $ 1,000,000.0        
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.20.2
Collaborative Arrangements - Performance Period (Details)
Sep. 30, 2020
Jun. 30, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period 3 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period  
Molecular Assemblies, Inc. [Member] | CESA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-06-22    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   6 months
Molecular Assemblies, Inc. [Member] | Minimum [Member] | MCRA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-02-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   10 months
Molecular Assemblies, Inc. [Member] | Maximum [Member] | MCRA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   13 months
Molecular Assemblies, Inc. [Member] | Maximum [Member] | MCRA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-08-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   13 months
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.20.2
Cash Equivalents and Equity Securities - Components of Cash Equivalents (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Sep. 30, 2019
Cash Equivalents and Marketable Securities [Line Items]      
Cash and cash equivalents $ 71,516 $ 90,498 $ 92,143
Money Market Funds [Member]      
Cash Equivalents and Marketable Securities [Line Items]      
Cash and cash equivalents 51,488 71,248  
Cash and cash equivalents, fair value $ 51,488 $ 71,248  
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.20.2
Cash Equivalents and Equity Securities - Textual (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Sep. 30, 2019
Cash and Cash Equivalents [Line Items]      
Cash and cash equivalents $ 71,516 $ 90,498 $ 92,143
Investment at cost basis $ 1,000 0  
Molecular Assemblies, Inc. [Member]      
Cash and Cash Equivalents [Line Items]      
Ownership percentage 4.00%    
Money Market Funds [Member]      
Cash and Cash Equivalents [Line Items]      
Cash and cash equivalents $ 51,488 71,248  
Cash [Member]      
Cash and Cash Equivalents [Line Items]      
Cash and cash equivalents $ 20,000 $ 19,300  
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.20.2
Fair Value Measurements (Details) - Money Market Funds [Member] - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Summary of financial instruments measured at fair value on a recurring basis    
Money market funds $ 51,488 $ 71,248
Level 1 [Member]    
Summary of financial instruments measured at fair value on a recurring basis    
Money market funds $ 51,488 $ 71,248
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.20.2
Balance Sheets Details - Inventories (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Schedule of Inventory Components    
Raw materials $ 77 $ 7
Work-in-process 28 26
Finished goods 632 338
Inventories $ 737 $ 371
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.20.2
Balance Sheets Details - Property and Equipment, net (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Property, Plant and Equipment [Line Items]    
Property and equipment $ 40,522 $ 39,533
Less: accumulated depreciation and amortization (33,233) (33,251)
Property and equipment, net 7,289 6,282
Laboratory equipment [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment 24,837 23,561
Leasehold improvements [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment 10,774 10,804
Computer equipment and software [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment 3,134 3,016
Office equipment and furniture [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment 1,175 1,461
Construction in progress [Member]    
Property, Plant and Equipment [Line Items]    
Property and equipment $ 602 $ 691
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.20.2
Balance Sheets Details - Goodwill (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Balance Sheet Details [Abstract]    
Goodwill $ 3,241 $ 3,241
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.20.2
Balance Sheets Details - Other Accrued Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Balance Sheets Details [Abstract]    
Accrued purchases $ 3,810 $ 4,386
Accrued professional and outside service fees 3,142 1,802
Other 618 352
Total $ 7,570 $ 6,540
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-based Compensation - Equity Incentive Plans (Details) - 2019 Plan [Member]
Jun. 30, 2019
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Number of shares available for grant 7,897,144
Maximum number of shares to be issued upon exercise of stock options 14,000,000
Number of shares authorized 8,100,000
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-based Compensation - Stock Options (Details)
9 Months Ended
Sep. 30, 2020
Incentive Stock Options [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Purchase price of common stock 100.00%
Non-Statutory Stock Options [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Purchase price of common stock 85.00%
Stock Options [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Percent of voting interests 10.00%
Purchase price of common stock above minimum threshold 110.00%
Expiration period 10 years
Award vesting period 4 years
Stock Options [Member] | Tranche One [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting rights (percent) 25.00%
Stock Options [Member] | Tranche Two [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting rights (percent) 75.00%
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-based Compensation - Restricted Stock Units (Details) - RSUs [Member]
9 Months Ended
Sep. 30, 2020
Tranche One [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 3 years
Award vesting rights (percent) 33.00%
Tranche Two [Member]  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 4 years
Award vesting rights (percent) 25.00%
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-based Compensation - PSUs and PBOs (Details) - Performance Shares [Member] - installment
3 Months Ended 9 Months Ended
Mar. 31, 2021
Mar. 31, 2020
Mar. 31, 2019
Sep. 30, 2020
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Performance awards, threshold level, number of shares, multiplier       0
2019 Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Number of installments       2
2019 Plan [Member] | Tranche One [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)       50.00%
2019 Plan [Member] | Tranche Two [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)       50.00%
2020 PSU and PBO Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate       100.00%
2019 PSU and PBO Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate   106.00%    
2019 PSU and PBO Plan [Member] | Tranche One [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)   50.00%    
2019 PSU and PBO Plan [Member] | Tranche Two [Member] | Forecast [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent) 50.00%      
2018 PSU and PBO Plan [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Estimated performance goal achievement rate     118.00%  
2018 PSU and PBO Plan [Member] | Tranche One [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)     50.00%  
2018 PSU and PBO Plan [Member] | Tranche Two [Member]        
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]        
Award vesting rights (percent)   50.00%    
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.20.2
Stock-based Compensation - Stock-based Compensation Expense (Details) - USD ($)
$ in Thousands
1 Months Ended 3 Months Ended 9 Months Ended
Aug. 31, 2020
Jun. 30, 2020
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Schedule of stock-based compensation expense            
Stock-based compensation     $ 1,984 $ 1,732 $ 6,092 $ 5,783
Nonemployee [Member]            
Schedule of stock-based compensation expense            
Number of options granted (shares) 16,000 60,000        
Fair value of options granted $ 100 $ 300        
Stock Options [Member]            
Schedule of stock-based compensation expense            
Stock-based compensation     619 545 $ 1,735 1,680
Award vesting period         4 years  
Compensation not yet recognized, stock options     4,200   $ 4,200  
Stock Options [Member] | Tranche One [Member]            
Schedule of stock-based compensation expense            
Award vesting rights (percent)         25.00%  
Stock Options [Member] | Tranche Two [Member]            
Schedule of stock-based compensation expense            
Award vesting rights (percent)         75.00%  
RSUs and RSAs [Member]            
Schedule of stock-based compensation expense            
Stock-based compensation     603 461 $ 1,812 1,308
Compensation not yet recognized, share-based awards other than options     2,300   2,300  
PSUs [Member]            
Schedule of stock-based compensation expense            
Stock-based compensation     295 368 922 1,075
Compensation not yet recognized, share-based awards other than options     800   800  
PBOs [Member]            
Schedule of stock-based compensation expense            
Stock-based compensation     467 358 1,623 1,720
Compensation not yet recognized, share-based awards other than options     1,300   1,300  
Non-Employee Stock Options [Member]            
Schedule of stock-based compensation expense            
Compensation not yet recognized, stock options     300   300  
Non-Employee Stock Options [Member] | Nonemployee [Member]            
Schedule of stock-based compensation expense            
Expected volatility rate 50.50% 51.90%        
Risk free interest rate 0.30% 0.40%        
Expected dividend yield 0.00% 0.00%        
Award vesting period 1 year 2 years        
Stock-based compensation expense     43   47  
Non-Employee Stock Options [Member] | Nonemployee [Member] | Tranche One [Member]            
Schedule of stock-based compensation expense            
Award vesting rights (percent)   50.00%        
Non-Employee Stock Options [Member] | Nonemployee [Member] | Tranche Two [Member]            
Schedule of stock-based compensation expense            
Award vesting rights (percent) 100.00% 50.00%        
Research and Development [Member]            
Schedule of stock-based compensation expense            
Stock-based compensation     385 458 1,279 1,249
Selling, General and Administrative [Member]            
Schedule of stock-based compensation expense            
Stock-based compensation     $ 1,599 $ 1,274 $ 4,813 $ 4,534
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.20.2
Capital Stock - Exercise of Options (Details) - USD ($)
$ / shares in Units, $ in Thousands
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Equity [Abstract]    
Stock options exercised (shares) 87,240 970,256
Weighted average exercise price of stock options exercised (usd per share) $ 6.17 $ 4.76
Proceeds from exercises of stock options $ 539 $ 4,621
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.20.2
Capital Stock - Private Offering (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 9 Months Ended
Jun. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Subsidiary, Sale of Stock [Line Items]      
Issuance costs   $ 0 $ 129
Private Offering [Member]      
Subsidiary, Sale of Stock [Line Items]      
Number of shares issued and sold 3,048,780    
Purchase price (usd per share) $ 16.40    
Issuance costs $ 74    
Net proceeds received $ 49,900    
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Textual (Details)
1 Months Ended 9 Months Ended 12 Months Ended
Jun. 30, 2017
USD ($)
Apr. 30, 2017
USD ($)
Feb. 28, 2017
USD ($)
Sep. 30, 2020
USD ($)
ft²
security
numberOfRenewalOption
Dec. 31, 2019
USD ($)
Apr. 30, 2020
ft²
Jan. 31, 2020
ft²
Commitments and Contingencies [Line Items]              
Area of real estate property (square feet) | ft²       77,300      
Number of buildings leased | security       4      
Number of options to extend | numberOfRenewalOption       2      
Renewal term       5 years      
Asset retirement obligations       $ 200,000 $ 200,000    
Accretion expense related to asset retirement obligation       0 0    
Capital lease obligations incurred   $ 300,000 $ 400,000        
Term of contract   3 years 3 years        
Credit Availability Concentration Risk [Member]              
Commitments and Contingencies [Line Items]              
Concentration risk, percentage 80.00%            
Indemnification Agreement [Member]              
Commitments and Contingencies [Line Items]              
Loss contingency accrual       $ 0      
Term Loan [Member]              
Commitments and Contingencies [Line Items]              
Borrowing capacity $ 10,000,000.0            
Basis spread on variable rate (percent)       0.50%      
Stated interest rate       3.75%      
Revolving Credit Facility [Member]              
Commitments and Contingencies [Line Items]              
Borrowing capacity $ 5,000,000.0            
Basis spread on variable rate (percent)       1.00%      
Stated interest rate       4.25%      
Demand Deposits [Member]              
Commitments and Contingencies [Line Items]              
Non-current restricted cash       $ 1,100,000 $ 1,100,000    
200-220 Penobscot [Member]              
Commitments and Contingencies [Line Items]              
Area of real estate property (square feet) | ft²       28,200      
400 Penobscot [Member]              
Commitments and Contingencies [Line Items]              
Area of real estate property (square feet) | ft²       37,900      
501 Chesapeake [Member]              
Commitments and Contingencies [Line Items]              
Area of real estate property (square feet) | ft²       11,200      
101 Saginaw [Member]              
Commitments and Contingencies [Line Items]              
Area of real estate property (square feet) | ft²             29,900
Sublease [Member]              
Commitments and Contingencies [Line Items]              
Area of real estate property (square feet) | ft²           3,400 26,500
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Finance lease costs:        
Amortization of right-of-use assets $ 27 $ 54 $ 126 $ 163
Interest on lease obligations 0 2 1 8
Finance lease costs 27 56 127 171
Operating lease cost 1,033 1,139 3,133 3,417
Short-term lease cost 0 0 47 0
Sublease income 0 (262) (55) (727)
Total lease cost $ 1,060 $ 933 $ 3,252 $ 2,861
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Other Lease Information (Details)
Sep. 30, 2020
Commitments and Contingencies Disclosure [Abstract]  
Weighted-average remaining lease term (in years) 6 years 10 months 24 days
Weighted-average discount rate 6.60%
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Cash Paid for Lease Obligations (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Commitments and Contingencies Disclosure [Abstract]    
Operating cash flows from operating leases $ 1,795 $ 2,456
Operating cash flows from finance leases 0 9
Finance Lease, Principal Payments $ 60 $ 180
XML 81 R70.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Future Minimum Lease Payments (Details)
$ in Thousands
Sep. 30, 2020
USD ($)
Operating Leases  
2020 (remaining 3 months) $ 1,022
2021 4,197
2022 4,285
2023 4,589
2024 4,726
2025 and thereafter 13,494
Total minimum lease payments 32,313
Less: imputed interest (6,758)
Lease Obligations $ 25,555
XML 82 R71.htm IDEA: XBRL DOCUMENT v3.20.2
Commitments and Contingencies - Other Commitments (Details) - Supply Commitment [Member]
$ in Thousands
Sep. 30, 2020
USD ($)
Other Commitments [Line Items]  
Future Minimum Payment $ 4,858
April 2016 [Member]  
Other Commitments [Line Items]  
Future Minimum Payment 532
September 2019 [Member]  
Other Commitments [Line Items]  
Future Minimum Payment 3,806
March 2020 [Member]  
Other Commitments [Line Items]  
Future Minimum Payment $ 520
XML 83 R72.htm IDEA: XBRL DOCUMENT v3.20.2
Related Party - Molecular Assemblies, Inc. (Details) - USD ($)
1 Months Ended 3 Months Ended 9 Months Ended
Jun. 30, 2020
Sep. 30, 2020
Sep. 30, 2020
Dec. 31, 2019
Related Party Transaction [Line Items]        
Contract with customer, liability   $ 4,056,000 $ 4,056,000 $ 2,044,000
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01        
Related Party Transaction [Line Items]        
Expected timing of satisfaction, period   3 months 3 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01        
Related Party Transaction [Line Items]        
Expected timing of satisfaction, period   1 year 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01        
Related Party Transaction [Line Items]        
Expected timing of satisfaction, period    
Molecular Assemblies, Inc. [Member]        
Related Party Transaction [Line Items]        
Due from affiliate   $ 500,000 $ 500,000  
Molecular Assemblies, Inc. [Member] | MCRA [Member]        
Related Party Transaction [Line Items]        
Research and development revenue from transactions with MAI   $ 500,000 $ 500,000  
Molecular Assemblies, Inc. [Member] | MCRA [Member] | Maximum [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01        
Related Party Transaction [Line Items]        
Expected timing of satisfaction, period 13 months      
Molecular Assemblies, Inc. [Member] | MCRA [Member] | Maximum [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-08-01        
Related Party Transaction [Line Items]        
Expected timing of satisfaction, period 13 months      
Molecular Assemblies, Inc. [Member] | MCRA [Member] | Minimum [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-02-01        
Related Party Transaction [Line Items]        
Expected timing of satisfaction, period 10 months      
Molecular Assemblies, Inc. [Member] | CESA [Member]        
Related Party Transaction [Line Items]        
Aggregate commercial sales, milestone $ 5,000,000.0      
Molecular Assemblies, Inc. [Member] | CESA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-06-22        
Related Party Transaction [Line Items]        
Expected timing of satisfaction, period 6 months      
Molecular Assemblies, Inc. [Member] | CESA [Member] | Royalty [Member]        
Related Party Transaction [Line Items]        
Contract with customer, liability $ 500,000      
XML 84 R73.htm IDEA: XBRL DOCUMENT v3.20.2
Related Party - Performance Period (Details)
Sep. 30, 2020
Jun. 30, 2020
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-10-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period 3 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-01-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period 1 year  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2022-01-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period  
Molecular Assemblies, Inc. [Member] | CESA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2020-06-22    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   6 months
Molecular Assemblies, Inc. [Member] | Minimum [Member] | MCRA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-02-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   10 months
Molecular Assemblies, Inc. [Member] | Maximum [Member] | MCRA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-07-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   13 months
Molecular Assemblies, Inc. [Member] | Maximum [Member] | MCRA [Member] | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2021-08-01    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]    
Expected timing of satisfaction, period   13 months
XML 85 R74.htm IDEA: XBRL DOCUMENT v3.20.2
Related Party - AstraZeneca PLC (Details) - Director [Member] - Transactions With AstraZeneca PLC [Member] - USD ($)
3 Months Ended 9 Months Ended
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Related Party Transaction [Line Items]        
Revenue from related parties $ 200,000 $ 100,000 $ 600,000  
Accounts receivable from related parties   $ 0   $ 0
XML 86 R75.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information - Textual (Details) - 9 months ended Sep. 30, 2020
reportingUnit
segment
Segment Reporting [Abstract]    
Number of operating segments   2
Number of reportable segments 2 2
XML 87 R76.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information - Segment Reporting (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Segment Reporting Information [Line Items]        
Total revenues $ 18,385 $ 21,906 $ 48,023 $ 49,808
Cost of product revenue 3,642 5,067 7,882 12,230
Research and development 12,010 8,711 33,830 25,000
Selling, general and administrative 8,797 7,869 26,307 24,180
Total costs and operating expenses 24,449 21,647 68,019 61,410
Income (loss) from operations (6,064) 259 (19,996) (11,602)
Depreciation and amortization     (1,403) (1,118)
Income (loss) before income taxes (6,075) 336 (19,759) (11,288)
Stock-based compensation 1,984 1,732 6,092 5,783
Performance Enzymes [Member]        
Segment Reporting Information [Line Items]        
Total revenues 13,005 20,424 31,385 41,100
Novel Biotherapeutics [Member]        
Segment Reporting Information [Line Items]        
Total revenues 5,380 1,482 16,638 8,708
Operating Segments [Member]        
Segment Reporting Information [Line Items]        
Total revenues 18,385 21,906 48,023 49,808
Cost of product revenue 3,642 5,067 7,882 12,230
Research and development 11,617 8,393 32,725 24,141
Selling, general and administrative 3,190 2,727 9,123 8,267
Total costs and operating expenses 18,449 16,187 49,730 44,638
Income (loss) from operations (64) 5,719 (1,707) 5,170
Stock-based compensation 1,984 1,732 6,092 5,783
Operating Segments [Member] | Performance Enzymes [Member]        
Segment Reporting Information [Line Items]        
Total revenues 13,005 20,424 31,385 41,100
Cost of product revenue 3,642 5,067 7,882 12,230
Research and development 5,184 5,313 15,877 14,889
Selling, general and administrative 2,675 2,037 7,395 6,499
Total costs and operating expenses 11,501 12,417 31,154 33,618
Income (loss) from operations 1,504 8,007 231 7,482
Stock-based compensation 839 736 2,335 1,973
Operating Segments [Member] | Novel Biotherapeutics [Member]        
Segment Reporting Information [Line Items]        
Total revenues 5,380 1,482 16,638 8,708
Cost of product revenue 0 0 0 0
Research and development 6,433 3,080 16,848 9,252
Selling, general and administrative 515 690 1,728 1,768
Total costs and operating expenses 6,948 3,770 18,576 11,020
Income (loss) from operations (1,568) (2,288) (1,938) (2,312)
Stock-based compensation 132 225 625 563
Corporate [Member]        
Segment Reporting Information [Line Items]        
Total costs and operating expenses (5,483) (4,912) (16,526) (15,185)
Depreciation and amortization (528) (471) (1,526) (1,273)
Income (loss) before income taxes (6,075) 336 (19,759) (11,288)
Stock-based compensation 1,013 771 3,132 3,247
Product Revenue [Member]        
Segment Reporting Information [Line Items]        
Total revenues 8,401 10,351 18,005 24,588
Product Revenue [Member] | Performance Enzymes [Member]        
Segment Reporting Information [Line Items]        
Total revenues 8,401 10,351 18,005 24,588
Product Revenue [Member] | Novel Biotherapeutics [Member]        
Segment Reporting Information [Line Items]        
Total revenues 0 0 0 0
Product Revenue [Member] | Operating Segments [Member]        
Segment Reporting Information [Line Items]        
Total revenues 8,401 10,351 18,005 24,588
Product Revenue [Member] | Operating Segments [Member] | Performance Enzymes [Member]        
Segment Reporting Information [Line Items]        
Total revenues 8,401 10,351 18,005 24,588
Research and Development Revenue [Member]        
Segment Reporting Information [Line Items]        
Total revenues 9,984 11,555 30,018 25,220
Research and Development Revenue [Member] | Performance Enzymes [Member]        
Segment Reporting Information [Line Items]        
Total revenues 4,604 10,073 13,380 16,512
Research and Development Revenue [Member] | Novel Biotherapeutics [Member]        
Segment Reporting Information [Line Items]        
Total revenues 5,380 1,482 16,638 8,708
Research and Development Revenue [Member] | Operating Segments [Member]        
Segment Reporting Information [Line Items]        
Total revenues 9,984 11,555 30,018 25,220
Research and Development Revenue [Member] | Operating Segments [Member] | Performance Enzymes [Member]        
Segment Reporting Information [Line Items]        
Total revenues 4,604 10,073 13,380 16,512
Research and Development Revenue [Member] | Operating Segments [Member] | Novel Biotherapeutics [Member]        
Segment Reporting Information [Line Items]        
Total revenues $ 5,380 $ 1,482 $ 16,638 $ 8,708
XML 88 R77.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information - Concentration Risk (Details) - Customer Concentration Risk [Member]
3 Months Ended 9 Months Ended 12 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Dec. 31, 2019
Revenue, Product and Service Benchmark [Member] | Customer A [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage 23.00% 21.00% 21.00% 31.00%  
Revenue, Product and Service Benchmark [Member] | Customer B [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage 15.00%   13.00% 17.00%  
Revenue, Product and Service Benchmark [Member] | Customer C [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage   29.00% 11.00% 15.00%  
Revenue, Product and Service Benchmark [Member] | Customer D [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage 14.00%   22.00%    
Revenue, Product and Service Benchmark [Member] | Customer E [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage 13.00%        
Accounts Receivable [Member] | Customer A [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage     36.00%   38.00%
Accounts Receivable [Member] | Customer B [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage     28.00%   10.00%
Accounts Receivable [Member] | Customer D [Member]          
Concentration Risk [Line Items]          
Concentration risk, percentage     14.00%    
XML 89 R78.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Sep. 30, 2020
Sep. 30, 2019
Segment Reporting Information [Line Items]        
Total revenues $ 18,385 $ 21,906 $ 48,023 $ 49,808
Americas [Member]        
Segment Reporting Information [Line Items]        
Total revenues 5,841 2,706 17,972 9,620
EMEA [Member]        
Segment Reporting Information [Line Items]        
Total revenues 4,889 12,205 14,175 24,672
APAC [Member]        
Segment Reporting Information [Line Items]        
Total revenues $ 7,655 $ 6,995 $ 15,876 $ 15,516
XML 90 R79.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Schedule of long-lived assets by geographical area    
Long-lived assets $ 7,289 $ 6,282
United States [Member]    
Schedule of long-lived assets by geographical area    
Long-lived assets $ 7,289 $ 6,282
XML 91 R80.htm IDEA: XBRL DOCUMENT v3.20.2
Segment, Geographical and Other Revenue Information - Goodwill (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Jan. 01, 2018
Segment Reporting Information [Line Items]      
Goodwill $ 3,241 $ 3,241  
Performance Enzymes [Member]      
Segment Reporting Information [Line Items]      
Goodwill     $ 2,400
Novel Biotherapeutics [Member]      
Segment Reporting Information [Line Items]      
Goodwill     $ 800
Operating Segments [Member]      
Segment Reporting Information [Line Items]      
Goodwill 3,241 3,241  
Operating Segments [Member] | Performance Enzymes [Member]      
Segment Reporting Information [Line Items]      
Goodwill 2,463 2,463  
Operating Segments [Member] | Novel Biotherapeutics [Member]      
Segment Reporting Information [Line Items]      
Goodwill $ 778 $ 778  
XML 92 R81.htm IDEA: XBRL DOCUMENT v3.20.2
Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2020
Sep. 30, 2019
Financing Receivable, Allowance for Credit Loss [Roll Forward]    
Beginning Balance January 1, 2020 $ 34  
Current period provision 40 $ 0
Write-offs charged against the allowance 0  
Recoveries of amounts previously written off 0  
Ending Balance September 30, 2020 $ 74  
XML 93 R82.htm IDEA: XBRL DOCUMENT v3.20.2
Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) - USD ($)
$ in Thousands
Sep. 30, 2020
Dec. 31, 2019
Financing Receivable, Allowance for Credit Loss [Line Items]    
Past due $ 160 $ 257
Current 10,551 8,806
Total balance 10,711 9,063
31-60 Days [Member]    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Past due 160 185
61-90 Days [Member]    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Past due 0 7
91 Days and Over [Member]    
Financing Receivable, Allowance for Credit Loss [Line Items]    
Past due $ 0 $ 65
XML 94 R9999.htm IDEA: XBRL DOCUMENT v3.20.2
Label Element Value
Restricted Cash and Cash Equivalents us-gaap_RestrictedCashAndCashEquivalents $ 1,695,000
Restricted Cash and Cash Equivalents us-gaap_RestrictedCashAndCashEquivalents $ 1,731,000
EXCEL 95 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( %J'9E$'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 " !:AV91SW:;J.X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M2L0P$(9?17)OIVG9(J&;B^))07!!\1:2V=U@TX9DI-VW-XV[740?P&-F_GSS M#4RGO=!CP.

@QD,=[,KA^BT'[+CD1> $1]1*=BF1)#:N['X!2E9SB 5_I# M'1#JJFK!(2FC2,$"+/Q*9+(S6NB BL9PQAN]XOUGZ#/,:, >'0X4@9<5]621A'^_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 %J'9E&XG-4*/ 4 &$5 8 >&PO=V]R:W-H965T&UL ME5A;.V)!W!B/LGLS.1Z)5(=!S&>2J#2*F-S? M\%!LKQMVXW3C)5BMM;G1'H\2MN)SKG]+9A)&[1S%#R(>JT#$1/+E=6-B?W8= M:@RR-WX/^%:=71,SE840;V9P[U\W+,.(A]S3!H+!WX:[/ P-$O#X]PC:R+]I M#,^O3^AWV>1A,@NFN"O"/P)?KZ\;@P;Q^9*EH7X1VU_X<4)=@^>)4&6_9'MX MM]-I$"]56D1'8V 0!?'AG^V.CC@WH!<,Z-& ?C"P+WW!.1HXV40/S+)I39EF MXY$46R+-VX!F+C+?9-8PFR V89QK"4\#L--C5VRX)#.(&&D1M6:2JU%; [!Y MW/:.(#<'$'H!9$B^B%BO%;F-?>Z_MV\#H9P5/;&ZH2C@G"=7Q+&:A%K4*N'C MXN9/GKYD_HZ.DSO)R? D98=',6W7HLGE,F-9?AGKSP1$A=Q@B'TC+E"*->SJA7C]&,RT#X M9D416-BE+L*13FOHFT^?*I9!/^?6KQDSR4#',AFZ["X<:\E"A?EKD',:H#BW ML0[TGMP%(2>/:;3@LHP+CF%9=LOI]*TNPF>8\QG6X?/"5X'9+."L1Q:51@_' M<87/=X%J?O^MW;-^NH^]*X2<;15J9]6A!WA"0N"8B6&3S#6L,"(D<44::[DG MYNNE,HBC3V\QDF>2;-."3V5K$F 17@'2HW1K8%LJHR DV+NBO@89T();$IC\L?B1S[J42O%5* M"T=R112![LRU\-Z:)&&2;%B8T5CJXCZ&$//1EIF9C)ZJE MS'#$"F:%^--:XF_*(\CNH*LK(4OW007. Y.P!B:>!_TG5 WU9/\VXG)E%MC/@*#7I91PH$I*A=I37*Q/ M3EI#PP^"'R4L+H\C#E-)J%!]B@OV:3>^$\AYUD"3IU1#GHR-EI4VKP?D;H9L MSEDVX^Z0#NR!J< W9:P*Y:>UV@$7=IV$I'0/_?B._,K+7575%5@V%&5.'VL+ M:*'M%)?F"71.?M8]W86LS"TW%0!5H7,*<7@.=+(?1I8#Z0GZJ._P-02P,$% @ M6H=F4:JH9#$L!P N!X !@ !X;"]W;W)K"L^: '*TT"[";7:X'V&FRZ=Z\9F8Z%E425I)--/WV' MLF+9XH-]Q;U))&M(_8<>7#FD6MQ*^O_5BNSN9XM9V@EUGQ;FT_RY2AEL\0R56VUD,S0&!4W5[O[SK\- '#0@2: !'1K0-_' MW?MHX'T/HGN/&)XCBBGV-+^--[\3)30GMCDICILOP/.]^W3O/NW[8R'WMTJ) MUB"N-?AY&>F1[7MD?8])J$>N-PC&!I7V0ORQK9YY#:_PCM6NJZSORGYPSSE,]CJ3J,Y/0AM5E7:RK=(Y!%L_%#Z9NY[2 P$9 M8Q.1'IN,^"6F>XEI=')^K%H(PHK79TQ/MN\SB[K]H2SE%F8#4E I8&H>:^'S M.'.\(3@G9.*S:U7@C/F=SO<"\WC\R-8H2&Z#SSYQN?O:/)U(I0H\5QD7AEUCL)191B;]+ ^$R#1R?R,)Y M/3/3YC%@2D'? M!/(W1G&.6N%-#T-OQV.9%OE4J\<,DS0-J!U3.*%1M3^WSY"WI*H"XTB=U^;, MT>8:L3R0OLB( A)GP;T2':]62'SM+&-USP5I-D*]9=M(@ Y]'TE*4CP5[EK1 ME.* \A$.)$Z'702<(=)-^Y!G"H<./CN24!R:_!$1)/U?,.;5F'HT9G2J\(35 ML;X1-R3.&QN4 ^85/0@8V4QHEF@#B,CLDB<6?<*%F4*PL)F!ULP=C9'7\-5=W4I01-"L=WCU5&0Q$TDH3&20(" MU=9B1#:6UMSN,GA%NJ#(:#XM*#Q6*<:AZ1EQ0N,XV84Y'Z0>3))7J8N(/,VG M(/%896D28 D=64)/K&.&0.JDZO=KY'J7@I%\K*NG?G1]LXS M2XHTD)S9P:9:?"6URWOUZ,:).'%7181FCEB?%0M\<&PD'3MG[71*H0NQ)*=D M.97H,6-IF@4TCK!C<=C=RJ:I^F7);E%J=YT@ 2L]V&9^MV_I1&(D.^]RJ,] MVV.'2]WQ4ES/.B6T4,]B=H-\.[W_AXZ.O1\IRK)HD?-@9/EE(^N54/K;ON0V MK]&]WY%Z+$X]6/$/*4+;=\S1._P>UFX$JAZ%GGF]%0@^-J0W7(D?4#J'9[L; MF(:MV4A5_2E6B?+PT7!B,(?,K3O1'QW5K]ZA]"!X.I0QD^.A'"'-XI#^L%I5-AU#XK [ M1A=5BTK>59!(O")=$"PT3FN# 3FLR(CLY9RM3>SYXKV 7OP5>.I3SF!&.@=%WL6CS\ZW>%P<'"O:,]U?N7JJH&*HQ1H:XO @VQK \[4$K@PW]O!R?UA]\Q=02P,$% @ M6H=F41\_*!C6 @ J@D !@ !X;"]W;W)KPG?O>?>Y\P1ZNI7K6*8 A+YG(]$IY!KKG,B8+%R+L+;B*CDFBAKC=[LP-7&J3$;GMMM MG!F%3SGJS'@B\P0W!1*"(RT%3YC!R3T3+(^!S*QC3:ZF3$%N4C \9N*:?":? MB$]TBJMZZ!ODL-[\N(YY7\4,#\2<0=$B;7I#0AK2/?+)5]?*=^1\VQ=T-:8M M2FDP]%>;]3MIMH7>:= [EZ%7^T]8:5*I^"L^N*J6]K)7SKL;4%WJ/N_@3]MM MT7<;^NZ'Z+G6Y0GR[@[1>^9C%ENTO8:V]R%:_"/6AN4)SY='D7LGD8]9;"%' M#7)T%'DBLPS?EH^T=71>6Y\TV^+N-]S]"[@OZ^G^3A$#2O=V]3F66_B#!G]P M,?[-.5T]V'W/!F$[W$7?8]CO1]%!\H#^/WOHY:4_M\5KWV]!0 BA@ !@ !X;"]W;W)KRBG$[Z565JPAQ*);9['Y<];EO'7FQ$9[5\\IJNUU"^K P^_[[+]5Y!69YUBP&<]^I(E.( V M =0,\'H"W"; /;4%KPGP3FW!;P(JZD[-O1+N+I;Q=%+R5U1JM,JFOU3J5]%* MK[30$^5)ENK75,7)Z8P7B1IVEB#U3? L36*I'IZD^E#S00K$E^CKAI6Q'E>! M+M'WISMT]ND%7 LT5]U*@/B[X?AH(-Y1TK3ZT+T^MW0PX1/;7"$77R"**0;Z,SLYG$00 MG8^U/O_/K1^)X;:3Q:WRN3WY'MF.%5LFK@=R>6TNK\KE]>3ZQF6)RL:X43137C&]T MH8+XCH$.8((-PC8J'!-B$+9!KANZ1JJYC:(^QCV,PY9Q.,CX2>VB:M)X&YSQH/TOQ0+ MGC-TEG$ASM&RY/E> ;47@[LKMCIR&># ,Z@#,.J;PP[E(E$4&;5U#N)(@&D/ M^P-K0MYA+YFR&%)Y"BT#R)?8Z](<9P#CA=@D"R0*S((&@"(:]="D'4TZ2/.K M7+.RG<\7J&!@,6NR',GLF[4, GG8-F&0!@KFMZ 2@7B<;F_)^#.$+#'C] .N=#AJW/0\EW M:7724MS1V;,JZ\M45LO[_'TE/'M3LV:\C;DTZQJ <5UB2@ TUK>L.S]$_$'Z M?[#]BFXF 4C3M[R8&O#(*F0VS/6LZ0[D4@?IR-R](1PA;M_^33J'1H8MFL48 MJ2)>'Z N]#$W7:"SK4BZM[ D=2/A8??P%3$5L5'X"IMV!L[E>J8B(*QO!G06 MC@Q[N$$]DC3;ZB/H*8J,3U+$1D&*@+EL14!8GR*=Q2/#'N]'=:&A6,<[M;VO MF+(\>:X*A#K_+U[V1^VM/J:K\[7Z;;.M3%!QPL2J@V'];,_FJ[.3)2 "VEH M510(%H66@@#,#TE?5>V<(AFVBO^'A.U<'!+1]GZ@B+!%I*:(0#9(1 #6+R+M M#"<=-IP/S2&R.>FCO^Y9_LS*OX=N4CH_1\F'KP]H9YOHL&UZ_P*A27!8ST// M7/@S $6PZYOU 8*%&)NF"8!1S^_S#+1S3738-1T=>^^Z8^\OC53G4*CW\9'J M-GPZO.&?,%+VSAM9DWX&H CQ?=\<*< 38'RP-IJ1LF'4I]3<[)V#N]692\GSZNN:Q0DK-4#]ON1<[A]T ^V_'Z;_ E!+ M P04 " !:AV91VUZ*QY0Q'/X?D?$-*)VM1?"\7G%?.?9;FY>EH457+ M]Y-).5_P+"K?B27/Y7]N19%%E;PL[B;ELN!1W#3*T@EV76^214D^.CMI?KLJ MSD[$JDJ3G%\53KG*LJCX->6I6)^.T.CAA^OD;E'5/TS.3I;1';_AU9?E52&O M)ELO<9+QO$Q$[A3\]G3T ;V_\-RZ06/Q3\+7Y7\>G(K17Q ME,^KVD4D/W[R&4_3VI/4\:-U.MK>LVZX^_W!^Y]-YV5GOD4EGXGTWR2N%J>C M8.3$_#9:I=6U6/_%VPZQVM]5D^3.YX58E5$> MER>32NJJO4_FK8;I1@/NT?!95%$*-)O9F\U$ELFIUHASOG[DV3=>_ >X.;>[ M^1#'23UGH]2YBI)X+/LRBY:)E&1S>C'@=#Y?9:NTB>4YOTWF2=7C;2(';#MJ M>#MJN'%/>]Q/^5V2YTE^)Q=)&N5S[KPN%U'!RS=.5,D;SM\Y!+UUL(L"**X; MYZQQ7F>2GV>,NAYS7?=D\A.01;:R2-.2],BZS..DLY M_V7VWTS;2CBY!%4CQ2EY5:5-0JC%\LT0[J'6,]2.$?5[Y?I;N;Y5[F59KIII M+\7,-VF@">#;1K+\,7DPF(NRLDOT#8G$M40TV$H,[-,QC_O6YPU?RO7I-NLS MA"0%YOH,2.#U:@JWFL(#T\8>V6*Z\>GMJO&(JZ\0P*IK<6Y:R#[YOF9V89J- MB1P1G\)]1ZXBG?O\V0GM@!;9)T2V3,4OSC67)5T9UH@+!BQ@@RR4Z8WHX)*3:A0#R-=Z8!55ZGB#B)/E;[ OA S;>& N7IG MALRZO5$@0W:2'9K=Y"^O$(8RR129X*)AX&O#,@/,C)&#/?5U5B$0V1EXLQ"% M'*9UG966A;B5A9(:+;!+)@%]7Q=KM>DJ58A$=D9^DL%/WK@35>44NQ[>O=- MNS&AR._-\@J[R,Y=>VG\]RJWHQM4Z[ M XIZHX$5#K$=A\?4OMCD7- O96?<4Q6_V(3=F/3K5;3#=MK]3FF)36;9 M:TNLL(7MV *KRZ$%-\7 UBKP JKEGM;,EGL 3Y2Z?J@7F("=S#T8H1Y"8,4R MS%Y@A2M 83N@CJHPL0DBY!.LQW; JJM8P0H/P.J0"A,#F/+]0%=XA$4%P+WU7=S T;=\R,%*6*'U,'5 M(#'Y9%2#=INN4L4O8N?77M4@,8%%J+9[NQ@PZNI34",#F[?#Z\#6XVZ.!>M MP$[/Q038YT%U(&!GK0/)SE&D'9+['Y&"G"00)P.__^B**$X2^OR4( I2Q+[A M.NZ":J' M6-^M W9UR4C=$ X!5<"C+W H217%Z!,<2E(36)Y+]0)AR*JK6'&-VKGV2>1C M?I1J $EZI6"WZ2I6)*(#V[5#BEP*<(>$NDR[45?GSO,S^_[MD4M<"FRS$&9& MR(?,NKU1F*-VS.U5GU$35V.9V$)]_0_;=54JKM&!+9NM2@/S\92:6 O=P-6/ M=%LS6_8#/%%&<$CUW@-GE<3#-.R;3%&)';H_VF/%39E)GI#Z@?XPN#6S)1_ $V4( M!?II'6 W)LRC;D\EP13OV OLP]C.NQ\#^[!CBAAF@@B%5#\X&K+J*E:P8@,/ MP(XMO1@ &OT9MMVFJUCQA3WB^2(#W@2A^D'H@%%7IZ(->];3108<'&)]?W0^ M9-7MBT(7LZ-KK\*+ 1LJSS4JCT&S[LM."FC>P+.PP\NNUN-N2H/*+L!,SWR M"5AV 79PV379>?VS?KOW8U3(W%XZ*;^5+=UWOHQ?L7EA=G-1B67S1N@W454B M:[XN>"037FT@_W\K1/5P4;]DNGUM^>Q_4$L#!!0 ( %J'9E$+O<$W20( M #D% 8 >&PO=V]R:W-H965T&ULC5113]LP$/XK5H0T MD#:2IAT;J(U$"]-X0*KHV!ZF/;C)M;%P?,&^4/CW.SMIUK$6[27V7>[[[KNS MS^,-V@=7 I!XKK1QDZ@DJB_BV.4E5-*=8@V&_ZS05I+8M.O8U19D$4"5CM,D M.8LKJ4R4C8-O;K,Q-J25@;D5KJDJ:5^FH'$SB0;1UG&GUB5Y1YR-:[F&!=!] M/;=LQ3U+H2HP3J$1%E:3Z')P,1OY^!#P7<'&[>R%KV2)^."-FV(2)5X0:,C) M,TA>GF &6GLBEO'8<49]2@_X M^0I=/1\]7X[:A:_8=+%))/+&$58=F!54RK2K?.[ZL -@GOV M .DKP&C X!A M!QB&0EMEH:PK23(;6]P(ZZ.9S6]";P*:JU'&G^*"+/]5C*-LAJ;@,X%"\,ZA M5H4D-A;$"Q\6.8$KMC!_*%$78-T[.C M$W$DE!'?2FR<-(4;Q\0Z?;8X[S1-6TWI 4WGXA:9V(EKUE;\C8^YOK[(=%OD M-'V3< 'UJ1@F[T6:I,D>/;/_A@_.WY S['L^#'S#0WS;YA[L[<_+I2/+5_S7 M&^E&?;I12#1XL_"W@_]D\9=^EIMT'_1@S2\SZFE17O MW,(*[#H,I^.LC:'VK'IO/_^7X=J_\D_Y76C'^ ]-^ZC<2KM6Q@D-*Z9,3C_Q M5-EV4%N#L YW?8G$DQ.V);]M8'T _U\ATM;P"?K7,OL-4$L#!!0 ( %J' M9E$%IL'+W@< )DA 8 >&PO=V]R:W-H965T&ULG5IM M<]HZ%OXK&N9^:&=*L20;<"?)3)MN=S.S=V^F:7<_*[8 ;8W%E45(]M?OD4P0 M6"^0^R4QYDA^SNMSCLS53JI?W8ISC9[73=M=CU9:;SY-)EVUXFO6?90;WL(W M"ZG63,-'M9QT&\59;1>MFPG)LNEDS40[NKFR]^[5S97,_7R MA3=R=SW"H]<;W\5RI?<:? M;O.I66 E_BWXKCNZ1D:51RE_F0]W]?4H,XAXPRMMMF#P[XG?\J8Q.P&./_>; MC@[/- N/KU]W_V:5!V4>6<=O9?,?4>O5]6@^0C5?L&VCO\O=/_A>H<+L5\FF MLW_1;B^;C5"U[;1<[Q<#@K5H^__L>6^(HP6P3W@!V2\@PP5Y9 '=+Z!6T1Z9 M5>LKT^SF2LD=4D8:=C,7UC9V-6@C6N/&!ZW@6P'K],VM;&MP"J\17'6R$373 M\.%!PS_PENZ07*!;UJW0-_!XA\;HY\-7].ZW]^@W)%KT8R6W'6OK[FJB 8W9 M"7;2C0D S39KI*X>R5@EFBD7(5/WJXL@& M.,_HP% !(8SG83/-#L!F26"?UU)I\3\+#/'GC@V MLF.-*1L;9>#K%XN=_[D5&Q,<(=AS#]$P9'V),0DC+@^(RR3B!RVK7V-# 36J MY-KX(1HLI??T:5:2 41?J)C-:1@DSEQ]SM+ATD#=M5X'SD:5XK7HLRD< /O= MCE'D0UL&9"*ICX]H!"=A_M/D-_A?M$^\+P(FN8W3P?\=K[;*9G80,C[K_8!( M0:81S,1A)LF"=;MB[9)W@RK4IYX)V4:P1]&@.4J'5 M4L7"WB>7,9UZT (45$8J'W84A-,<=*_XAHGZE7[Z<)=ZQ:'";)4RV9MPO,\? MXY)Z*1N0RJ-&=32#TSSSAP79RG9\ = :>!9,03J2\WR"$S'+3A-+H=,W[ 7 M$YU!>#YAC'&&A_!"4J2,("2.5\@97JDJM;V ^HA/%IC,ABU%0&IF^S/=2C>AQ$ZI,$H=ELB#0@-9W'D#HN(>0"I(ULEV/-U?HL5A+P:DF& M2104(V6D5R..B$B:B+[R!8?L,?43:M0V&)[$9Q:8C(85/B U+H[%3A$Z B+G MIYRS=E&0'NJ(FDIZ [VP!=/L\0QR[,S8"M70\'78*#YG%+07%S)MMV?Y.Z$7D$U@#9><[1I6,5CA8#Z9./YVAW[ MS$G3M[-G2S0P3/FY%A#"\YCY'??1-/=]YY5\XNK%9L!**BAE.Y-X0"(+$;:T M3V@>5E\DUK)21W@T37@_V#,W;;\PS55C#]/WQY[=BBFHRESKQL:'T67/*FS' M5/@,G0;&*$R*85<;$B/S(F9WQX$TS8&'T@R&?A(U*//X@M[MZ_3[_8'D!84Z MP(NSV? L(R!5X./:=:J$HT::ID:C!&2NLE'_KN;]U7N;Q*#;AUY#XXHGH,QV M?_JC@(*4J(P#S?=!M4*S69EA+]!\.5K2>42QW!%GGB;.VXO1(Z9M3_#(EZ)M MC<,@^,P-:,&$K$/*Y3YKEH20X7P:$"ORZ*"?.W+-TZ/?VW7CY@SCK%;^^#>C M!'M:^6+@L-BY0.Z(/4\?.3YL-YL^^Z$)AFZX:F2W53U#&E46#>PHVO[UK#>1 MGS[4L7*>9N6[%D92L)FM2D&C^*2)A\G-H0"@6@HXR\S.4>7;@LB^Y5-TW!&QPYF-%7\\N7D_:@@KZG$GFPXXM M(%30F ,7@7?EFM3[SUC,-=\L5"N38Y>6*LYHK(P#?+Z34KQ_, PZ_QKCY/U!+ P04 " !:AV91 M+1SL W?.RDSB)8V \CA/O)O' 8V\6N+@?V!*[FQM)5$AIVIU?OZ>J M2$KJQ]BP=X&]@#'N5DMD5;'JU*DB]63C_.]A;4RGWM55$[X_67==^^W962C6 MIM;AU+6FP2]+YVO=X:M?G876&UWR0W5U=GE^_M59K6US\O0)7[OQ3Y^XOJML M8VZ\"GU=:[]]9BJW^?[DXB1=>&U7ZXXNG#U]TNJ5N37=V_;&X]M9'J6TM6F" M=8WR9OG]R=7%M\\>T?U\P]^MV8319T6:+)S[G;Z\++\_.2>!3&6*CD;0^._. M7)NJHH$@QA]QS),\)3TX_IQ&?\&Z0Y>%#N;:5;_9LEM_?_+X1)5FJ?NJ>^TV M/YFHSY[ILP.-UR5L2!GLE ET<&^D;]XIIN'=0/36G*Z?-G$"I+=IDD>W9Y[X"WICU5 M#\]GZO+\\OR>\1YF31_R> ^/C/?*KW1C_]2DZDQ=NR:XRI9:?*,IU8TWP32= M3J9X81O=%%97ZA87#1RQ"^I_KQ:A\W"E_[M'HD=9HD-JI; M0RO5N,X$U3GZJOI&]Z7M3*D*A[5J@GR*YL"79=8\9,UG_.CGGSV^O#S_[MK5 MK6ZV,_YZ\5VZO#&[5_J0KY")XU77^W05(6@\2W;M2O/.8IZ737'*=UO8._2+ M8$NKO87\M%!321&/-IRJWXPJ;2CX(:?*0&O\P5.A@ MU4ZW+60*&+ P]"1/,2^ E1V-!P@Q'E:%CB3;QBCML1J!?B,A,.B=P8J98MVX MRJTPXTQMUK98T[UK?6?4PN &6 #C]:X/U5;9FAYC<6U#TV(@^B#. 'V SIJ2Q5BUD,X8$9:]::T_NRG98DIQM M+V$(#QQ;@[0HO24[6+JT5;J\@Z>*AYZJ6[: *)PL5NO2L!=U&E;#@+:Y,Z&K MTW+3_-%CZ!H)0%*3BC_4(R50 M8"O*<2-G8%M -=-9RD,B>H>\=ZI>X:<#(RDRL=L83XZ^':\ ',AW=FD+4:B# ME]N5@?)S2E#E;,>&NEHYC_6H8PAXW=H2OH-T(@Y3:;\RO(H3WTJ!4-F%)V6@ M13+"'2(2X@>*XXNO81SCF2#0 N@.T;+H.PJ8-PP_4W% #? MP)!Z49F1&V)* MC^CDJV 8I>7$'11&5HUYURGH:+P ]*X@Y!L+DQ>'C,#CD_PQY%F!CE0EZ!A+ M;)IU=B/!@ [$8VZ69&+R"MR&F4\)4'4)["0),"$AU%0WB+6!*\\^T8EX45=0 M%4Z?)L3H->(-:Q7]" O.$ $#5@!TC.0=PM46:@TJ,N_6WO6K-813R X #KJ# MUAA6=#7N"N:/GL9H5A"7DV.AB/-9H-V6[X2T!>61<8 (('$< UL+YSRF9C F MC"&L$Y^: EDQ'31<%A)469D5XC#B!"Q/\]3Q$:8)=L>84E;4#4!?X0TMK"HE#UI/(82'K MQQJ3R^F1LPC2,81AH"8G&0>G\)L( MCNBQ'!))VBHXB@FW$>N2PPT2\)JQBX$^-F$IV3:F??:+2$5V'#RF5$92Y+&" M;EWVE3+UPG%U]&](6:)H"KRC(>9)8RP%-'A>D'R2$ MY1#&=IZ=@4C%.!%DI _=T?Q#D88\8\5N,2(4^2MB+L5=+% 8KVUC.\DG$P9< M?FK01 &% 4!P!$[H>C+^S,%V4W.X!3P[[(PO! MMF6*S?Z(:)!*,KKOI%CX2 O#(]ZC*/AU1/2U 9_56U:G]PT;H"-8'@W,"5FF ME)@W&:FAO]LT>3T(I7XAL@!,@J[5EEB6^@7C7YY??,/5!2YSUH5[ _;531+Z MS3#?FX3T9,*?Q4#J:H6TR)[\8%11_PIV1+%[R%SYB5@T?R'%57[DAHVCKGY4 M#W9&2P](]OB@.5(&RS=#N^1,'[&L!Z XQ+@SI:F&4HGZKH 1V01WX'[ECO^#0:X=>2J4U>9>/50%K+/]N2O),K41Q*W MVV=T4N=*.X"15+=$;@7W#X8&/_2.:%B_ %7J&R2?@T"I,882R,%81-Z@(HB P/6*WWG"&&6 M7@.;FR+&.;Y8)$=8*^4DFG"2L6?[C8O#YAM;)V-:?&JWFAM*$?7@Y-U_@D( OGF$D1X]OOQ./?_U M"@*N8"Q6YJ]]8[AU>DB1PLUEQ%03QFE##YM0HJPJ,)RX.(.V+.M5A1#CNW_^ M^3IGW)A<4C-U,@$\>NP,E5UB)J+%U"P8+<+@U[,A:\^DFEU:JN*[+:LY^,5, MO?E:O9Y6M27VPJ^XAJ@M*;8_MO;$R0M_,=TCRHQ3, MZX%[@T4Z7TH748@2 M5UPB$Y,"+MX\5>+T0PAQ,6G98:UKR#IP?J/R1,&;F.!-"X6YOLSG+\ MPNAU++1O)5'"0-?3*#[,02(FO=&_FU(?HQJW:Q1GZB?.TS\"M6F9W_"2,]DD M=)M1ZEMCQNT<#DIM\-2YY[9;'/]FFIPCDD&NFA=W*DV2898=:(!N*+/3M940 MHYRBNB2:Y!ZX %D=_F(T9^DR BHUBDQJON8T<4K+B$L.4_Y^+FO<01%&*E^( %610O(=_H MT?\P]YO=2_Y^&ZSQD70/C$ZV6"-G^T#&MM>J.<;=?N78?S;)0R%O-Y'L0J.$ M>FZ R*WS74]Q98ZX?K*^Z)@W%V6[S;#!SCCN1?N='%CZ?C7*ZVS#!?@+[I;4 M]&G=+!J:@D[\F#H[ M/K9'>?NMMA6Q'DY+$W7QG40N35NYK=22![2B'1691X76%+3!1;R?>H P1>!% MA2PZ^U?X7O5'QJ!E)KY3 A8Y8R(VL(RP237K.N^<<@EP/1N M*P@F]+PRFH$#@5.KC0[OXS;K;6O\A&74Q'!BGOOIYBHGV@?LI[P?[F55,3H8 MT!?<6Z<5"O]UC&B/>>JF<3T0I:1M=('S29,Q4B$*[OU:ZJ-Y*#%B\7SD:>[J MEU"(NIZ\^Y(-,/C$!W-3&#Q64Q7SOL<[:B;O7L,M2I?2A?@*&) T;+DOP-?F MMIE+M($)0?D+S4_-P0]T)3Q- )]M,6@93P%HSA:4[Z0]?D4(!3*@649"P52^ M[LGIVCEUW_-6RM*[FF7-@H2N+[DY(YV8K0(T]8AP@O&).'NU\N-[R?#"%!KF M=PLJ3N,^8:NW "_RX]'NYE\N3L\5(*0B,]",D.6KY< @)87EVL"5?2 M FEZ I.[)FWD$-MQM*YU7^7#/!/9_PI2,/#XC>$NGR5T:VC[U S&>7MZ>ZI> MI#S[G)#D*ON6+![=X%C#GS;,*3P M@:?PGRMZ9G14KRJI5393WFTQSG:^0&;GTA]Q,Q=TX/!-0)$B=1]7]@JFO67/ M#R/TP.3WHCL[1*RI:,#[5)V67!-1,IRUO0^]EAY1/L7SGH$IZXZ:+^+*"?2T M9)\!NP92 [35<$G'NW*4!67+3;)!8@?L2;SYQ!YYK% A@4L2M M(FYLY$OD538>]?B ,0G#I'\[$F<$)I<7I^KMOV%G?*?5&Y>($U-K6\-82*') M)/U^PC3CDPZX>3CZP%N3)MM@4D$06:B'O8,)8-GF($4#K!-$VIW:GO;==Y)J MR 8N]JK[(QDUEMZ9$V!$)G_# &9R(VU^'ZBSL^%CKW9:[(SJ[NU0D[VG_,9* M\\D J;!\S>R.ONQV(V99Z-@S-N-R?Q (?UT9"[V=TT':5B[RJGC:1S;G=;&5 M0WR2&*5ISP>2R-[[]%!*I;POW+<=9/WXLQRG2=>X)/7"BB')4IES4Q.35(V) MF/!U8O!"MR)>/"2W8Z41]T\X."$YGEQZ%?LZNL-,YVL>^29"GH#HLP1YF'AKD>-8Z'$SBH%SX M)WHRQ8!D_J-AI8=XLKM',,R1M9PE565SE7Z$7_6M<"PZR#40N,GZ!]-J/V2I M:=SO=S$79J6;XPV^&(FT,GU6+M5A"*8FQ+9_)'):_>7QZ9>938(=SNE('W7B MFSF*+ S"Y*+084UL-#=_Z!!%TEPT>>:@GRDZ8[$\ ^WUJ[^_?#Z_ M^"9A1:QY.(G8\+NL"B4O3@*\?CMHRWXL"#.,AO NJ?\4XWWW,A([U_Q4OTI: M'!WP;?L%%<-"+Y->XF:SD;1?_GZD$FEP- LK!1'$+SQ()%SV6/9YD:DI.&^]E/^(QW 7E3HQX M1U9:QQ6+)CIT;]*]F6Z@S;CM9P>G%O%)2@ B-5OYU*AOQCX]B_6FF(KR?)-P M@=1$T4=P3\F&,W*<.@N9G&X0J7((-EJ*%<1/;F.XY1FW^\4;.)+6C]O?.PVGW/KKXT03TX.3UY[INOWM^\L6PS1!)VV#C1?) 0J4ISJVH M!&OXG!SUJ?(V$A&9]]IDM$*4739K$(#-./^;_1:SD,CQT.P?U*C0"(<5GWD= M>:>/T)](##< :WFG*[81;DW;2:&6WLNBVH@.%:_6^5A(DYR/X(Q.8!,'H;%( MVS^H(K;+[3B.1U!';SR,,5X6/';5= W,C@%FZWBP@#<4?X,7RGL=MDHRC1^A&9?_H;4GC%*X'\5KPJU!T M6"=3%WG?J305=7[YO;*M< [6LB.F)Z^[,-MGN!%L".D08+1#?%"JH%D^W;2. M_8@,C!.2BHEA@W*6,_D095QTRD(#.P/E_USSC)NT7*)P8X#;=Z7G([Z99XVP MA6;/K)2/,8OR.QGL*M=PS+^I21&HN2CG(S_QICYZ==?GJ!>X?>WY4OG6GYG>N$ZK %_1$&!5:4;\/O2H:2* M7VB"_!+]TW\!4$L#!!0 ( %J'9E&L)NB541\ #=H 8 >&PO=V]R M:W-H965T&ULY5UKVV^M"O33MW:UO3-W#4KT]&OS>)>NVZL*?BE M577OY.CHX;V5*>N#'[_GS]XU/W[O^JXJ:_NNR=I^M3+-U3-;N\=]K+S+3VS%6_ED6W_.'@\4%6V+GIJ^Z]V_R'U?U\B_%R5[7\;[:19Q]^ M=Y#E?=NYE;Y,*UB5M?QO+I4.R0N/C_:\<*(OG/"Z92)>Y7/3F1^_;]PF:_ T MC88?>*O\-BVNK,&4\ZZA;TMZK_OQF6G+-G/S[%UC6UMW1FA5%]FYL G?G9>+ MNIR7N:F[[#3/75]W9;W(WKFJS$O;?G^OHY5@O'NYSOI,9CW9,^MWV1M7=\LV M>U$7MAB^?X]V$+9QXK?Q[.3: <_M>IK=/YID)T,=S^0Y3Z/=W_/>".[ MS/[[=-9V#8G1_UPSP8,PP0.>X,%?3/=K9X6&/VG7)K<_'*PQ;W-A#[[*4K+] M@[QKRCHOUY7EK\]F+LK-%ECL2C;J5G_05 M^F5>UH:&,U76TAR6X*%KLZ6YL-G,VCJC7:U-0\^5-0_<%/2T)9WJEMG"UK8Q M576%;^P:HYFXDW5<)KW;T<(^UKR0<\S#:S]=V88HD-TY^.GT]-W!7=X>GC3K M-9'!S"J;-3U&P!>-7?05;Y-?QG/G-N^;LBOUB1>7^=+4"TM$6:W*EG'NSL'Y MBS,:FN"6UM'1A*MDSV4M,$Q/3ID-34%KKZXF&/XJ*UQ6NXZ>RJN^H&55%4^; MO,7STC.T@L;^UI<@U>PJPWYX2K"BLIT=I?,4_&IM6-?MF-4N75_1K$0K,B(@ M-KWSJ:\%I9E33-,X] T#QBW1>XWM'-[IR!Z)&+B^R4[KNJ>7WMNU:[J,I@&B M9\='A__)N\9\5]8TF04<9<]M;EM8GVISKCM;]OA=:B?B)I*O.W$Q+/E6[96"L<)GYF*[$:PJ9SZ+ 06H$_ M(]7GP*# <"9X]>__]OCD^-'35GA\ MC8AA^5A9OU:)@2N4D4S4)"EM2P@[S64()^8E MC2)R#LW&C[S]=8*]T^Q5G?W<$]%H>0\9(+*785,)A!.^U85I"L)P1_]E=["O MDZ.G+T_/G_&/QT_O9H1./%8!\8GKAO:UP>>F;/ %<:VP M50J2M-Y(7]J0I5VNK('4%A!TVGG3E;\S3UIBX[+,EQ-\2O,Y*#GMAN9.,(Q5 M0R43'^>VO,!4$\8"&&V=9T(".2NKRA;)4QZP*V8/J9';8)>M@%1"<^+9]L*G M@'&21.:GX_=G[L)._H3PCY@S)Y+7FI6%$TJFUK1?#I,3+\%N7=;*K96IR?G& M(X"'.;QE!A)3?"+O4UX5IL*&5*!'WS#G:]/U7M\(V&C>(,_@L IC-B-SHE-AMLX/W)'1U M!P<:W-WVGUU-/^>"-@<\4F&)[Q7P>&'84]T1C8X=RB -(GL1-;W ?@EZ>F^H MT]BB5P0[(UY=EBVHFD^9AB6SUR$B642) Z/KP8C56\ MUR>6@PQ,W9I&V1U93Z3[OLE3+)/?;&(3C7);K]:RZ[8P*X,L7X^]SK> ML*\#,5@%*GLK6Y6&S"S'.A.%54#ZA:U[)9J]7&,W0]L;W5<&#L>R!4U3/<*S MR=#3[%>K@19L#!YJ6Q6JL"T5=?*L5H*7N@5=#2R:(RYCGQ.-EXC14)X&T,.^ M+=%*5(4?(%FG>"UL7)?*5E!X%V"59V+"I)*T P]W(%8-#PD:_B$_!J08\V7N MPLK3SCK7,/&#.M/F6^B@ZWG%LYY^ [E,3NP1H,KI,M#Q'6P,S6>P*.[<-NVCF,KA,IWG7LR\A1B;GB+ HB5J-CXW< M@(68LNV)B_*0Y:D@CN2AX8D&Q%1__E8:(\@S[XE.]I*#!QI-!(==_K?_>O7\ MD-Q\4O["K@ASF:0%Z5(.0.1H/?P&X"1.07T]E8?^3/1EL+&X'BQ8!3'&;JVI M6(E47W@D9&Y420/I)_#E^CG-W,,_D^=, Y2GYPJ2]LJMV6S![J@2DLEP5]8> M!N=75'FB^[,T)WN?ZD$DHR@FP"%9EHLE;1OHKY:>7@)WX*G,&(9[Z!(]LX;5 MS6FF=(?D!!JE#\C#1C;)603L(58U"_8X::(:;P:^A%2,HG!'R%9G,1< #G6- MI8'\*Q-,N[%0#'&E"09J!]9Z]M59Y7)3@9 +&A0_U;PB(S:8<2)\(LE:6]RXIN+@G_<+.6^](6X,V$K,0LG&--%IC G.RQ%!EW1,8'C(; M-?V8(BCL!$,OD!9P3 '8VESQ O%1N[8YGHU]92WZ (NO60Y,MK]EC90A(ZUVO^\[G MFKPVK[R:M%#]8;#,V03$!VAO5H*Z 2^%0LC MUY-T2.),2-A,'KFED=B?&5N5;84QR"'P2_671A#>P2E%\;^2&\$"Q;XL>?&D MO9Q.920>75Z[A'*WY/"2*Y;1&CXCRL9,9)N)E/D@TKM#T8[7).)$N2@%1GU^ MXF:((VM+[S?D5'+HY"=>TERNX9=2SJ]-!ZAF1\TK,%ZD-VL'TL*8D/%7&$R4 M)O4WL#C@&.:\N'%.,)L\,-8?1'CT!CL$%!78N5"RXZSR*B1#TEA9+40C3Q E MD_ RF1$>..EFZ8*?JO@@BY GK\CCBB:6H2Z($QO-?3H=DH&GB8H &AB@+%=4 M)1\US=XBSW[VFD8F."]@C0&PN9L77I%A9T6O.; 16?18B M,;$J\H*E;4#LWPA5B$=D75+LUF!&+1CK<)(""H*H&P?HU@M5#4DWBD%'[MT( MYS96&$G;!XO(>Z+Y!-J$J4P=\:"O_/*]]_N+E6B%#/R.'F$T(H5 :935;5>K MD43R%:WL$[%,EDSF@,3-5Y=8=XT07<6 G2N7,IBU7*H24B@A!M*H!'XD;V6[ MY%$'X,LQ$:E34\[ZS@NE+A[NWA71B5A.@9O/F,K+MM@S5PFT9(> J,C)"X7 M1,JWR"2RR2L1.0"JP94U6@421]YC'4(-P/"0#PQ9[%]? UH3#?M$M;PY GP% M#RJ)%#:[B.D-4F(LAG'.P(XPFY&EX#!%@TB?K;N@EV2>A#),B=19WA#%5?9! M?I];@L]G/G/"OA:O. E7>16)0B@&$0(W+GC%R:2I1>3D1E*5_%7*H>)B@L7P M6%7!1\2=8W_4,9GR6("J$%[EN("\NXN2W=3.[0!LS>5(*:[Z6 YL?ALBK!&W MF]BD$HJ4 <(6!3/VDAK@8>MT/43"!=%" W]:E.PPY@*V52,1D[^%B)!I2#+] MM,[KWM2(FU"6<$TSS@U^)6+J[\0-+0P(;X447KI\F,E44LP$JK+?_.4I=P21 MZU[6#R M/IF2!3ZD)%2GHC$8B3;3B@$X/^9H3:]UP&<6F]]QP=]Q47',[1Y8?ZD7%*Z? M=?"%$O^1F0BODAT8(FWTCFD[1($96P)=15FC#L\94WYC-!BIBVU?-.14)1<3 MG1*O*U%Z@YZLBOEH@NU$BJ,CEIKT&&F;"T/XCT79"^!";J?9QR$F MC&Q@0UO,-DU)CB7\D_D )X8.U2Y%-TO+\142A.3 M9*HJ#QJK-(D\N72L &: M9N])9BZPE59F#^%>(0-R#XC_QJ+1 &IU847,P8T74M]*^E (S#B*JGWMJQR\ M\,;1FI!=)0>R)=VK.!W(&73O&KXY?15%.C;9I)]B\[]0%UMNZ;MC=;T,U),39(*##8?%FSA"$= M5^9)7INB,S%,UK?X^$8+LEB#2$?R#?.0,\!H"*58L2ZD;)H&,Z_4_-#DY$D"29 ?H#T4/3+3&BW80I,/.X3@O(FA=5W] M+C45U',Y2Q"""&]TP9QQ*3I]-OW0S$U<0)H'XZ M:$7S=B7@[,[S;+,TM\@)CF1\""?YTQR#$GAM8'+C[CS&,;TQBGP\OLN 2.GR M&ZZ7$2=6[6%EZP4)N[XYJ!BQ%K1NO62?D\U0[>I#-!MV=D$FHJ^]W934*&9E M4191](4U2;*%JMK85!RD]S,4W-3I]MZO4G#L)4T'VFYC;1V"5E3!.'F@>.WM MF)BW&#>SI,?A_"IE( VLE++R:@QI_33J=F#,,NBN?*9J\+FZ.M4Q?JF#8): MI-(K60-QM5#H'%DJ01>PO1.]'AU%69+L1)0T=0H3+Y79Y8/S)('[1/;U\&EV MJJ4923OY0LU81>9I>.==XSZ)_\&0B]0"P^Z@&.%3!+*&L9>WHG$O7$0?Q6^F M4V%G)%]DZ!82/\217B&=5P 541W[K?=-K"@C=F)WX8:BUA%?.E/G?D[PVA@I MP*7*M?OD_F7B?9M:"B4;^(&JB24G.1DO!G0#?Q,6HW&UBJ5GE&8+0BTM>J72 M+V0UQ;#5%[)#[O]*@7U0-/ALKY)FHV2=293>H(<>9C[2'[J.8BSY<@IA(\YZ ME,^G+%E^;.F20$F,X-+S+@0>,^E*BHORJ0R*>D+V:!H&^S H>2HFD8;U2*B7 M WJ04JX= C^0$NK->E]J*#*P0%/(E=A5624#0Z4U9QG?.PQ);AX%\@MN1]"T MVH$>E%BMW@)KORP.W= (2,^FK8 ':N_"Z9Z![HE&D@S ML )G4 DD>[7U.[?>@9%2M\K]+Z8MS&_93Q4%.!6YS>R@OV&;Q7S;2#&2ZSD4 MA96H,=#D5?G9<@:$ !W6(R1[AY0S6V3 ^Y4T,"#GEH*VU&LFXCG%8#L9CZE' M ZB/I>FVI. 5Z_TTP6:'!=XMOI8+)FW\",NN@,/BE5:HF$+&PPCJ5XS-**;$ M2%)@:SLZ$LMSDE!F2L9J:(-(O/ )PT%0ZKL[.%,@!Y LM ;=V M(2Q >^"#?^Z^] OI9Y4]*UDKS)IK)^&U00$@@+?:?RY5_N-D^B C5[!*\NVQ M$VRHO7]DC?\XFCX.XXV\?\-R;\(#+4M+T[5TQ*K.5IQL-,& SDDTR$S,RQ8^ M@Q8(I!N6O;)8*AZX@NA2D%9[]7MU+JR*T(9LQ[QLVD[MA=8>JJB8"N8NMB:(1VHP6&G0[%'O+H'5=O)%>BO9FS&5 MA ?&GKA8LCUQW5^B>IR]E*5M2;^OT>.X3:'VSY:0B2=;21&- \\[N\Z.?.27 M.-0AWT!VKK0;<"TLE615)@"^\*I$$<;V/(I5M^M,\T''":.20LQ5/<0HF):"A'W2$) M+!9Z9.LC[D=(6B:8%=K:/#JE?A4(%'>5!!+7,X]8 N9[LRS5G/=J K6@^;TZXS-K4HB8P:.]=)/0M1$*DC%NC,].DFS.#H-')&E? MSN?_6"N*OX-:V.)6>@%O?H]BQ(;I%DF88B 9VP*VD6-DX62;GK^,+TY@Z/RW M6X+!!T!&$WA[2!J#$9])&>$)&\;H"+[:G61CQGRU&PF^QV5#72SI(('X!9'9 M=PS@UM SQ!UY$1&!U++'MWHM%KW2(RLCAV[X1 [F5FEM!L.Y):3MO[MSL@6GJ/E"]\)_TB)#(X+K68:!6U MLW67HF0D?Z ZF!30YBCI(O]$(-J M(MKUEJ!A6BE+[:M:@:%59LV_QH!JU]PPLZ0&YTOB&+:LH]C8#BU?@G_;8+E/ MIAA)&G:TQ#E7R1PV!FU15;<;CR?MSRWN6$5-G"7QY[FFGMZ'UW_U8W'N,60_ M-<-$"#66P0*/1C-3XU^::>4\8-HYEY;>D+<(W2LB&6GW7SP9IT<^I'4B+IG07;H'X5"G4/$-TB"1\%$G.QR39 ML02)I5<84V&YW+?%ZWH16CK>2DN'/+C#NDP3(YH$'K*C61@RS?Y0#L[QYJ$; M;KF+. M\\--:5&:A#!&3BNC$\"M(=_0DS)6-;9ZYWVC/*&?J858L;9 M8$8RE?V"U)\PNM">6M3#V<%&L-UERY[H@0&M:6W2GXSV/ROAD4[ H!<&9FB M;93>S \W9)(UWO)M9IU%>ZKIT##2Q286/E_B>W#8E65"@4Q#:DSH"T=>\RJT M-16E6=3.]_H&+T2I!GW3PUSP[%!MRSZ82YKE+#:>T ?9:[/!09G3)M_2&'-'' M9'7/.(\S+[9@5ZX4(NB[OO\FL?9R-PW$'J>?)8TL!S[6,&$=JPU"N:B(W&;* MMF9F\L_2S#F?H\_[^.B(BR8TG3\[A=E9U_0C7%F ]HE%6==)O$_T/]:S(;CM MJ?)SF4K/[)'DDT$M5_V*-^-[_RT*]7S" Z_ZW@NY98&>,2&"EA8_K"#@4S@W M7 3WDE/=]VD3M*=O92^QH7RP*7\/P,7=I*O')$UFN6L:OFD0JR;5_EL?.9\.K@4;7 :0_?%[ \8NK3D] M?^;OG\$-"7_Y%1#!]$.QVK"F;]IX'8ZFL-/ZU'Q@LL-@&L_[ZRU,4;1[KI68 M9.& &]J:)\'Y7%WG0W::DQ.-OLA-'!"U;&S7N.!B(HO3V'0D3LW1#J@ M1N&(C_4"F'27"+%\<6#O\3#;^HJ!2*7'QM'W=KJ@_;NE[RG<=ZG:)/85CUS& ML,7YF;^(4(5$;B6+5Q+Z"VULYZ.:(+ 25&@?MD^]A=M*0NP1CNC%1JSDUC4V M?PJKZDM\#7 %+FJF&M?#C$/C7W1YC!(&<"B8&RXZR;B.=!); O.?,R<;SIB MBJU*T;_': M3$TYN*EPRQ)^F15 U.?Q+J.7#8DLKJ=F_3]Y>C8\MI \^7Y;@L=GFNIU427?SZO1[GR+(3R^ M#_.Y/L,J3K2ODT))P$RO;)_#U416+#+EPC![I*= YEKSG] M>7^DI+8L:?XF7UX)"-4X[L-TH,@];\IPPUI*X"0)+]>;B8.2P*DJ<8Q/MC@X MB\H_\&.KVP)#J.1Z]?]Z*KWG8C%1=>39.+=QD[+3EV>#RUA.X[FJ$%T^/GI, M"G]6D3\272BN!.JAEV=:$@B/\^+DMX='#Z?IA/Z V3"^]+E6:4_W[60>(P?G M=7S]87B)3'H>C!RGCB(%TM7!AV[64=+>DUR.QCYI]^(4&IOFT M #:\+S26,IF/YA2 V4/%&?F02XH** 7E_>&>#XR88MHY&/J:=4*^12GS5]"9 M!H/RJNY-?^QRXXX_Y[ANHVN5+T)FK\G?0_Y*-4V_>GH_R-%GYC+SFP M0:8#?"F1MD/HO'\ SHG++%J#89@AY@CVQHM0*5J5AB57# RHGYI>[]LDM->^ M9?#?FW467QQ>YB8ZGF!3II=?3]+CZR/%[6:+,'%U83F>(G%2]E_Q\?XS1+?G M8;]&/B)D+PBYP_7JL=]A!+F_.SP^F0Q3]HK5CQZ,Q;M)\A((-'@Q9!\0I'(G M!LZ,Z0!DCDEAF#-KCI\2%\,,!XW!%@VZ"U"1HNQZ2=\KI[=].2V]O;>-^(RK M$O6YF I>;L-YLS:Q.8S-P:>I" F%MRG6?AA M5]VQ@$.3WF_G>PZ4_LE-F0/P4.'Y<\9>RS*A)+,K+R='G#-Y;_VAU??8UGO+ M 98W\@]@Y%^:O)10*R+\B[CX\1$&J>50HIYF8W](Y%[RQUSXOD/\R1J^([/N MY.^ZA$\S_U=Q3N6/P<3'Y4_JT+X7<&!O)Z]D61(CB/%KRW/4'TD;A^.. M^P].=^BR$%9>Z?(75=3K\U$V8H5_-HX';&\ ML;7>M)LAP495_E\\MC@,-F3!-S9$[8;(R>T/T7!J] M85>0U< ;@'2]9E<.8VG8O^8+Z^C__LZ!<7]@[ Z,_S=8O\N$XO'4;D4NST<( M."O-3HZ.<68?E16KE9$KX:9ZR;I5/Z^AM"X1>JI:L5HL2LFV1N]4(2U3E0]J M%QT+1"PK]HQD@9@;H):WJ%D/6]["1EQJS6J<4XFZ,9).IQE.*1I:+JJ"D>PJ MEWZRDGIEQ':M@(%=F07 )T')>K4O4*$KYLEWF)K?S*_9^WI"703/./B%G M_5.*$A\YNP?^:TD;YU;YLZ[6JA(?3MB]U^C 7@HPV=:T$!@RU6O=6&RS'TZA MN9&2;7Q02@I*,-G6! D&?B<(&09$B (>1S%1' ,00CX+IM!'4>D;>"4X@O)5UO9T M[W_OV(1'P8SV\>DDCF*=@,=?04YX81#[$(A#B#2EDV(S72J%9)E MAW;RI%=]$0 3L.$4EL](]R#,:):$$5P]#3(6)3RBZ'UNFDG86J+=^X[%D ?F MQR#D81"X8"$.(,QXAL&;_3$%ZS;(DID;I'R6DI5G?!H%!YIZBO/(C(=1!E<* MXI2%,0_3A(4)GTWC3A5$'K@XE\2'+)WV?-HI_I+P@$K3/T+WO@VXI Q,Q>EX ML83!4$W0^K6K4(RZ6H@4;($49TVU4&7IBE(NU8YV@MHOR[6MVR+7TU !L ?U M6[Y,WT<"Y",8>TK81D,O_]P)0<"G#@'HG;+/1R2BCS'26^(-&I^68!\G49:,@CMDODJU%P2KM 6)JLQ7*.#?/U\*L M((J1I:OBZ!V>H_ MM#"'1 .6CM4^;/ND\+M[HC<5*A=Z^]%\HYO*^:SK78L##QJ&.-R#Y%R@!ZVJ MU@:N34:*U<7I0:W2BU+Y5MXRBW^[5.",).S25X+ =2V!RV5\AF)_M1;52O:1 MT_%\1I86YO=!9T1EA;\6P[ X4@"^O O([:NR*+>/BJ4[RK)H,J%>!>U'EL08 MQ=/@#2JYBT6%+MC=S3U0!SJPO^S1[ MDRF/D&%=.)BQ.>1B&+,:1P9&:N.]. M?#,RK MM"1Q(^?>!E,>*07]#V4/9224?MS)O\5LKT+)QMZ-!WOL6S/W] MI*GV4!'6PM0*AGHZ^- Z%ARVO;X^=^7#G;6@5R?':8\>/>( K(I]:0I_ M571YNNS2E\>)\&MMIDU!%UU_#>[OO4CT7V#R+K5V@F0Y@/MYKKJ3])Z&4XE;FVVBD'XBEP:A,/+U$J=TK>Z+B]*^'YM, M?5<^=6Z/.,C2U]O0!.D%G02:SAAM LKZ=/8RNA*7@]!ZI;[VAU'4]P+''E'& M@WNM>O1:ZAL'<$-=K0$H+\'VI==U-Z(#^&?3B/U!+ P04 " !:AV91'7)3 MP%<$ #""P &0 'AL+W=O-TNXTJ;U?G?3[KJRQ$:YG5JAI9V%L(SQ- M[;+O5A9%%9P:U2^R[*C?"*F3Z22L7=OIQ+1>28W7%ES;-,+>GZ,RZ],D3S8+ M-W)9>U[H3RGR5E^-)TS,6BDCO_B MKHO#CL/X*8>B2GY]> MT;U+79H&X4 9YPYAA19FM; XZ7LZ@,WZ90=V'L&*)\".X;/1OG9PJ2NL'OOW MB=B67;%A=UX\"SC#50\&60I%5F3/X VV:@3X^QG\X19_&/"'_T\T?Q@,SH63)>B]%BY82 >TL6H]5C"_ATK>RHJD@Z]Q MCQ]9\,8Z)#%6[\4M6JI)T&TS)TBSB*B.1^374#U1:I9?@>K<>:$9.@6%SE&E M4CQER>=&$[$6MG)PD-S,SEQR2/4__X=J$KP!:BH+E+ZUV(,+J0+9'Q'UIH*8 M]G[2*:Q4ZT H!:*J)+<9H1[#=:?X6GCJ3ZVJH"8J,$?4CX\2COHB:ZDX#M2I M8&4\:B^?0*Q%%5$D.5(XB!48DFP? !R6K256Z'I +8SC*$T5)'/ .%!IM"9_ MXL'MKXA]Q6Q*HN,HU"_18P^\*U5;,3=KFG =Y%VV2G"@6#&O20NX M6'!HU[0@"/']1D /?B>?A5'TY0BI*^:*57G':GT=(4,^!$@6%B6PF.H5^511 M?+J:\+5%#([4(1":V,B0&QE0&_(8\F;3BX)AD>7'<" U^9K6T0J%DS23\6[H M&M-J[PY/2 R?\ SPU6L.#H<^C*[:AA+;&WL"_^T7!T=I=CP\A,%P =%1I., M%O,\'60TN$!M*..B\Y>N4&!3*/LNM75D0'ICS/<7WE9YVMW%Z#C-CG(8C=-B M_('_CL=#&(W2<3Z&RWCS=&\/21N/^OFG<9$7O\ @S8O1=K;Y?PNVFWSI^![E MZ3 OON.[OR4_DOL.#K)>3N%]!UDOR^-\,#R,@X(VG@79L'@9YHQ+Y6(3MMFV MUK\KFBX8:Z1J@)F42"WP= ? M6O*S0=CEMU;Z>_A$W4H'/M=*:!BE^;B /&7?.!ZE1\5@W]>_O_.NHC);AMQ7?9@WE\W7X6=BFUHR_*@ERSWH=1 C:^&./$FU5XI&PO=V]R:W-H965T* "!>DJB1[ A:\B%[+#-$>;T1&_M0Z"X ->H#[NHF!?_Z^3+K[ ,'27EG M7R2@44=F5MZ9U7Q]6]6?]$K*)OE5.1/3X^/GS\MA"J/OGG-SZ[J;UY7;9.K4E[5B6Z+0M2; M;V5>W7Y]='+D'GQ0RU5##YY^\WHMEO):-K^MKVI\>^I7R50A2ZVJ,JGEXNNC MRY-_?'M.XWG ?REYJZ//"6$RKZI/].5=]O71,0$D\8=N,R%EF^J_'>5-:NOCRZ.DDPN1)LW'ZK;'Z7%YQFM MEU:YYG^36S/V[/E1DK:ZJ0H[&1 4JC3_B\^6#M&$B^,M$T[MA%.&VVS$4+X5 MC?CF=5W=)C6-QFKT@5'EV0!.E70HUTV-7Q7F-=\ FUS,JUH0<9++NA;E4H+H MC7[]M,'Z-.II:M?ZUJQUNF6ME\DO5=FL=/)=F"U M7,^2L^-)KQCO3./[!FO=[9EO0]22U&GJT246?)6WH EUX1K\C^7<]W4 MX)#_W;'+N=_EG']:R0_7/R=7N6A(,)./,EV555XM-\E'C-$+64^2 M:#+Q/W#^ITHA3UAH64M>)GE7)C^U^084/CF?)+G+]*UG752%5BY!+0REJ5RV3M &D"((T%)$D'<.06#N'A>-RL M9')$.(WLZ,$]>@+Q:%;)#[GX7%T7^/@S42QY3#./GLR2J[;6K\22C*5 #_#J*1=+VI(8[*0$I\KLX/\+-.63Z%/$H+!,P+O4JA< M0OV NFNQ,2Q'N J(CYV\@3 !B;HJS*QF55?MM<$JGY M1!Q7V$4>1E30E<"ASZ4D.Y-6RU+] M241DQNDAPR-IF35@+!N%(\&ZEO")R#)%Y,73M"W:W(AMBG, $1E3\IF)9J$ MI=D0\-&SV8MG1/.<3@=+/CJ[F(4':P )LOP+MHR-4);@(9#_ZF\7IR2YC9.IJ SY3(*'?L827 MH 7X(O"G_^KW,-SM.=.@2CNE;5T#>3!960$-28<2Z#TC700ZOV3I#*R:.W]Q)CL4.&!)^@8>6#_Z7,<[@K:\':?]CY$3':K3 \9 M5FS7";,1_%M5M 4]>G3RK,?R;($ 50$BT%K&K^_;20 $OE3,0$>75^]PZJR' ME([-+.L$0TVK%4 K[%%44%==6]U1(_&4A[',+/F(^0#0$V+BV'.@,2-]HTJG M5B8\T&MH@N8/\H!4LV'SA94#Z,P4H^C3+[>@,M1RSP:V&L'9U&S@30(KZY^P M$@*YH+2[V@",#X0R%F)K>_R;A!6WH.Z[1K>72:U@81W]9;2 MLZF3,[M=T$$4R_+&S:K2,BQ&W ?F1+RGIN3[L'=I#G!TK5M0+XB/,M;-4+I# MY$?'LQ//XO3SHY.(YZU.N9N6IX,3'4WBK)!(TZK.0"\P58O9QH;XDQJZT)'7 M;(YO18[1FC#4-&;1LL,:45^6*V>*'='T6J8*:C$C6&;))8O[T-C%6Q#'0_-! MR(GS5.,V-79O?+>^6=YGD[51,7WRGT8/[F>U)[3U6K)JRC>3KA$?['?^8*O> MWR^<['Z1F$= MBU\9!R9T.#9TMA9 U!0 M,O J?;M1F3F2&U$K06$(@JZ4='J'V%%(!59N"SZKF#RIVW7=0NAY:L? $7.2 MTQ=\/C<03(L0"]H2B_&R="ZU_*-5=:3'1O?B\"W6<,U*U=D4X@X+K E])6LG M8U%8DRF-=5*HU45;IO9PHL1#S). KJJ=!TB@9;(@A.82YJ\D0KDS.F%]<.&< MB-N^-=^G$8/'EDEB0^B>S'A.= +]\W';V#/4!JVT:LOFRQW=)"SOY!N0D4C7 ME'+5SJ*2'^2097_4"JS7]<%?@Q,CZ]+ 4TB8>42?OP5C&/V*8+JNX'$:-8<3 MH\V-D%: &$)'G QH$>1KP!B%,L1J*8U6#<%B3Q /P/2LNTQ&QL[G.-HX$X<) MDN7.*("!!\FR7H(5'4CAP"ZU?8D M 0_"8Q)9$J\BM!G$\MXZQX:HO 4A>(*-1VCHF1AWC/R/L]EIUQ]X\4!_8(__ M<39[WG,W3V;G#_,W^_MAD9[X>?.&"$P$?OG.V.,Q-^,]CCD.2 =NACV08.R< M&T"Y'5,[P>S.&=K02!G/CZ.]!0\G :V5;$B'CJ1G2>=&OD3/7Q .V2'O]6'L M);="GM:ELU3797CN%#GK;G+=C1[/)*+P.C 2&.RZQ;C^6#Q59=[/ MZ%-3:*NZ+2$=$?46@IF,HG7K)Y ME5Q#R32P_&FOPA,-B8M;':'Z-6TJRUHOQF3JKM"8])SUW]_#0.9?_>WT[.S5 M-G_]NDJ5&='8@72T5R0^)&/Q"H\I2IIK&Y+XD?Z6:;)/YML]L1'#?&< M'TUIY#J%+YY*OS5 GR2ZRLGT.H4*=EY3>&_9'_C+962]Z1GX<]TVQ%&8:S)P M:2Y:+;TU&<5XDFP'*;F>7E#Q"Z[G"_!@=^!N-HW6'#F)RCV6N;K FC;F4]8ME4(9WMB@,MM95[N.,19P,"A-1E9":&OI/>!,[TRN%3OO;!#-LBS3Y$/93#FG M)MDQK')O:F5]0T[A)#+NG7")R<9%-4* /L@%%B?O@%/"[,>Q'H@=NR@JL8%* M-EC 1@T\WN4FN5X:@U_-<[44)L,7Y0B#U]8O?L&\DRG^:RI@.WW9D=3IQ1?- MI8UGNKUXE!7TLPSV_ONWE[;0T+"+$.5_.:-P0XU*UN=4Y0T=E*$TZ%?BIZQN MEYT*[N.C=^_?'CUA7+R$$BK@J31O,^=6W4KCZ=952F&4#S Y\B36LJIT;A+8 M I" F-.J6#6KHA7VFQ#K&N*5!OVTF 59:U=4/ ;-!?1C"(;4P/HZ(:=AF\T MYX4CM)DZ*MBZ_HL)"6N>W4*!3&S-83.=@[+J +/D-UO;(ZK0(02R M[*2CT!J^LVMRT&M2M'.5FZ"&\+ )>0Z9TSM3@G01*(S@E=T*.$R=$@;;;3 O M $(L53>F%&@0^I5C+ B=,T-Q29 M.:,1%10?740UQ GF8P%.M]BJUNBIE:*I/TH91G5K6 :&H>3@C13C.'#V#'8@33(M(-%/8&(9W(8._H;I2P M@U?648#M19"(MDMD2!S"OL8/(A)NG'$<)I7XKP85)E(7Z@W-^;*YS+QM1+9!;LTQ]@^V=*5M$>9+3DYZ= M)K=A&-UVU$9(&_U?L9P+^028CWP#'\TUHE[*QCB=2Z'A*TXI'J4" 2EPI2GO M4YM\R0TCY&A ?L1^&C+ZZUI.O5$@\*%O2+V[1V3_N;1_!XX:6+E!HFMO*9;S MPB8K)S*5OIB'.F*O*%U8BW14E-LTZ7AE9Y\FDV3@G0H&28@,'(D3=)/[T M0RZ4"W96.\5A+7P-6)=OVB M&E+%"OENJ]KSVD'[SG:5DP!5WV>OL=9?XD"HFB0/?62[7,H+>^2A4296$=P" M=4 QK6!R,38'$/9R M">R[=JKT81YH!7+H5.ZXYN0ABFRH-WE>%8)9]AY-M%>WO;[23O*] MGS$ U?IZ^WZ]L;^(K:UP]UFQDUA';%,WB"UV]?'T7&@WY8H;(Y/+'T+"W/[D M)M@>Q* E3&.L7\'VQO:K/@_HW!_ODXV;8X/U. AW;U(Z:;=AZ,TP[.*+J,9GX#K:MHHCGBJ MKA;-K;EUL*P0T*P*DT9R\0% E"(4ZQVL[&P[YV/A /5GT)%5KX;(3':1M MRP"\$J@39\(W(%_BB5 M,(%1PY&%5LN2X?" ^E68X;\56D+37(,M_I0U-%AF4T#62+IRP-BY^26YG.L; MJA\D@=RH*AE\TU'D$0AP[^P&/2"6C'NW]0HFBTJA7 ;:[D$<(N^)251$SE#' M<[#!7]?[L ,C&H0"@Y>[D6QW8AJM4E%L<5BW%"K.XYR3%WU*K"D0S2LNBL27-J@YK2"]8J,0RNZVG69=$S"8TCUXSL0,G9YJVY3 .6UN;].^ MAXP3WCI"9[MF[(L,M4:UV@47/C%IDW@F=6=[UB/R7L1U^H^Q/J*$V,H6F4:O M-;@>_&DFU^01DIV5N+ M'F$E(E)F?+#^OE>6_6#OD0MMF5_P<76PC$T!!!TY) M^[MG4^<@=BD_H;PLCG'BNV,XP1]3VV2D_0DY[<)(^D'166D^1%F%MDF^+,((^E+EEM,LV^,@F%D&!U?AQ)K4"+%G)N!7&#N;WR5XYIIO##I5*K2H862 MU$V:0N&8.O M<-M,39#BG#.E!_<.[UCMU0\M]JK_;*W7BNP(20=5^KL>53AL MU_J:11=$.I9AI"TM4BGOPE"H#+IC\WO_PLS+;NKNO!OQ_B: / M.4U7/_?QFQ5X,9(4@/SQ/'G[_A)CSR].7R7$;MAWI9:K:.HY]D5#HF,<<1 4#>$&D]69"O &,X2&YT?BSYZH=P9/F>$E8>'"K>\VU*UE],&?9[;/N.N2<##T(4Y$.7@]6N M[(]7^#&D816$;3ND=8CA3,.("WB):V-X M#$&^%W.&5X:NM"K=E*:@A99Y3BL0$GY2T55P*W718O,-D[ZQ" MM/M&^4@; :]K>#:URC>AT26/+K5LDUCCN?48($3V731C@*[LK&LW*VX@'M.Q MV+],'IUR B%Z:K^RR@:H,L:K9A8FE3S5)ST(8_,=FWK +CW\3VV'O5UR8N$R*J7/ R:+VU4A M'A-_5RZ;)(_%$PIT+?3\'C3K#CDQ WO(FHR6>T<6%K#+WZE-_ZZ" ;:1&:3.( M5;=O^;V\3=[6[7(J2^IDHV2*=S ZK\?0!^!O$WLF'!%L*:,;9-&5->7BPO@2 M:-]O[64DP\WVMZZEQ26UM;EJ:LDWG6^F]J,=U99-O:'']B,E<92F-RTT*N]G M++V'ZQMKHC2+O:D;7J_5"XU8ZUNGR?P&?>J 88[%=PN%H< :T-$[:):2D_7 MLMG$EWK^*EB[TL6O<6%0:;(7$;JLR+=^1J_H]M&QGJ8/4+%YT+NQTE4GP ^R=&V M(18$-'7M\L6:>P#_G6)'R[Q;X@"@[-L_6LHDRU!Y2^8U!ZJ66ZNP*'MGO6=> M+T"14OJ18KJ*WH5;?JK;=9-N=E8L?4R]-Z$S$@?97OR3X[@7G]Z%:!IF.6HQ M_G !:H>+>C9%4+5Y9EIMW6G'=R2Y-6,D<'#WY@;^POY7)O9;]K>\.3$X8P\MK\(RC9_B:WM7[99/4K!$=4, M(K/D%T0&U$<_R'OY=P!W>YBOFXI>BNC>$]![02X0VYYCVS+1O)[()[4OM0:* MN4^0T>L(+^FU=*/=Y>$M*">39QDH]D2:09 M&)+Z_BO$8,1*^R)LWY?$^5SAHC)Z9\)*R86[\'M#%%Y "]63Y*=J52;O%?7W M3 SW_ZMB?PR0>/4PKT3-KED&[4Q)('#EI8D$-35/D,6]\* MA9\H/6.KV)3O3]95#JU2TR'YRCD%$#G9>L ,WZ'F.CYGR%A#Z68:DN_N"GC( MSO R@I*?>@.NEZ3H@3XVBPL#'3!Y87,3T,@?OR3$21Q?4?4OP_KU]Q#5NVRG MX+<)/.S=I1S;F@H; [B-./ZUK73QA!)57 [W.-,TC_>,VYM<35/'5<_8LE.U MMI\^BZ^&',CA,R8J$\36*)FF]GH%3FXE"Z6MS^D*4?&AU\J]DI*N2VIM*Z1= M@[3_$(7656H8!J<53@D'0&7S787(* 5[ */NYSA^-_-GZ Q^HS"GH3" 7G<@ MI8]SF1$H(>/IO%6'8 9P'K7L?&H<-5($C'UL5Z!_D2=7W^'$#(JVS^Y4H[V7 M@;&V,V@V[34":Z,=IJ8#(&BS@&-5FE>,0G=3BUQK+_KR8E;.QM],_C5[^#[99\I\XT";J,G\'P#]-W%]1N#1_ M/" ,-W^"X1=X510MYW*!J<>S%\^.3 ; ?6FJ-?\I@7G5-%7!'U=PKV1- _#[ MHH(&LE]H _^W);[Y-U!+ P04 " !:AV91H98JI&P$ !X"@ &0 'AL M+W=ON1+1 MP[92VLVCTOOZ-(Y=5F(EW-#4J.E+86PE/%WM.G:U19$'IDK%:9+\'%="ZF@Q M"V_7=C$SC5=2X[4%UU25L/=GJ$P[CT;1_N&37)>>'^+%K!9KO$'_>WUMZ1;W M*+FL4#MI-%@LYM%R='HV8?I \%EBZP[.P):LC+GCRV4^CQ)6"!5FGA$$_6WP M')5B(%+CZPXSZD4RX^%YC_X^V$ZVK(3#;C[>[C! MK+'22W2SV),LYHBS'>Y9AYL^@WL"5T;[TL&%SC%_R!^3CKVBZ5[1L_1%P!NL MAS!.!I F:?("WK@W?!SPQM]C^)6P=^C%2N&!\?#'435Z=!N,/J'PB"0X2&9I\^UQVJ%MG=Z8'Z'V>YUQ*^C M$\@,5:CSF(,IP)<(A5%4ZE*OX8W4]&(:1YSN[>E3F(_QEOEM$^#.C?-PX;RD MVJ/K<^_OA;3P6:@&.>7PGJJ#@PA%0T+AS>@MO(+I:# Y/CX\'(T&Z>3@P'1/ ML N+D"GAG"PDR2)[,O85>R+[N].HQYC&0J-%DTO6C#R34_OJ3LXHF0>%5T() MG2&$HG5#6#KVW&/?#((WO?%"O2!UCT80KXY&PRDU":6XW[7"D=RJMM)UL:D> MF\=,TT.F7@1_29-ATG\I4>74FWQ)"+?&0B$UR96DF]04"]]PDW7<@U5.+0SW M=CT*\/>;=9+\"[/(%^G39HU.AN/_8-:EWJ#S-)<\I\/C8OIHP%'R4PN1@9) MB>YJ>0FE4:1JN,Q7W%;(SG&CY&$S"+19*;$ W)+9/%5)2B$SM .X-=27*1"U^)P6Z/UE"'L>MQFI=!K;DPVI [5I @K06A/X;UB M_41.=4OOC%92Y8=$VCF68E"@95UW4?J"%)G,6)INH W(JJ8^5'6-@)I W;+1 M(O2L[C5O..O!K%C3,&(HARG#.^7<7AGY(+U"Z$KR1S!+DV\YWWFN(L]5>&H@ MQ0?;0(5V'78>+II&^VXQZ%_[M6K9;1/?R+N=C.;AFNH %!;$F@R/IA'8;L_I M+M[48;=8&4^;2CB6M!JB90+Z7ACC]Q<6T"^;B[\ 4$L#!!0 ( %J'9E'[ M6.$@I ( "(& 9 >&PO=V]R:W-H965T $$C3\M*.=:6MM&X@D)@T;6-\0'QPDDMCS;&#[33KO^?LI%DGUB+! ME_A\=\]S=[;O,FN5?C EHH7'2D@S#TIKZVD8FJS$BIEC5:,D2Z%TQ2QM]2HT MM4:6>U EPB2*WH<5XS)8S+SN6B]FJK&"2[S68)JJ8GJS1*':>1 '6\4-7Y76 M*<+%K&8KO$7[K;[6M L'EIQ7* U7$C06\^ \GB['SM\[W'-LS8X,KI)4J0>W M^9+/@\@EA (SZQ@8+6N\0"$<$:7QJ^<,AI .N"MOV3_YVJF6E!F\4.([SVTY M#R8!Y%BP1M@;U7[&OIX3QYP YA$ M>P!)#TA\WET@G^4ELVPQTZH%[;R)S0F^5(^FY+ATEW)K-5DYX>SB$^,:[IEH M$*Z0F48CG;@UL] 2N7,)LYYHV1$E>XC.X$I)6QKX*'/,G^-#2FK(+-EFMDP. M$MYB?0RCZ B2*(D.\(V&2D>>;_3W2B^YR81RQ1KX<9X:J^EQ_#P08SS$&/L8 MX_\_S8-$KA6GIF89S@/J-8-ZC<$^=K@K$0HEJ+^X7(%EJ:"Z/$Q:L,[()9,9 M9P*XI&*;#F9+9J%%C5!U;#F0HG!!UCZ(:QIJO*S1VA'3X^?&N=#-6*Q2U,/U M ),Y7&+6:V.GC<\@W8# -;HW;4LNNUR>^$N.FNFLW,!;;U2-(1[S;OI2A*^> M*.[7I%]'<*5[C3MQ7JE9].!C+52-NU\* =!N!YU_=/[MWTO&)Z19=+ MYUT0-#H^/0E =Q.IVUA5^RF0*DLSQ8LE#7'4SH'LA5)VNW$!AM_"XC=02P,$ M% @ 6H=F47\R@^3$ P E@@ !D !X;"]W;W)K&ULK5;?;]LV$/Y7#D(?&D"-)%*V9<,VD*3M5B!%@V1;'X8]T-+)(DJ1 M*DG%R?[Z'27'L;$FP+"^B+_NOKOO[LC3GAHE7:KJ/&^6R2)*QML MA3LW'6HZJ8UMA:>EW2:NLRBJ0:E5"4O3:=(*J:/UNEZ;V2&F\LN+YM MA7V\1&5VJRB+GC9NY;;Q82-9+SNQQ3OTOW9 ?!/Z0N'-'H5 B-[[O,:.#R:!X M/']"_SAP)RX;X?#*J*^R\LTJ*B*HL!:]\K=F]RON^4P"7FF4&[ZP&V5Y'D'9 M.V_:O3)YT$H]CN)A'XP)G#9Z-] MX^"#KK ZU4_(IX-C[,FQ2_8JX!UVY\#3&%C*TE?P^($H'_#X?R(*?UYLG+=4 M&W^]8B,_V,@'&_G_#N:K..$B+EPG2EQ%=-,W')XTXDOVM#8&? MI@RF\^R%>$&>QA-&69C'$\Z)@7,+>A'+ONV5" &LD"JME&)\*DE5M,9Z^?>X M\9;SF'%^-DXFV=FK::'4QJR8TSBED<$O5 0[J=3SI!%D $IA[6-(UKU0/88< MBH[X/,A09^H1WO!S1F^>4H-/+@C\((W!@7^E\AR^4#U8N"A+VQ.]:RDV4DD? M*F\\$?L3=73RL^OIR7K7V[*AF@E5S^,B2VG,8UY,GR6LJ2DG1%2H@1'U3R.&*CWVH]MX[![:+H78Z]Y%A\[]F=AMU([4%B3:GH^FT1@QRXX+KSIALZS M,9[ZV#!MZ,&8P"\R(YO[Z?-W 7#1)V5[O M9O,@<0Z@T;LBR>G9^[>*,RZ8:F4#G>K(S- M9(E;NSYWA54RX4E9>CX9C2[.,ZGSP:L7_.S6OGIAJC+5N;JUPE59)NWN1J5F M^W(P'M0/WNGUIJ0'YZ]>%'*M[E3YOKBUN#MOJ"0Z4[G3)A=6K5X.KL?/;F8T MG@?\4ZNMZUP+DF1IS >Z>9V\'(R((96JN"0*$C_WZCN5ID0(;/P<: Z:)6EB M][JF_E>6';(LI5/?F?0GG92;EX/%0"1J):NT?&>V?U-!GCG1BTWJ^+_8^K&S MZ4#$E2M-%B:#@TSG_E=^#'KH3%B,CDR8A D3YMLOQ%Q^+TOYZH4U6V%I-*C1 M!8O*L\&J&(KI*!*3T61T@MZT$77* M]*;'Z&VD54'46[D#LDIQ;:W,UXJO_W6]=*4%3/Y]8K%9L]B,%YM] [U^'27Q MP\^5+G?B=1Z#>T!;W*8R=[@7?Z]R!:V-KR)A*J#62)L(LQ*)MG &8YUX4FZ4 M&-S0B\&9D'DB'"VS,6FB\%H6A37W6)"&$:'.*M=;HD9K!2K\GNX'9T/Q8SV! M![BJ #D%// :5A6IC'&CELIEC:K')$TUF<*38WAQ/%P-*G5>88\0:NK2( M0#E)6KH2!'2^KMD@EA2OW:@O$"(C:%(>@B^OP9S2@KI1$-M-F()YB2!E_A0+ ME!7,O-M_:14 KF.2U;^IBK7'N*6@ZJ(6H:*H8%80"*](O80>E16I MV2D55%#?=B ?K.80KJ%$YW6=5]D2-H=&'44'-B:1BTV68?G T;W4J5RFBNV@ MG:M8C!Y< N U0/AS)5-BB]X@UQ'))_I,7$:+J\MH/)N%I;Q03[0^8V"$]5VU M_ \8IOE!]R?0B3M9BBW@T\<5BW%=6)V*R23R[-%BC#2Y*HD.D*QS6:I(J(\% ME!2)5!90*R0$(R3I2FFL^[Q%(:\&-\H,!N F%^-9-!J-Z*_F/Y,[.%L,Q\B":4K8""O*JMP8JW\);G+2 M/*PJJ];:0?Z>3N]47%DX- A>Q^QBXZOI-")=2F0'$K\;A?K#6V[[X2]HSGWJ MOWN."96D%=ONF')\!,N?$KCT2C=^UI XX3S[SGDL$"!;<'@,E.$%TFV"MP8P M$AN))J%P :3K>YF"7W9#E>JU)B]I?''?Y^I026F,@Z%EZ!>P(ZF%:L6ETXE& M=$ >G/:+6#!46X17 3I7$ M]7@T>EROLY+:"@A8J8-A(4 [@1/1>V_;X&8G6#D1H2E\+.:_9GU66Z*\=\-L MRUU78Z]7$4G*F0R5-K13QVZH09Q\?, M2$_8[=,=K];1: VIFFH=>0G;#:21[I0%ZSNQD8"3I&)<9PCSI'..&R.Q4S(D MG'LXFJ#L#Z8AIW^QLB8[9#I<^5IF @SPS& LE%'93;:Z M#[',*MJ-D73EQBH_!_GN)\71.<2@(.-6EQN8&X43^R 1Y(E:U9J\1YYK5.5Q_E;VE13+?:N M#9(>%^]]34/%TAEI4Z;.!'6V^*"W@6('*RT.P"V7H!W;4'&D3>)M 2,_+3?: M)C63GQ8&])26::Q%@49B/2*&Q62>(])9AS!:$ZE'$MP58B%O>#S\K.=+M@CM M\3-IX]%13KX%(Y0$_>28JKM.;U%JF?#N^?.Z:(CMI,%K\(BS%=3)#F*/ 0C$QR,H@R[;KU.G5$)G7NNQHM_J9_= M'JZSCV'REC%)8:$S4=QPZJXSY!.JL_>!R[7S1U0SE!Q]S*)'7$/7CSOHOF5T MTZBM.DR!%O%UT"TKG5C"(^\!OI9@@RY1:X02.8X14E854GV\T7!#UCUT&RM; M(I#!RK8PEL$*9$I6'(I $(2S.,*-*U#T<%5$VJ,==%-[!'QTK;JQIEK[Q5$O MI3KFVKZ/F)\VRJ?7[L9E;: YQE&BP"5GAB5E);-D$I34.B*T>:K<%7YOX_RXN\='S,*U:MP%JGU+G)2']BY- 0:V6-VZ6PM0*C6N\6(_ M #)N3=BRZ!PY.$TSKN<8K_/1XT8M;+2N='6ETV:;[O!0G*RTI336CP,=*GVO MC_9C"]6RA<:X$Q[_6>9\O3IAS,!/DT,H,CMJA:"8N%=I]+G:IBXE(;&L@UW? M [:F DG@I=DA;F2ZVB/.4^K"@[T1^0#C;1F2^R=\=(H97I.6"@2^5&YIUZK\ MK85^0%[623_A?#L)N1]%@?Q;R'A M*T/W^XA(8\IHR?9P?X$;V^)N4_\T1Q5 MA)>=17;@M]RJ$-M:H+,S=\S?;EG[YJ3]0)= 9XKOT?04O$>E45AG@U+Q]H$B MMJ1=&IX7)N78-\3.NI5N2<<'A[PS4,4S;#+)5+FI=;541/M+(6_( \"9F9+53BUO$NUUK&0R;T, M%1GGJJ7F=H L%%)[C!)(%YQ:,4>NJ&O+H%'Q)C>I6>]@59C#%#0?MF,2=ZHH M>>_>]/%9A21W)LNZI>1[-$&-3+71W@$X-RCJ.G=WV]X/8[[OS-F66D0AH6*9 M&&4%J2S=L<5]?^F0?:F;<\"^]/BD?9,_L($/V#>JVSTI4_$=UWIJ0>VLGH%[ M3E(GJ*Z?=)R\8^6@S&#EH,,#5MY(LK'*]ZQ\\6NL?-W>1%RLG$PS?5Z;&M:? M7AP5G0=_#6W>T39%V1'RX[U=TE>42_46;:\^8@=8''& Q6$'6/Q/'""F5M.2 M\@8U(FHGJ-'>Q7 D M%&)J)^QUOG?,A1Z)Z6*._[/Y O_'T>3RRO_.KD V12VQCNJ.#$^6"?"N.>M0VV$< MS:^N>-Y,S*+%>(K_\^E,_,A]9:)TM9CQ[^5T@M^+:'1%O_/H-S=-_DS=_%M/U^.#0\ M)@O.9_.@=?][L1B%#AN8HX-B<3&"K2[&>+<83_!_.@KN.KF:B^G%0EQ-Z/'H ME=OCP5!VM-NL^@P&_MT<&E_T#BNIQ]0]4:%# MU_[QL71]8)#50C (7:ZVEOWTG,$WR.C+!'[,,?C1:#AMCC#][H=/:%()*-[% MV-@H]_2-LJ5I!*!3#W_(DM!^1X?&60MNB4UA%HQ4N7!B$?@Z< 32D[!W /6, M3ZKO>0?&W7KNNH'K^7AX]3CRI]56NP]/5X0VWJ]1R6+#0<9H.'M<'VMC)+9B MY$GZ$G5!R7!=^'9AOC! M1$['U]6:CI$^$TGCBS\ DL;_AT@:#>>?A:3IKT/2V"."9?2[PQ,=R5;%H?NK MNM70@VG"JE2&@T)NZ'2TPM!X-)LVL9J%>C2[;!]\72:(ZB8&Y.#B[.B&N\J_ M0!:JBKDH;]3=GH[0N180^&@VG#2XZXA>Y:$&.XR(J!_Z#DT\#B=,GCPPN9>! M>+'%R?'M4<:C\0.D.4>%KY9R@7J SW!JOVB^2_#]J'Z#>_AP\=<>$^Q]E]8Q M6[?)S;CV)>UL>.A3Q?/.YZ"90IE/'[U2^*GRTG\9VCQMOJN]]I^3ML/]1[EO ML$O0B 6I6F'J:'@Y'_C/2NJ;TA3\<>G2E*7)^'*C)(IU&H#W*V/*^H86:+XV M?O5?4$L#!!0 ( %J'9E$7T6&PO=V]R:W-H965T M2 +LOMDC..7/F<$BN.Z6?3(5HX;D6TFR"RMKF M71R;K,*:F4@U*&FE4+IFEH:ZC$VCD>4>5(LX39)Y7#,N@^W:S^WU=JU:*[C$ MO0;3UC73YSL4JML$D^ R\+MN6(D'M'\T>TVC>&3)>8W2<"5!8[$) M=I-W=S,7[P/^Y-B9JV]PE1R5>G*##_DF2)P@%)A9Q\#H[X3W*(0C(AE?!LY@ M3.F U]\7]E]][53+D1F\5^(OGMMJ$RP#R+%@K;"/JOL-AWIN'5^FA/&_T/6Q M$PK.6F-5/8!)0!Q^N ,OD!4 Z %*ONT_D5;YGEFW76G6@732QN0]? MJD>3."[=IARLIE5..+N]9PVW3,#!JNQI'5NB= MQ-L#O>GCZ GP%GY2TE8$' MF6/^+3XF*:.>]*+G+GV5\(!-!-,DA#1)DU?XIF-]4\\W?8'OX4O+[1G^WAV- MU=0"_[S".1LY9YYS]G\]^P]P>'A&G7&#H KXW+A.-4#]!K9"D(2$NC<8G<% M]EBLCZA'CX#)'Z!JD83I[1Q,Q32:D(Z5:= ?#'$. MH6WHG"@O G#098!98,3FVAOS7]@)-9W6<1T:S3.O_F8>318^R\TL6LRA(3D^ MS_=I.FXKD'3A9,Q4A%<98FX\11+=4I<+X0]LSS2_3'Q+$\%>\Q.S")^+ C67 M)7R0\+$EQ\;Z45K49 "75E$-!\Q:S2VGFO:MSBHZS+ K-2)=,K97Q2AM47#! M'3$)NF+&?6*:HW3 M46A5^\[YWIO0YW>>CW9W9 WYNXI6%X,C^/TG4.B8<;M=-[;GUUAR=YA\FUP[ MXQ+W@6ZE<$VLF30LZ[OZ>';V>M=(BK*T+244E#VI8:7KL] M\VRS-^SMF_2MSW&UC[O,AGX''K%L12_I_0#],33ZV>&/KR[/&G7IGPA#>]5* MV]^CX^SX"NWZR_=K>/^$?6*ZY%2IP(*@2;2X#4#WST(_L*KQ5_%16;K8_6=% M+REJ%T#KA5+V,G )QK=Y^R]02P,$% @ 6H=F4:^Q3ZFL$P :#< !D M !X;"]W;W)K&ULK5O[;QLWMOY7"-UTKPW(LAZ6 M'VD:P$D:;(ID$\3I%HN+^P,U0TEL9H834AC;]HMT,:C$1_G M?;YS2#W;&?O9;96JQ-<\*]Q/HVU5E4_/SUVR5;ET$U.J M^LCCY\_XW0?[_)FIJTP7ZH,5KLYS:?OKB@\3S@GUKM M7.=9$"_5291DM!#*^A#5'S98TL?L<5W_- MO(.7E73JI0+G(E5I?_XY2&OHFT?Z7LP?7?!.E1.QF([%?#J?/K+>HN%W MP>LM_@R_XI5V269<;97XO]N5JRR,YO\?V?6BV?6"=[WXJZ3\7RPGWI?*2OHL MWBK8*U[45FSAL%]J:2ME,0?\92:1E4J%+L1'E>Z,P3*ZVH_%2YEI.'NAY5CL MM@I#=TJ8)*G+O9!E:,#>A97XYOOH.=B^F?I>!$4(N9'A("_/C&SV7<)9SF= MB9=;Y62IY&?UAZ@YF-JC:")^A;%GXA=98'^(9N9CPYC,5&;.>.4?$CV_^2X) MSK#SG=SH0N[^$,5QS@&IKVI+0J6!<$J-52+9@6I\94V]V0ZSX^K5,#.7X^4Q M,[1+CPY1&?$.WF3OI;BK[48G,AO#?9*)^(2QWDE(OW$?.*<=6&9EX#'J:ZFM M%Q*-4)B&/2/91/(0NVMKP@T[>EA29C='^4Y<7XXGLXYOT>X;GA=)@= M3Y!GYC=ZBW#),1*2I&&ZT)6661!=+Y*0Z*0HC66PP<1IUX8]>,P%R[IJ)+^5 M3JR4 C)!)$>V%#F0A"XSZ VP!W,UQ3B,+TB1,OT=:" LR LIF[LHA1#P1ASJ M* J^*5JQSZ>S&Q9NCQ^$TY\)LD -M#]E$Q'8?.M7$QT#/QPZ'$[Y@U6N!.:* MBQV$N#&_/(PWC6B&7)]64E\K%880XY'OMXW9RC35)'IHQ]N>FX@/M76U;/DZ M9&)\M)Z78_AP0'E#XQ'QC28]E2IM+/R=9-^XZGH<[Q<];9#?@?5,7.J&+7,K M[['0SHC$%$XE-4%;84H2@'M$7'TO_PLTPY(OCH5/&ZZ)IKV2 !QX&:ACZLF' MK?I2LP>"6E@,0((2B;(5Z@CZ7C:FW8V_8BT3#2A ,*?:PG=W<3$&0$'/&IM9 M36$A(P+S9D\X/943(41)YQ!&K*I !EN_665Z([W_WBO;2*\A)5@V\<62=+RR M5?=4?7 8<14'K+2[EI().06'!FP=!$1BS4F0WK$]F-. 3X O<1DGDJT$K@O; M),:2+3Q"-U/Z9#J9HU3(,JYZ^!50=*7R%7B*P9;W?Z62\)8C,T>)K0:U)*P MC1@A(@%@5*;E*DK?>,Q6%[*&ZC$*AIA"N/[) :^E+(>5S!BJ<84">=TF"5%. M8F%E$%\9CX3NB/='N=N!G<+DI-EC[^ZIB@.##WI?E4TT$4;+6PH!-"-5F28E M2ZBRJL@^UP*D@1EB.-.JIC=2D'=9,KT4&G2ZBIY\. >Z,AEQ8H$0OA'GS90H M! <4GO$71.%*%I]%@+XR-W7!*>W);#+[T\ICK&9[I@)Q%6?@@#R$_F#QFJ; M4@$ J;NZ+*$,VP2MLK9P"A^D._4%19/2YS"."Y(K"$K6 ]^QTY8EO%5&_#[ M< ,^=!'5T(W=*Y50E:+6ZQ 'ZA)"#+:TC\;7$J/[:?AJW*3N.+8CF( J0'H? M-M%$GA=!2W]5 BN?"&RT@NV(%*O))"'SPD0.U^Z(_;3F'+N2=D/AMQ5Q2"A] MD-0D$D89$3(1;W^!VL^^0^VZ\,THC3RTKA0E_NPV277CX@A+^&1.ZJQ:1O$#[-SXH2#@JD=EG"G3T$M M:!*Y[ZMX.- /"?\ WGWL>PX9%"$Z3Z][!L"$/ 4PHASU348(R\'RS*S/:A?2 MI1-/Q/P*_RPO\,]L?DG_7BY@"*1VX%-,#"[5"=L$%F?S'P$I9N)Z:&M:LQ,[HD]EILVW\>W'5 M/-[%.@!9SN2J>7\ROYR?BI/E$O]M*8( PKN,AW36-3 MG%U/Q>T#^APS[H'->!@C@9WV3O-@6:!ZSY#_HQ8B,/ ;AICXD'$-6]7CL>Q? M; 40-TWI(9@C*V/YG[2FM0C*.O4N.)_3B)FX&,]NKNAQCL?Y]9(>%WA<7G.X MN\#C%<(4'I>QE$%UL2;T-D, N;D(+@Y0J?,ZNFPI]QZ1+^;CQ6P!FAP\0>=E M[7NF(=J=7(ZOEM>G(:R_[Q@?#& Y7BZ7P6^['=O86/ YDC/=WK=AE+WGUJFU MA/I#25 $)<#M,X02@%Y.@K%1.D$L\RMT9Y$:D)ARB>2T9S=:ZZ]P.[S#!KDL M:E12%?6Y??^'5L!*D8"8FH<6(FI2=:\R4T;?:]?C L<:8-T8=V)-YRI@3*J8 MNJ* Y4$.;GA;5Z]^#WV$:'[^(*=BBR:;#:6$+UIR9.A054;],4 /!/366"LB MA7 *BTBF@::O,Q4S'W#RG!=JNXA%%\1[4E-;=46P83.^W5NV(&;.GQ:Y4GP MSL)E*3L8!'BOJ2G]A# M0^<0MPTH_+0O5>?C*TH/@;EW@;D/0LZSNEVM0_6:WI^5!QJ5P6_\4C'2-A'/''Y1*]>J57;)JQ+,HTGL^ED&G%X MJ%?3>U\;Q[FWX44[E8V.;/_>9/><:RAUM[7WR>AC\]7;\)4G?=1LO&SW#?5& M$>LBE]OH#_4&)M]$T8F#61-Q6?Z3'$OIWA8'U6;DK M?&HGP1](G!L_%-=H6"S7&^$VK;F'V*=02>=C'(A@T!2]C7B?5(8(\MWX&:_2 M?W) ,#9H3?2H6DZOE#TS+B<9'/FVLN>@[N3V%FZ3JJ_A( M<>"$" \0[MR>]HJC9(2F \ 4+:J,D M*,, :T/A'AMEE'=#WX+!5QS3YLD%:D]8)M=HPMB:<#@]R(6. W !F M(RB)TQAUA[&^/.0F"\ERD)W_=8-T1;I]4S% DV"B\;"<; "0QJTYB<26Y9AX MJGO'*!J[KY P"66.D38V5*\1SEK[F][ ME0&M@;)5'8;R-[JX5Z'S/:983N9%-H%/#FH-'8D,%1UQ.Y/47SKF I<1>@5 MZ1T$P.MJUT2V5H:A5QR.%PXT-NX8#5$<[YE$4_?&JWUH>6@5'8MYS""3>2#Q M<(KAMA+A7N)=<\766%;+?43T1XEGR(>D+^IH3HP_9Z: 8!N8>92B8IC^!W;, MV_PQG_B+0KVY:XHS,.D2HB0N=:>I=)#XN@=('?A,5D^-P\0'PVX[*^44$](I M7PICT&N5Q[U A;"PX_3:1.?O",R=;$N]P W8^$"UD/)77<(A%&7]T)"G:!?Z MW'P@NZ=LIJSF8S1?(Y/2XYE4!/S-H(SW*-L])IS+\D*O(0(?CP>/VQ*S*?0W MQ3$XAHEH"7 ;BX22U;XM#J)Z315N!-9YZ'SSH;BC8YC$#Q>;6B*Z5$JUYY2- MW[;8F"TQ8[QK+%S>UB19%+GH:[,Y5>.[.W1CK] M<* >[=@@,E2A"+7^I#));.V/5C\79G?,,PFK@ &HBX.2 MB[0N*8&NP'MS-,GDV1 ?"N.WDYEWZW HY[K-Q0>V]T>_^WC:3J[DJ+; !F^0 M:1+F^>7[?[YY=8;J)YCA09GHU5T70:H^OCG&^J[.&JG%\ZMF-20RT*3#I8ZC MUWR WM!#AW@MPO"P+J$+<5EHM\(=Z% QH=-6H E4^Z 56DMCG9[YXUH(6?I3 M@U!_*T16LX?5CKDC&A3 #J4..N75R6?"!6QHNYTA8+7DLJW>D-AOE%RP$)[MOL5FWMM_2E-27&4 M:O1NLN1^4]TIDQVVL1U@TS =,W(0T=#8R+N'CQ[^*0I A=KUSY6(?$X5#'>( M=]#/V"U*V]^7D$FX= %$4WBL$2)517*O"-;@V<6M&R*CT;4DT3VTC%2Q80 & MHF2 8DTV;-X M'[FL]A/AE.;O_X6H4&OM4"QJ2# QL'8WSBB.!%HU84__0M= M$[;KXMN>;B"%(_E&3%V#_+O9D6S'\0J&MP;NN16AX]QMD/"QAME0UR!Q+4D^ MSB+B?*DY'XX)*-HZG#O2S8/6&"-2ZLUM2"-=>>_TUPA"5FL9>X@IZIE9, MGD<*]\<7,0;V?&0@:':OW_3C)?)Y")=-C/2JQF9K*K@2?QH?T\JX%^W6G9C5 M!M8ABSL9O><'6+'_.D;@AO7NV0-,/.U<^0SB0S*4M5/Q]EE>P@"IPNX7/ ]> MJUWW2QU2Z"!?V?#7F;XX2"P'J#9'L^;VG!HU, M:X:L%H,PN"Z[XQCE=N^_M?4$"NQ,?XLJR>7O)J8_$ETX18I;)Q+VP=7>;5/V M4PR.#4HR:Q2^PN74E''(3NHPK%='RA2ESF"J92;]_9HU)%O>.8/,MAM<^843S.Z15GL> S>[6JWA=PJ%>+0 M_08/K;U#FH;!>8^IT_QM02P,$% @ 6H=F44EI+AW0!0 MU0T !D !X;"]W;W)K&ULG5=M<]LV#/XK.*_7 M=7>NWY(T:9OD+DF[6WI+ZTOZU8 MY5&H*H>3T>C)L%+:](X/X]K4'1_:)I3:\-21;ZI*N=4IEW9YU!OWU@N7>E$$ M61@>']9JP5<R?C9Z:Z:U[ZK6<23V;6 M?I27\_RH-Q) 7'(61(/"WS6?<5F*(L#XU.KL=29%I3S7#5EN+3+/[CU9T_T9;;T\9>6Z>P.#F>-#[9JA8&@TB;]J\]M M'+8$#D9W"$Q:@4G$G0Q%E"]44,>'SB[)R6EHDX?H:I0&.&TD*5?!85=#+AQ? M*G27QRA_A3NK F%)Y>FISSK^6'@-+AF:SQG$[N M57C%]8!V1GV:C":C>_3M=/[M1'T[_\<_>NN4\2KRP=/?)S,?'-[^N$8GCXMF=@$=I#4)EA2 M=!5L]I&FC/?SE8#(9/;\X.8]/X^>_4=TXWRC( M0O.RT%DA]NI6=4[C_M[!?G^T-R)?*,>>[)P@_JNG*W903">$/C%G)_!\Q(4F M0@_&@Q&87)9(0O0GL\:T-1I!AH(I;!+5)]LXR@K-<^+/@"]E#%MSG;'KTRM; M&'JMI0[ZI$IOZ5^+X.;4>C+>?^YI9I7+!5^N'4Q9YP=T$J(EKRJ80Y^Y+9H7 MRN.=4/*EFEFG4B,Q.5VR9X5 ; 7XD6C;1'&ST\4SI0!;T,UF 930_>(UPF3+ M5<5.$L;F"QZ]',FYA*<.F.<((A3I2!$QGUD?'C.68T\C;\LF<5H"+#BB&L#- MR*]0G^QU3 ^,#>@=2C6=^@IF5*R#1ZM-7/0!?W$'DM);.Y)T"GD:[(G"P@6NRNP1T?H8L6Q'FA M9R7'O"B'#.>YEGA"\9U43F07\@8X$Z,4#6#.@*K77>! TH#9B*AZ# H?HPSV M,[08!CA1$N.7V6J&V,04J/Q:F0RV9 9K="G!$.DC\=WFB--MJ! T^!07H0D! MR[0J]9=(V>_G7'EOL\0O)'>35.0+HYD2_L1X$8&-O2!!81=&/T%RP]&@[UUY[HW) [/IN$UUE @W/&0D017 M:6*R3$R@KE%D,]A;#SV:.UMM-T#?-8[8M&Y*Q'05ZAN ",E<&] (/)#\,OS, M 2JJC\JFR?TN)^O"H*7RN*7-/']JL(_(MYG(OXW^#Q0*)-^@\P(WO)"Y^Q>C MZRN:_GD&(!5-!W16@#UPIK 1BO0Z,).JY"WT"/EOMG)J4(+E]EAL)\"W9J#M M93= WL-3FB*%.H>/?7I3<^KOJ43/3;KP2B3?;OJ3[L;O>&\@]$#KS6FF;8;+ M5[GR0>HP;[(0B^$&@+;:I&DXS!1@;,>I]$.UB%Q,_=W$FPEN>J:9XZ%Q+#/K M!A_'V^G>HETD$GAGFT4:J#EJ.Z;"MW'N9F/.-2X=,)"8<7N,;S$]Z4P+8BP\ MN0W+'63>CLQ/5,GX:5^JKT[SKUS=41A1VPMP-ZV.UZ)MN1C;$ENA^?L$=0O8 MX+9KX7#KJHW6MH@?%))1D##=NKO5[IOE)%W5-\?3!\^%0W0TV-_K MD4L?$>DEV#I>W&&PO=V]R:W-H965TC]RTDPZ08^J?6FH8'S5R^J="VO9/-K];'&W7F_ M2ZZVLC1*EZ*6JY>3B^#YZYCF\X2_*[DWHVM!FBRU_D(W[_*7$Y\$DH7,&MHA MQ<=.7LJBH(T@QN]NSTE_)"T<7W>[_\BZ0Y=E:N2E+GY3>;-Y.9E/1"Y7:5LT MG_3^K]+I,Z7],ET8_BOV=NXTG(BL-8W>NL608*M*^YE^=3B,%LS].Q:$;D'( ME'KO:AI-G:C"U:55T,X59)1KIH:3Q76-:^NY!H0-Y[X2>IU MG58;E:6%2,M8.#:?EYY@YY;0\)[SAD(=[K MLMD8\;;,97ZX_AP"]U*'G=2OPY,;7LGJ3$2^)T(_]$_L%_4H1+Q?=!H%:%OI MNE'E6OSC8FF:&C[SSQ/;Q_WV,6\?_V=!/GD(1>]S4Z69?#E!>!I9[^3DSYPL M.C#&8[]).%V)*!6Z11BT!H<;(U(CFKT>[HU=:IZ+C[+FU64F8?4_KK?2\+&_ MZ)TLQ&NEZ?BTDFVC,N.)/03;B+26'&*YP)%T$+BG3MD>W]^4E.0QLX4*-%6A0Z(PE@,.B;24!!*&%J:@P0I;G5 "6T!RIT$,E""%UN ME%R)MU]EUA*]B0^KEL@LC!2# OXH$/\"Z7J>E^H-U!Q+P_C9K6LPG M@0Z- 6E!>FS^EG8 +J7ZP[1>1NGK]O#:BPPP^('LZ7E]1DY6\V!"$O6^ 1 MSVI9,.KR*](1MD<6(82O&DT,8\%:M:;SM<=6G-([^ZV?R0@+EUZMF->"3 R=D!/;RJ@?4RBR59 M6,&G2 H8Z>9&'@?PAO;ZEZY5DHG4A\Y%#YEI: M=6NYHVS,*P]L<42"N]T%QQSS%FM%LG9-@53 K'L$OW8GL]<\Z.2SHQ3U&YE? M-: "A >I*6OB!?6'M#%PJ7/Y=J>+'9SHN[\$2?P#PDDW4A')K'& K$G

M$ M!;^E8UANS,T158;4)MPK0+H%91,+IH6!'>HOLK$Z@AYR\JEFHXC2R+=;2(CA MI;4ZR&,6"69\9Q!;.,BZ9U;G@N0TUW:A6!=Z"4\Y%,$YCB*@$=I\SCB$ M>@5(0CI1401;;51-V[>KE&B#S5EK/#6.^=T=.! 90%?6!L![DX*VH+RV7$*P MC. C%.P"IQ2;0CIS$76T'+(NL%698U9-5&YA0:Q\WB ;=K>$)$*B(4\WV+C& M3(O':"F&K4$\!QQIL](Z9T7X B,(!D712.8"HQ9B)67NB561[C0AOZI3I-QR M<-IUK3+P9DMG4G'-1S &G?HW\!YK/U:Y-Z]H.6Y^^>F*3_AX^>G\=_SA2@*)7Q].'!4MGSJ&Y(:R+6JBI49EGI['C29KEK)WM# M$'*DE@A]75$*"@RGO0%W8"I4(*@7X84I5+J P;%0JF'K_^NXO\S!(?C# 33Z37VD* #NIOMRU)E&#E#=X" !(%SCG6%38$.D^R%$-KV M)4(%\Y7$SJ)!!]IP!H'$'__V*X'). ,HOB72P2 $550W;"5VUP7)JPQR!W.% M(T?:V8:711,400Q@4R,1F#TR13%6JJ%0EJ83GE,O<==JMQC4R)(=%,BSG4!HQ:E\^VLE[R053UI#M MNQQ"UZA,(5.>*U?M*6AL&EO2[%5C,4G5EOTAWU%U3,7 L, E@@._[SG ZC-6 M!E*GL,R[4KQG?J&^C:4C%^?*B"#$F9\A6)Z*"["K9/.R-&ZT+1&!>+0,-D*T<;Y4$F7-ODC]=0ZA4&)J51NVXL1%J3@ MN%!T'5DG7UE=/3OL78;DU#7'10?^J"$9^I#/5)PZ(4S?!=N@W6IL MLY7$D>M56_1X8?I*]>F@[E^Y0(7.#(,#=[VT&?>/HW[9:KK2>+#G32@@>I'N M\&/7KYYN[ J-[5B1%#-AT0P"NZ:2R=0@G>3L$H=-W5*N-),T#S;I5\CSA,VK M6P,MS-/G$!K\!H3XK9BDMV+B2E;H&)<@N.[%UD-F!8NC?[ ?XY$HA_&$T$OA>-#U\Y(8^'6%L=HQNV]B;^;&8>M'< M%PMO,8]II9]$(O#B>2B"P)M.ITXXM\:((/)\?^I6!7-\3 &/%X>Q6Q8&WL*? M@8R-(QM]BQ2>\U,*TNJ&II$WB\->%7LW]?Q9TH_9NSMU>Q(\Q90 NLR\.(I( MB5F0D+A!A/U\" V9%Q$,7!3\%H/25.U>UMV@<-HL]&8)U VF6!TL?-S[42)F M?)6$B8.GB[GLA-8,*&PV\Q;QG*"+XX4(0B^&?)&7)(!S!LD39.]3[RY@7VP3 MX_,)+F;SI^+)+'[*'N'["0V'7CB?$PP)O/;&2Q,\Q8(I+!7A,_86 >[?2"IS MU$#NZ9:XPKZCPNR0#HD3H/'NW@C$^3,XT90DBJ(98WBGM7IHZ,%#+-(O< 1+ MI?@)T>%AEIDDU;E<:9#^-S'I"H:V'-*/>;@TGNT@Z!V!A6+\"LR!0P.=\&CT MJ""]CY7NG_1?)J5@SE1P0#W=4!A[T_G\X)D;NI>6P##,+3-O%LU)4S^8T]TT M".'CB3\7X=0+B;8/F2D*F(S=@@8A(!#+'V&X!$@ZG(>$4Q,&#"2H!G6$'[#/' M!@%T!O,M%C0RFT/Q4I\CJX8PNB-.G]S)5T$WWP@3\]C,D MNXND F@V73SER\ 2YO^IZ@A5G2K[4,8U.OORS);0]$H3B[H"V-;$#W\G_^=* MMV\DP4,XOYD3CRZ_N@L#I.1H0:08A9RU?90@]$F5%L( R1%!$A);)@F7VBH,9-JQRW< M)J7>O. 7[@2H:[41R$KG9O2NXFZP+[IM/_7;=EL=0>\-)MF1P+L%8#0#O],T#$7)\P^^NA]_*3\\&-R)7P_F],9RI>RK$P*A[_\= M*-T+7N;4T3^^YSN010Q7/6N?0%YH*+AF)O' <=KXA,9!0E"DT)T MXAHJ0JBVF=''-)C= M+,\>==WBHZY%?-05:8^ZRNR=0Y0=C5X,/"O4CEV)OQT%RCW"9+_!PVYA^/.M MQ0_RK%]+?HM]U?";5JI5POF"N2M$S7(@WEKKG-^,WB/)Q5U^33YQ6X)O+=!_ MZL0@,\9,J4DR=\0:B&._JCD?_8P)SK#F'VO1NU?$I/U%4S_:_Q[LPOX,:IAN M?TSV/JW7JJ1(6F&I?Y9,)Z*V/]"R-XVN^$=12]T@$OB2WN/)FB;@^4KKIKNA M _I?R;WZ-U!+ P04 " !:AV91PR_D@"4# !*!P &0 'AL+W=O M+V9J8P67>*_!;)J&Z?T*A=K-HS0Z3#SP=6W=1+R8M6R-CVC_:>\UC>*>I>0- M2L.5!(W5/%JFUZNA\_<.'SGNS)$-+I-%_.H\0)0H&%=0R,/EN\02$< M$&P?V-_ZW"F7G!F\4>(3+VT]CR81E%BQC; /:O<.NWQ&CJ]0 MPOA_V 7?C)R+C;&JZ<"DH.$R?-G7;A^. )/D%4#6 3*O.P3R*F^998N95CO0 MSIO8G.%3]6@2QZ4[E$>K:943SBZ6@HZ%R0*!#AAN-);7'=2MLI.$C]A>PB YARS)DA-\@S[; M@><;O,+W@ 7R+^*A)Q[^G&T\2>;NX;5I68'SB"Z: M0;W%Z%0$6%)U2R;VAAM0%=@:@7WG7@1W$=S)BQF:=RX&_N"2$&ICF"S-G]?P M5&LDO"Q!DBY8X9I+LM:P8L(3_LWDANXOI.%8X P&0[C9:(W20HN:JQ):K;;< M7]QA I\TMWBAJLI 43.]QA+8FOJ%L3](_?VW299F;X".26V)"'TZK%$;:0UQ MXI:33K&''3%:E+1:]2"JN6.55#H6FQQU7S\D]&I(Z6&7NO.VH19RUYRZQL3_ MHPE6%"&H[BL&\CW)=J""65PKVH$?M^Z%F(/T8IS +=L;&*<7T\ZI;5\0=@9I&.7W6$GCJVPDB;GHU$:C*LTA5L"!YW^ M$-/IK](Y&;E3H-_8&=G(F9/S23*F[_0\&0_@IG8G(10JOK M9_N'8AGZX__NX96YH_JCR@.!%4&3RZM1!#IT[C"PJO7=,E>6>J\W:WKL4#L' M6J^4LH>!"] _GXMO4$L#!!0 ( %J'9E';7J@X?A\ +-L 9 >&PO M=V]R:W-H965TS/K2B-7[8V(="=P%HJ=$%]T&(_O6;7V;6T4 #%"F'-QRS+Q()=->1QY=G M%;_:N.9#N[2VRSZNJKK]^FC9=>OG#QZT^=*N3#MU:UO3-W/7K$Q'OS:+!^VZ ML:;@EU;5@[.3DRN[JJSMFR9K^]7*--4V7Q^= M'OD/WI:+98N^K4LNN771\^.LL+.35]U;]WF/ZQNZ#'&RUW5\K_9 M1I\].U84MAN\_H,V$'9WY';T\.SC@I5U/LX\G@/ M]XPWMN'_/I^U74,2]3\')G@4)GC$$SRZ-0O>-&6=E^O*\M<7KFYI 05_/T;H M@]- O9^W:Y/;KX_6F*BYLD=WFSO[96E)G7*W6IOZ&H3I:],796>++'?$QKJ5 MG_05^F5>UH:&,U76TAR6U+IKLZ6YLMG,VCJC!:U-0\^5-0_<%/2T)57HEMG" MUK8Q576-;^P:HYG(DG5<)KW;T<+>U;R02\S#:S]?V89D-[MW]/WY^9NC^[P] M/&G6:^*GF54V:WJ,@"\:N^@KWB:_C.T>7KRYH:())6D='$ZZ2/9>UP"<].64%:@I:>W4]P?#76>&RVG7T5%[U!2VK MJGC:Y"V>EYZA%33VM[X$J6;7&?;#4X(5E>WL*)VGX%=KP[KNQJQVZ?J*9B5: M$?B#V/3.^[X6<&5.,4WCT#<,&+=$[S6V>FO7KNDR MF@9 G)V>'/\G[QKS75O39!;0D7UK<[N:V29[> KE/_V2-[YODS-3L8R)[3/= M[NLDGZV(9T%TN\(^&K>Z[2X[>H'^P2.3;-;33XZVO,WOHFSSRK4]:>%$OX!T M,WTF=^5YUB:XG>J,A[&^%5J+^HFDJ*# <"%X]>__]NSL].F+ M5GA\0,2P?*RL7ZO$P(7)2"9JDI2V)=LXS2YL Y$%#-'661C-"G1.T:VQ>64( M)^8EC2)R#LW&C[S]=8*]T^QUG?VC)Z+1\IXP0&3?A4TEMHCPK2Y,4[392T?_ M9?>PK[.3%]^=7[[D'T]?W,\(G7J:<]&7 J@B2'B]A/"L N(3UPWM:X//3=G@ M"^):8:L4)&F]D;ZT(4N[7%D#J2T@Z+3SIBM_9YZTQ,9EF2\G^)3F2UYJ5A>](IM:TMX?)B9=@MRYKY=;* MU.0TXQ' PQQ.+@.)*=Z3TRBO"E-A0RK0HV^8\[7I>J]O!&PT;Y!G<%B%,9N3 M&)#-!0S'=:U=6XH]XM%W51F+:JN/W\"_)2;=IG-293B@F\UBB"OM[6>&L 18+XG=4FD+>N" M% M!B0==_S0F)J3*YCVSR@]&I"P="5435D:,(CUBW)%Y$^I_\LJ]^+!<%F[M M 2%7;$LL1QM )]BHYV.@E+UCS"2WZ/SR';E%P++CTX>3!,I>U^1!]R*HQ]D% MR6'993\X4DZ*)WXA2<^SAV=/[C_/?A2$84B")SIX$H ].B2##VT'>_XD9!L* M^HWH)L)RKRSO9[1%,DU3;/+I\^)EAT._O M\0GM[Q)07,[9CP8+?K&$G6!P>/%U6/DD[ M:3E!"S^(]/+[PC\>-3HG=-CMZ M2T)7=W"@P=UM_]G5]',N:'/$(Q66^%X!CQ>&/=4=T>C8H0S2,,T.A$&/0QCT M^& 8]*YE/7A%.UK!=1^+<&XW FO$EF\#-M\-WL7CA>$&UK"/PKZ8&C-X4Y"C ME?E >NF7,,G>]\4B.KPD5_UJ+7C(QF]EB"WSN=>_AOT0L$B]"&"X6L"J-&0" M.0Z9*.0!;J]LW:LIM!_7V,W0+D;7DI7:,=^A!2KC>#89>IK]:C4( O[CH;95 MAH=MJ1B2U[,2+-,MZ&I@;1RYGMCG1&,9@C (=@-88+^3:"5BS ^0'%(L%3:N M2V4+);P+D,_!/VYX2-#PDWP,D&+,S[@/"TP[ZUS#Q ^J1IMO MH1^NYQ7/>OH-Y#(YL4=,)8;-\P9NV("!;,$RLX'^3$)(>F6J7B.^Z,[0\AQM M#[;P8@)RCM:(D:C4^;G$#%F+*MB$)QH04WWM.VF,6*1Y3W2R']FQI]%$<-@=__F?K[\])A>^1O0SL+&X'BQ8!3'&5:VI6(E47W@D)$1420/I M)_"S^CG-W,-WDN=, P2FYPJ2]LJMV:3 )J@2$IR[:VN/@V,JJCS1_5F:DSU# MM>[)*(H)!$S3K_TT"5Z9@V+F--,Z0[)03-*'Y"' M#6"23PC80ZQJ%NP-TD0UW@Q\"6F27/&*D*W.8IP.#G6-I8'\*Q-,N[%0#'%S M"09J!]9Z]M59Y7)3@9 +&A0_U;PB(_:1<2)\(OE/TK"$Y]RSXHAW3*5+QW1$AOC%IYQA*C=FUS/!L%A1;D-#9BK-"% MD:*S!20=M'"C.?RFL-2![S: ;HA:PGA?C.VZY2"=?$O%E1'C$O?D[?A&3!XY M"3W!72/3@!8SUT@0L!=;S(+B&8747X-Q_=V.3FR06+IR99XX$1AP U0O17'- MF)WA*-GAM_9YE%=)-0D5*_&YV9K\@W 1$>.I!A$_UVI09BVY)@KV6P]-MIQL M#]\A?JUWG?1['VJWJ3V>:(Y#]8?Q.V>K%!W54OPG%D7A.7(]R9XD_HU$V>3 6QJ)7:RQ5=E6&(.4 []4WS;@\#Y7*8K_ M!WDV+%";\C/Y4C+3[RDN5S#+Z6<7YL.UH-]1Z_ >)'> MK!U("_M&_HC"8*(TJ0N$Q0'',.?5C7."V>04LOX@(*0WV$>Q56GG0LF.D]"K MD#M)0VNU$(T\091,HM%D1@0%I)NE"ZZSXH,L0IZ\)B5]-4T^QEI^8L?:&2"\\)5;G$=''5:"-G>ROF $9N+2?0U M*596])IB&X%5G[1(K+Z*O&!I&Q#[-T(5XA%9EQ2[-;Y2"\8ZG&2,@B#JQ@&Z M]4)50[*3XF,@56^$(?_)2@!%!GY' MCS :D4*@-,KJMO?72-[YFE;VGE@F2R9S0.+FBU&LNT:(KF+ _IY+&@UL"/,9ONQY E]7.N3>U?TDLR3 M4(8ID?KO&Z*XRC[([U-1\/G,!\[OU^*H)Q$TKR)1",4@0N#&!4<]F32UB%R M28J8OTKU5%Q,L!@>JRKXB+AS.@)E3Z8\%J JA%>A-30(0RA*N:8*ZP:]$3/V=N*%U!.&MD,)+EX]\ MF4J*F4!5]IMOGZ%'7+ON9=V #+AR03)A'5RS=H*5]"DR*L>5>+ M]:/!2%UL^Z*^\*[IH>B4>%V)TAN\=(D!.@IR9U5,7Q-L)U(<';'4I,=(VUP9 MPG\LREX!%W([S=X-,6%D QO:8K9I2G(LX9_,!S@Q=*AV*;I96HZOD+,D!ZZ5 MW$GE46.55 SMQZ5A S3-WI+,7&$KK

PKU"!N26$?^-15_"H33(TY &>7HP M:_&ZOK*B*.#G*RFHQ<:7L33(9PT(?.7 KO;5NW+PPH^.R(0<-/FT+<%!Q4G3 MUW4^#=[JC^>O@[<:8B-8$N(=)\:6MBHT2X)2O:NC-# 0&K5+]E=Q"3[AUO6 MV4\E.NPDEU4MR@][)S'^-GZ[YI>[-E33AUR#:2 I?.YLN:A1Y)RS)/LO\4,(JMM+Y) MR;>*D!$=!%^2 IF'- 9&0W3'NG[EM#CD,\V5 %JEI M,/-*+2)-3LXMP TI"]I#T2-_KP&,+30?LD,(3N486M?U[U963!:8$Q=IG>&$4^'M]E ,ET^0U7_(@3J_:XLO6" MA%W?)"@F0=",+FM!Z]9+=H/9,M:N/D9K8V<79+7ZVIMR22!C5A9E$45?&I2\ M7Z@+CDW%>8-^AI*AQ@'>(5<*CKVD&4K;;:RM0QR-RCCG,]2$>-,J%C>&\BSI M<3B_2AE(8SVEK+P:HVP_C7I"&+/,.97>8#HR@*7&1.(5S:^95][=4F0)/)K+ M:]Z#9!C/RR;O5Z"')!VX%\"&N#--]>M4C1@&H0,I&4=1O &>7";8GIKGVB2> M:,A)(,STL3EIK8(JF\UC>J8^1JQ%/DYS[9-IAB61(=Y? MB4K4[E()NH#MG>CUZ"C*DF0GHJ2IGYHXSLPNGR](WDK0>"%B^BC^,UT*NR,Y(L, MW4)"FCC2:V08"Z B:HB_];X-%\763EP!>,:H",67+C3>F!.\-D;*E*ER[3ZY M?YEXWZ:68AZ*)B5J2Y;\]F2\&&,.7&!8C,;5*I:>49K "!7'Z"A+QY/5K,=6 M9\L.N?\K!?9!'>.#O4[:I9)U)HF#!LW[,/.1_M!UE*S)O50(&XD?HGR^8,GR M8TN?!PJ'!)>>=R$6FDE?55R4SZY0(!826M,PV"^#PK!B$FE8CQQ_.: '*>7: M(18%*:'>K/>E1D<#"S2%7(E=E54R,%1:F9?QO<.0E O01D H1/-I)F]D93Z; MV$^P92C\LCB211LE/9LV4@+P MK/XN>.[CB9;H+ZW4"MI!'9'[UL;YW'KG29H15.=^,FUA?LN^KRC>J\AEYWCE M1[:7+#,;*1=S>8N"TA(E%YJ\*C]83@B1,8'E"KGO(>7,%AGP?B4M)DA!I@9# MRE<3\=IB[B$9CZE' ZA_I]G'I/X7.S)H@LT."[Q+?I +)FW-"/J55L1;NQ 6H+GRT=]W7_J)]+/*7I:L%6;-I:3PVJ >$@R'^AY< MN?W;V?111FYHE90?8A_=4'L_98U_.YD^"^.-O'_#S7!>,])-,A$S]+ MO;L$5MO)K?16,D=C*@GOCZ, L61[8LH_1?4XF2M+VY)^W[* PTJ%VC];0B:> M;R5D- :][.PZ._%19^+,AUP'V;G2;B0L4)]Z'QFX!V2+J^D\I[OS^#@R@%@[ M0J)=EX 35FDU*(W38UOKS;0="X@G6P5:@2V\*Y &<;R+(9>S!J.=P.%XV,PA M62J>XA9*3$1#.>(/.7&QT"-;'W$_0L(TP:S0>.C1*?6K0*"XJR2(.E\'9O5#M/J<0>0C7>S8X0H\X[15;R'1GGK6:^D>1M!ZT M]A\R-G>J$(T9.-9??S1/^HW@U1ZW4!UR]+!O[?-EQX _WW&DAN--0A-+J,_& MF#4^.TDR23L,'I&D??FF_V.M*/X*:H$=W4$OX,WO48S8TMXB 50,)&-;P#9R M""^<"]33J_'%"0R=_W9+,/CXS&CR< ])8S#BLS@C/&'#&!W!U[N3;,R8KW8C MP?>X;"@3)@TU$+\@,OL.:MP9>H:X(R\B(I#2_OA6#V+1:SVA-G)DB<\S86YU MEE*YW?*;-$/AHY5][0 HQ" XP2R>/CCI7SDO^2N$FF)WA"!1;3&G\T-Z[9) M$]T+R8)P2ZY;82OY5L=,[-I0&)76YR3SE@27[Z:74\V(7B=EZM#1'A:.I>SZJIE MK8+$#B:',$=)%]M#!I5,="\N0<.T2I?:5[4"0ZO,FG_ @&H3X3"SI ;G-G$, M6]91;&R'EB_!OVVPW"=3C"0-.UKBG*MD#ONDMJBJVXT'R/;G%G>LHB;.8OQY M(+O^9E^;:N78 M:-K-F-8>D3P)'44BGFE'9CQ J<=PI'U9>CB9EXA/?+"=_H .^1*G4 ?Y+Y]<=[WH5W'Q.LO-^5F:1(".CEP MCE8(MX9\0UG+6%K9.L_@#R]P/I1#R"MI^"!0:.AG6B%FG UF)'O=+PB#R% 4 MVN>,A@#V\A'Q=]FR)WI@0&M:F_2,HR732HRF$S#RAH$9GV"@I5\66_:J^SH1 M[,/UDQV)>/ZOJ,P0U/_7U,_7U ,&[/0D7F!W#ZT+ MQ##Z(/O!;'"P[4<^E7?V-$V67#CR^0QY?GV;G9<4D[[E$S_"U%?>-]1^QVN< MS@Y]BQ?G;U]=XA/?O4@&3&#WUT8O/:*55&:#6W2L^(YL9/6H MHF_A#TG0=Y=\)IS>4 T/<\5#-":K>W9D<,;-%ARKE$($?='J@B+$3US+>4B;H#T]EKW$ R2#3?EK0J[N M)RUS)NG@S%W3Z 65H7BX+Z147T].-;X-89[)\@^_>Z3L8NWSB]?^CNT M<,O+GWZ-33"7T/XVK.F+-E[II86DM$H\'YBY,)AFU?P5/:8HVCU7XTRR<.H6 M9RTF(01<5R;7:LC@.("\IF*(TQD[YWC+]HZ';OW4>LG*'W'R]C:G;L6\WN;: M,W^8\X\\H>N%5Q(IF\A$W\S-R7>?.*,Y.=WO6TV( X(=C>T:%P)=[M0P@;CR M;-ZO>LF2'\M-*\D1&I_*P97 _'2N3W,AE[R1TD?+>(HO@&)DE'N#1#J@1N'< MH?4"F/27";%\B6[OF57;^KJ=2*4'\-'W=HYF^'=+WU6\[V+(23Q9,')IS1;G M9_XR5142N5DQ7JOJ+^6RG<\M!(&5T%X/A_@$>+AQ*60 PKGAV(J9W!S)-EJQ M7_**?X0%8%S4>A&NN!J'QC_I BPE#.!0,-?"'ZDA:ES-/8M-P?O3B[%4/H<. FQ'XO&V<5Q<#KT^&E:8VUP$'=XN86\U9IMNICP]N MS4A\3G^G$_..>X[-QV-UMV!B8KVBWE^OV$G< =&3R5E'XSVHV,=VO0P%)Y/];AL'P?/Y_)W]#-+DOXTV-FOT.$=6=,ZW MM3'%TX>EUIJ,I1IR0WF6)1-I B2M.SRPU$J7HE$RHI9KQAJOF00CNA [P[1S M^6"^M!S:ZK5Z)=\.SWDQ+U*1 M(3R^SW-QE915G&A?)^7*Y&JZ'?49/^VE3JP_?:77SAF^!B#>AJ09L31Q[N_C MV7.(+.'NEILB= DT5QR"A\GK/AD7)'Q MR5*I\K*#(W+ 9^FT3QF'%.!SHN*WL-M7X(V=0=N^+F0/53/@]L(U M]@,7(1Z.%+:7)3Q9&:++ M9R?/2.$O*O)'H@O%]7@]]O92"W/A<5Z<_/;DY,DTG= ?,1W&ESZ%*0=4?%.G MQ\C!B3U?!1S>;)6>""7'J:-(@71U<*F\>N;J[:@(BEW=N5(R\'<[HD7M,^R MZX3^5ATYV>3S]%M.N9^"0XS/W]76JLK0\;Z6QHHMZ?5([.,ECN;U5+)Z'WZA M@6D^+8 -[PN-I5CMHSD%8/90<7%'2'A%!92VCOWAG@^,F&+:OQM.%^B$?+5; MYJ_J- V.;?N&6']_A9)?NY"[X(S[[QFJV^1:Y)NH\5?2_Y"/4FW?GX[RU^SX MC7W'@0TR'>!+B=PB0N?] W!12&;1N@7###%'L#=>YDS1JK0-NF)@0/W4]'K? M)J&]GAX _[U99_'%C0KJ?&2(M)LT68N+JP'$^1."G[K_AX M_RG"N_.P7R,?$;(7A-SA3T3$KJ,1Y/[R^/2,KRJ(=07%ZJ>/QN+=)'D)!!J\ M&+(/"%*Y'PJG1G4 ,L>D,,R9-<=/B8MAAH/&8(L&W06H2%%VO:3[G'/PODJ5 MWD#>1GS&E;+Z7$S6FSG4+!#K]'%HPD'\H]=B>:73^H'=!G-F;6+SF1L#3U(0 M$PONTU+!L+?U5,"A22_=])T_2O_D1N$!>*CP?)ZQU]I1J!OMRLO9">=,WEI_ M;/TMMO766/RU M++Y+N.[D3TJ%3S/_%[G.Y>]0Q=_P03A[Y1]\[]02P,$% @ 6H=F41]T M]2!C!P #A0 !D !X;"]W;W)K&ULS5A=;]NZ M&?XKA%<,+DG.;\^CTO*/VGRU*RD=^[:N:GLQ6#FW.1L.;;&2:V'?ZXVLL;/0 M9BTF1UM4PB:+Q<"U4/;@\][ [I6MX99IOU6IBG*UGI MQXM!/.@ ]VJY<@087IYOQ%(^2/=YP&O942K66M56Z9D8N+@:S^.QJ3.?] M@=^4?+1[WXPTF6O]E1;_+"\&$0DD*UDXHB#PMY77LJJ($,3XO:4YZ%D2XOYW M1_WO7G?H,A=67NOJ7ZITJXM!/F"E7(BFH6NK/]EC^%L-AZP MHK%.KUMD2+!6=?@7WUH[["'DT0\0DA8A\7('1E[*#\*)RW.C'YFATZ!&'UY5 MCPWA5$U.>7 &NPIX[O)>;F7=2'8O"[VLE;?4VT]B7DG[[GSHP('.#8N6VE6@ MEOR VI3=ZMJM++NI2UD>X@\A62]>THEWE9PD^" W[]DHXBR)DN@$O5&O[LC3 M&[V@[L+H-;N&K 9A 9.[%;OVQI:&_6H%(]B(<,^Y)4I2>9W8C"GDQ0/Y9:;9RGS%93\-\[.H(\JA&5O/R/4L?'@P G278M: ME,(+^2LDJKN3[SB[N;V9L;X#]5Y(09U8%7MUO#01[V5 M%;M2&B+#NK)QJK#LDW:B^NGSM^*+-D?#Y8S=!2CK\O(-RWD:Q?C_ZU_R)$[^ MM@>)(S[*#K=:T#VR09ABY6F7(%7IC3=H%T(I'T)BE!/ $ 8CZ-QM!'46_;BTI0 M!.2K=/9L%W]OV(@GT93P^'B4> YY&OOU!&3V=0P0'X8)CW$(@#2'2GD^)34F M2:]& J)9",,)'T.CCDI8C?ETNH.%U9^@\T?4J1=#\>5#_R>1:/I(A.+!$GOQ MUH&2E&=Y?NBG 'HQ%F%@,FP\AN=STCV*4/9^[YI1W'JB MQ7W#4L@#]^,CYG$4^60A"@!,>8Z/5\?C!*3;),NF_F/"IQ/R\I2/D^A TP#Q M$9GS.,D12E$Z87'*XTG&XHQ/QVFG"C(/5'Q(8B.?C'LZ[1)_67P I>6?H?N) M[IWUW3L[V;T/)X2N)1YKW2?I_$SKQBYZ&R;-BL+:4FOL.C,:@H7?.&OJN:HJ MWR(+J;9^6N.[8X6VKFVY/0S]"#B8[^3S9G(D73^ <(#$;6[VIIAY(2@,)MX? M\,*$?3XB$6VF*+99"*MHND?DFD3TU68_M/KM7W?2GD&6A30&M'=-(N51-O:U M,4I3]J$QWH(KZO+4\4CS^C55B0Z2=IP]2C^38 3^ T?=@6OZ,/SI+ORJTNC- MN_N:K75#$=!.2S0V'76>^G5 :T;B?1ZWE%XV_.!A9O10/ M_>C>U#N?4E (XQ0BZNE@H\T 9%87^^&:0%*W810N"<]E+C54J;7K]/K^^J.- M0EK!\V5C6MG 0B.=G]#>2214."JR;;9BHY/"\>0;V^6;3V#KSF].+B*>VL1P\8 M,%;-OC1EN$4!9ZNK;7!6:R>R7^LS;4JZ X8;8G\EM,W\"US.VHMA)R?)2&:& M'9 R]!YBV:8QMA&U/XL HTA1VWUS?U]4[R6])8$K46O+8A+33^+K-10V4BS MI9L"G]TA=J/*:!P&UK'/3R1L/GEY0LM0!]'6,(^EZ%GH,>/I\S*0^6*)J602 M&E&<)'UC.E8 AGMO-+#ATK]$6=@!X1.>:WIH_]@U"V\\N^/AI>Q6&,2F100N M@!J]GV#X,.'U*2RB? "__!U!+ P04 M " !:AV91$/96;JL# "%"0 &0 'AL+W=O@*TF6@:S $KQD'4+3: MR.:D3 P:+OR?/9[B<*8P>TTA/2FDCK05EI0K,#YZK3)G)< MV*1LC*)=3GIF=4=YYZ*0#<*HEEI?P $5;"JF:.&>;6O4%XO(D"4K'Q4GU!N/ MFKZ".H!A#%H>0QFD\@)?U;F<.+WL% M[Y8IP<5>P[KW]I_KK3:*JN3? ?Q)CS]Q^)/7^%+SE&V-('> G:VS &MK,K3U MQ M@HH22UZUY'BH?F6%+]Q7"3M;47&0#C,T8:#2:%I6IP- V9??0&N:Z@/A\ M9Q3$BT7@.$+9*@=,.*92B$Z1_$%H?(K1IA@H00:;+:EU67*":9S,8<0%Z61@ OOL1P\[HM]%=VZ!B1JHK^+[:1],PGD\N M()MD,$ICFL2TF"1A%M/@'0I)3>>5/[D.)Y/L"^'M75R)"E"/%@_>%0VM)@'R MU\?<1FX@N%T!Y/,PGB:0S\)T=FE_\]D$\CR<)3.XW>WH +-Y<]FB(ZPS]>LO MLS1)?XL+MK:]9Q^J:F'S3YMZE.RCDBXED5!F+RD6<_C68?_2%]OL6"4?JO.%:"O MLB/3U+:&_];7VI/>_5D=NO$.<8[>?6VZ^PGM1H'!\UC43D(?) M+(4DM+I^G(?3-'LIW]'9U4C'P-X] #0%C$X'Q).53^TO<3(P_NHMU*0]>V&U;T3D)E!6A_)Z7I)M9 __):_0=0 M2P,$% @ 6H=F48BE>'.G @ _@4 !D !X;"]W;W)K&ULE511;]HP$/XKIV@/K50U$&"E%2 !;;4]5*K*UCU,>S#)A7AU M[-2^E/;?[^Q RCI V@OQG>^^[[O#=Z.UL4^N0"1X+95VXZ@@JJ[BV*4%EL*= MFPHUW^3&EH+8M*O8519%%I)*%2>=SN>X%%)'DU'PW=O)R-2DI,9["ZXN2V'? M9JC,>AQUHZWC0:X*\HYX,JK$"A=(WZM[RU;844OI$W?/6_3; M4#O7LA0.YT;]D!D5XV@808:YJ!4]F/47W-0S\'BI42[\PKJ)'?0C2&M'IMPD MLX)2ZN8K7C=]V$D8=@XD))N$).ANB(+*:T%B,K)F#=9',YH_A%)#-HN3VO\I M"[)\*SF/)G/A"KAYKN6+4*C)@=!9L.D-%IC65I)$!R??Q%*A.QW%Q*0^-4XW M!+.&(#E < EW1E/AX$9GF/V='[/85G&R53Q+C@(NL#J'7N<,DD[2.8+7:SO0 M"WB]_^G G;!/2+[FW2[\G"X=67Y(OX[P]EO>?N#M'ZJ#YRNKF<#DD'H-^*YA M7YN/H\T_(( @5EX1EDNT;;M";=>8;KQ=[^U>0FIXR!QAYK50@9 ;Q=,J]0I. MI&:/J1UGNM.K?9C_XDVSWW6 FQM'<.-(\OBP>1S#U)J: M\6R][7*;-C/]'MYL1GZ,*ZD=*,PYM7-^,8C -MNF,>\YWOHQ72C^; M'" M2RFDF02%M=4H#$U:8,G,J:I0DB97NF26MGH1FDHCR[Q3*<(DBCZ&)>,RF([] MV9V>CE5M!9=XI\'49H9"K29!'&P.[OFBL.X@G(XKML 'M-^J.TV[L$/) M>(G2<"5!8SX)+N+1K._LO<$3QY79DL%E,E?JV6V^9),@9+2;!,( ,Z]6-]CF<^;P M4B6,_\*JL1T, DAK8U79.A.#DLMF92_M/6PY#*,]#DGKD'C>32#/\HI9-AUK MM0+MK G-"3Y5[TWDN'1%>;":M)S\[/2:<0U/3-0(M\A,K9%NW!HX>F1S@>9X M'%J*XFS#M$6<-8C)'L1SN%72%@8^RPRSM_XAL>LH)AN*L^0@X -6I]"+3B") MDN@ 7J]+N>?Q>G]/^8J;5"B7M8$?%W-C-77)SP,Q^EV,OH_1W\>YZ7%0.>1< M,IER)H!+"E W]ULVEYT!LY [0DM/R/4I]7I::\WEPO4;-[M*<#"Z>\@C4[$4 M)P&]5(-ZB<'TL4#(E:!7Z)"M+R]XM;1@G7(G45L0PQ5J_!?*SH3*9K&QJ[T_@ M*&[7I%U[\*@LY46-B6MZ/?J9IEU>$PJ\A[/XI#\&ULK5;;;MLX$/V5@; /":!&%TJR'-@&DG2++="B0=+=/A3[0$LCFRA% MJB05-_OU.Y0[-:Z-Y)H?#>@.W; MEIOG6Y1ZMPR2X&7B06RVSD]$JT7'-_B([N_NWM HFE!JT:*R0BLPV"R#F^3Z MMO#V@\$_ G?VH ^^DK767_S@;;T,8I\02JR<1^#4/.$=2NF!*(VO>\Q@"ND= M#_LOZ&^&VJF6-;=XI^4G4;OM,B@#J+'AO70/>O<7[NO)/5ZEI1V^L!MMLSB MJK=.MWMGRJ 5:FSYMST/!P[E*8=T[Y .>8^!ABQ?<\=7"Z-W8+PUH?G.4.K@ M3/0(%EZCXT):N/C(UQ+MY2)R%,2;1M4>\'8$ M3$\ SN&]5FYKX4]58_VC?T3)31FF+QG>IFWD-Q*C#=HUFHI58J/8SB9])YO# =Z0SAT9P8N#44<0K%/('C?$$6 MAWE*TIB'.6-4@;77="Q7?=M+[@FLD2BO!!_/:W+EK39._#=.7# 6IHQ=CIT\ MN3P19EP6TEN8EG-J"VK3V M+[U7;KS;IMGI97 S7HC?S<=GQ7MN-D)9D-B0:WPUH^UOQJMZ'#C=#=?C6CNZ M;(?NEEXW:+P!_6^T=B\#'V!Z+ZW^!U!+ P04 " !:AV91$S:J>&4# "P M" &0 'AL+W=O'H@=:&EM$*%(EJ3C^]QU2CNH CM$M%KWP.?/- MZZ-&LZ/23Z9&M/#2"&GF06UM>Q^&IJRQ8>9.M2CI9J]TPRQM]2$TK496>:5& MA'$43<*&<1DL9OYLK1+E^A7])Q\[Q;)C!A^4^)U7MIX'>0 5 M[EDG[$8=?\9S/-[!4@GC1SCVLI,D@+(S5C5G9?*@X;*?V?2.0GQ6 MB+W?O2'OY0_,LL5,JR-H)TUH;N%#]=KD')>N*%NKZ9:3GEULK2J?OG=Q5?"@ M&JJU83Y='Q[93J#Y. LMF7'"87F&7/60\3N0!7Q2TM8&?I055F_U0W)O\#%^ M]7$5WP3<8GL'232".(JC&WC)$'/B\9+W\&JF\1SSFIV(8A:66C-Y0+_^8[DS M5A-?_KQA+!V,I=Y8^IXQ>D95)Q#4'LQ%LLO+9..+6^.U7-]$=T_VWK2LQ'E M;]*@?L;@34VOF0%N@,M2=%0>6H"M$3K)NHI;KT%ED[VN-$KPBKEC8VERZ3$N M$OHH:(]I@!G8*T&/V\ '#Z8ZPV1E/M[#8ZT1W[ !J)8$LT/M"_HKA0--?X]7 M[EW!:1@7%ZL-A2Z\,JOH07%7:O=E(,FL*+Q>"NDH'R3** M"C=GHVF>P VJ9 -5LF]&%=B=P :6Y/8$\MFFODN6GO.GD>B0Q]/2E?8-U' M /RMJ[SUJ?AJW[XAVZ@->03KJ>6J*/\-AYR@9\__0E'_ ,GKWF5BRM@Q,4NS M,WOZ>9)'L-E^-MZYS79I8!(1YR9CNLO',8U)E,/:2<1%!LDDAR)VQ]$T@_7J M-T.R4TB([805)PZ9'/CO; TONDB#^N![I:&Z=-+V#64X'=KQLN]"_XCWO?P3 MTP=.H0OZJM! M9DQU,1[K..,%T^>RXB5^2:4JF,%'M1KK2G&66*$B'_N3R6Q<,%$.KB_MNT=U M?2EKDXN2/RK0=5$PM;GEN5Q?#;S!]L4'L;*4\A,]O$VN!A,RB.<\-H3 \.>% MW_$\)R TXW.#.6A5DF!WOD5_8WU'7Y9,\SN9?Q2)R:X&\P$D/&5U;C[(]<^\ M\2+0AB,LM' R@3N9&E$N>)E M++B&TV>VS+D>7HX-ZB*)<=S@WCI<_PCN AX0*=/P4YGPY+7\&&UL#?6WAM[Z MO8!/O#J'8#("?^)/>O""UO' X@7_RO%[H>-V5I?*\T!6+^=4 ZT]S]<('#:#B.3,\L< :UAS-9AI2 MF6/-819%"2:3M48_]? "GC/%.10N/YSR QA=PXLE5S;$OZ#FON^4 AR\16?V M1I2LC#GDK8?Z FX*J8SXF]D"E"DHJI$SF9[5FBS4'*T] 3_"(9SBX/DS&FJ$-H*"#E,M_R/XX,'\D&K"#&>(%X$7>?"^XHI1>CMK MP!M-@@!'+UA @&. X]2+X"E#H\]0?=%=?>H-6[7;WVG43I_JI5LLRE@6O'U_ MZL_\(9R&(0Z1'PWA61J6=X%/R)#9!'\7:,()&N&'/D5E-)]Y5NU!@W0;&4RX M,!G0=TU!EB^8)KG-H"4WUK!&"K#2OM]PIL[AO193 M4/.<.@"DW1"[@I&O8ZJ)<:C] %/63'?H>-')QCLG^='V3IZ<,30=MP*TA/:3 M7;ZL[T1C,ET/87:^<--]T00K5]:E 53!<>$,OH<[IC.HF$C0!@6LH.^:,I77 M1&Y;'A@N5(4%3RV!'-EGW6L_]LKJVZMF%X"8+$LM7*IDL1]48D>T""T?ILCH MXZ)?I>BDI2 2JRF1;Q*S5/3F$^AI=V';[L+>=O=UW2'1:B7,YE#SZT4ZW/QN MCC!N!+)6K3)D*\LW6MC%K"QKK+^ZW/*$NN8N)+B"J'",_H=YW]]M?[<\14*0 MR#V/&U.]T7X=6(:<[L@?-'0:NB;A^[3"@^G(6T0T]7'JST.:!C@-Y[8A3W$: M82/%:6@MID+G+,4B @];W&+:-"$\3HBBWC:5BFW<;ACXH\ +T":-M2J*JC:V M1II^?#H;1>%\Z$R&]YWR0(J&HS ,^X@S:XDSZR7.ZY:>"[84^1'>] +]SYO_ M!F^BEC=1+V^>\-*2U!AY3(BNJRK?6$\H[R*FC;,]]!VB4B_V82H]8]9=!BGP MQF:]4O)%))B7SS7#0Z5A=/& !(_GN+&MF+(9):9)NP5WC#J'-[6A0^(W5$:;K:(\+RI>.?QGG;CQKF'QKE' MYQP\L+).\8!-WVRVFL2UPO9\XSQ%2J4.I0D-Q=6FNRT12_";2HF<=ELZ4(:! MCY]?\ 9:61%24K1**5R'0K+K#W;3#D;SR0R0$*AO)6+TFHI<*AOW 5)RY\@SQSY7/7M;1PNEH'LX/%L"X<[&PO=V]R M:W-H965T;JNR M"06;NP]7^2#/"'MJQR-G)&,VOSY/:U[ 8(S)E[L/5Q3,Z*5;W8^Z'[6&T[5N MOIJY4I;=+ZK:G(WFUBY/QF.3S]5"FF.]5#5&;G6SD!;-9C8VRT;)P@DMJK'P M_7B\D&4].C]U?5?-^:E>V:JLU57#S&JQD,VW"U7I]=F(C_J.ZW(VM]0Q/C]= MRIFZ4?:WY56#UGC04I0+59M2UZQ1MV>C"3^Y2&F^F_"O4JW-HW=&GDRU_DJ- M3\79R">#5*5R2QHD'G?J4E45*8(9?W0Z1\.2)/CXO=?^#^<[?)E*HRYU]>^R ML/.S43IBA;J5J\I>Z_4_5>=/1/IR71GWEZV[N?Z(Y2MC]:(3A@6+LFZ?\K[# M81\!T0D(9W>[D+/R@[3R_+31:];0;&BC%^>JDX9Q94V;Q:W:EZI=BGN@T 0O+PBYQ6RAR=CBTL(#WC MO%OMHEU-O+!:QC[KVLX-^U@7JMB4'\/RP7S1FW\A=BJ\4$[[P=^@+ M!C@"IR_8#0?<7NK&EO6,_6F5TUG"0FPZ?[ M42?%4SPBP..%(NS$!/6RF M:MC7P+O"0!G#$L3\")C\/\MM&+7AN2@?87:D(\#_$2IT?L, Z/ M7$3X?D+=PA-I2C DB-I+W2#[D#Z=;8<" A%V*L S]#*.]@>%-,^[I',X+(@Z M_NQH.1*T2)@ C4^O9B#6CQ%$$5D4!+'#\,7=&J"A@7UV9!!0]WFU O$4.TU' MA+7,I%BE<,::8^?_4TS@@%.VJB7X+7=<8_:WQH,"JT"4MH/":R/ '70=.-31 M&W_,?@$)OLI*KT_Z+Y,23QT5;%!/WR5"+TK3C;&NZU5: L,X;HF].$C)4Y^G MU(JX0(PG?LI$Y FB[4UF"K@CHTXNA"4B8"'WN.]WP5@3]T=LV=Y,0C+TT2LC(%"P1$(K YA+H,)"PB03CQD.]-4 GH#!J@)X4" M#I_!?%E&/7$*QT7\)I("BCP*:2.C)";$$G@4@(EI$[A'@1F&#N'7:$H$O"6I M+"#^@#U^0JR0N&/"\51 [ .Z!O=MY2G:=1'3"W%Z]"I3\7ZZ)Q+PV\^P["62 MXO LRH[<*V\)\_]4M86J=I5]*..LSK_^0->7 @8N2*AUIU/0VTNUVY/R[6G M_+W2[8TDN GGFSEQJ_C-2QC@2 XR(L5 N%/;1PE"3ZJTD 8X')$D@M@R25PI MAUP3^YT-_]MN([$#'3<#S[U#TM[\!?H>A M"QQV[]A[Q/\[QI-' Y?H%!DZ,9NF# ,?UO:HMZ'W I+:'>\\ #&( MEVX )] D/YXA\_ZQ&6NL5]%M&E#4-']'^L1#^L1[I\\0>+C(SS:^XS1*;DN, MG:JW?U9X^#[TL)RD\[J DT@C; )6I]UQQUUW5%*[3VYW8-%W@K(MW.S&B;7] M6'DM&_;BWX>W(>Z?I;71(?W%B<@L85L2+-W*$F4,SN@#8=H$WWAA8UFJQG)?G:V4@A M/M.Z6)=5M0W2G;KW@+37_1IZDY<(C@Q\CMI;;YL_]690VH2N/DB2M*L2^%:8 MQX^^42/Y9NY+O&&.G-O/U4/O\+%_TG[C?IC>_J?@LVQF94V4>@M1_SC!.=^T M7]_;AM5+]\5[JBV8Q[W.E2Q40Q,P?JNU[1NTP/ OD/._ %!+ P04 " !: MAV91,%V L$8# #T!P &0 'AL+W=O_!([M0W8R8IV6($@R=8/PSY0TLDB2I$:2=OU?OV. MI*RYA:./^V#K2-X]]QR?([DX*/W5U(@6OC5"FF546]O>Q;$I:FR8N5$M2EJI ME&Z8I:'>QJ;5R$H?U(@X2Y)IW# NH]7"SSWJU4+MK. 2'S687=,P?=R@4(=E ME$:GB2>^K:V;B%>+EFWQ&>WO[:.F4=RCE+Q!:;B2H+%:1NOT;C-Q_M[A#XX' M((H<#".@1&GSW>HQ .B&C\W6%&?4H7>&Z?T#_XVJF6 MG!F\5^(++VV]C&81E%BQG;!/ZO 1NWH\P4()X__A$'S'203%SEC5=,'$H.$R M?-FW;A_. F:O!61=0.9YAT2>Y0.S;+70Z@#:>1.:,WRI/IK(<>E$>;::5CG% MV=5:D"Q,%@@D,-QK++F%WY0Q:.#G%Y8+-.\6L:5,SC\N.M1-0,U>09W#9R5M M;> 766+Y?7Q,#'N:V8GF)AL$?,;V!D;)%61)E@S@C?JR1QYO] K>$Q;(][X\ M^'.=&ZNI/?X: ![WP&,//'YM/R431\,-J K8=WM;A+T5?F\O;>D@L#N<=Z9E M!2XC.GT&]1XCR@;L+*&M<2@ID!7<'+[5&BIFB,/8'JF]_FF5I]AY(%K4G( S[UZB=M(8P<<^)ISC"@1 M M2EJM^B#JL7.6U"H6FQQUWR]$]'8, ^).>G$G@^(^AYO+_>&^I^ER%P ?7 M+P, !() 9 >&PO=V]R:W-H965TM$":WS(H>F0!&B2#1O0;L6Z$S#L0K&96*@L>9+?I3L>&F1&+W< M32S)XL^/C"AZLE7ZWN2(%GX70IIID%M;O@Y#D^98,--3)4IZLU:Z8):F>A.: M4B/+O%$APB2*1F'!N QF$[]VJV<355G!)=YJ,%51,/TX1Z&VTR .=@N?^":W M;B&<34JVP3NT7\I;3;.P5AI)V#-( MQD<,DL8@>6X0'S'H-P9]'VA-YL-:,LMF$ZVVH-UN4G,#GQMO3=%PZ?[&.ZOI M+2<[.UNB234O?4K5&N:5H0W&P.D2+>/"G,$)< DW7 C:8B:A):?.-$P;!_/: M07+$00PW2MK#)FA*"K91F[IS#E=9,;I *R+:;.D '+>C M@_:/@!YWPF3V9/[1YJC!YDP^(_MQ39KPWF)ANHB&+=&P,W5TTBA?BB1+]EB3 M%*JBQQ\X.?3_UFHCK^;NK(=9/ D?#@",6H!1)\"RM%@L MS3D^U$DYI=+(V*,Y.T36[684>=2I_9/6;L):=BW"J._Y-3<=D2 M77875.5B4/GXGCUSVO5X=[IZ!\^'7'T[\*,7HC"LHR[D_)B MFD9Y'V=P!&?O_HX[<3Y*/+?46%^!5/*<>F E,[:B^R9E)F]KZ'#QS!OMRSV@ M<6_X#"GS9^MSU_!]U_HG4W\MT)V^X=* MP#5)1KT+2I&N&W ]L:KT/6RE+'5$/\SIHP6UVT#OUTK9W<0Y:#^#9G\!4$L# M!!0 ( %J'9E&^;Z)T.P, #@+ 9 >&PO=V]R:W-H965TQ;D5+)N6W+,((8 MRP9/@.F5)1]!*\@AFHFV0J],PN618D!B8)9TC LF]=N.<3 MUS> +.([@8VLC)$YRISS.S.Y7/0MQR@""J$R%%C_K6$$E!HFK>-706J5>QI@ M=?S(_B$[O#[,'$L8 '>P!> ?".!?@%P'\&\#I[ $$!")X#W#V 9@'( MCF[G9\\2-\8*#WJ";Y PT9K-#++L9VB=+\),HHG>(,/0M MXJG4%+)G*RW1;&2'A9QA+L?;(^,*)V M4([J*6>0-)#O&$K/.9)R_'I*"2O]_NPBF]23C2'49/F1NP79-HNM/2V-]4IC MO8S6WT/[5;^C5:\$9WH<@A&I#1=H%&&V N/75AAA(4DHH-LOFA!=*HCESQHY M?BG'S^0$^^2D\1R$*:8R]RC5R9?H#SKDQC"G;F;4YN9;#[R>O:Z60%W$EMZ@ MU!O4ZOW(^6)#*-U5;SFR5=G,]P)W6]'XF*#)@: MY?-5F<9S[691G;O> MR%'S4';'=1%;&ENEQE:MQBF([!NGZQ%-V.^'6%\BMU=@A-<56[ND;[^%VN^4 M&PO=V]R:W-H965T1A!98A2-KMH=B#8C.V4%T\24[:83]^E*R(-DE1:E6]));\ MG4,>?N)WCHZY>,GRS\6.\Q)\2>*TN)SMRG)_,9\7ZQU/PN)=MN>I^.8IRY.P M%)?Y=E[L7+178HXRCE=SDH#DD2YE^O>9R] M7,[0[/7&?;3=E=6-^7*Q#[?\@9YN)JW7C91PM,BRE*0\Z?+V16Z6#%6 M&=2(/R/^4IQ\!E4HCUGVN;IXO[F5)S..?QNFL M';,R//W\ZOW7.G@1S&-8\)LL_BO:E+O+F3<#&_X4'N+R/GOYC3[UP05B&RT6>O8"\0@MOU8=Z]6MKL5Y16CTH#V4NOHV$7;F\ MY\\\/7!PS]?9-HUJ\GX!052$VVW.MV%](WL"K[@W 2_#*"[>"M3'AP"\^>DM M^ E$*?BPRPY%F&Z*Q;P4\ZJ\S]?-'*Z/<\ =K2+@E\7Y1I;'3[P_3M X,\ 0PP-\[D9;(Y\4SCC1E]]]^AGBT':)X34 M_DB'O^YGX=/O @K>ESPI_K8,1-N!:#T0[1CH0U:&L1"?VKGQ,3K:.[5]I8#/ M2^01CRWFSZ?DZ"B,?.BK<," M?+KER2//;8OGM#Z=:5ERVX'?<]7&#*@$,90V6V! M"4:1J\!6!ABFS@F7Y]&>I"]DWTMW5S=#B$)8>L034R65%9&Q5!%MV5R'J8IG M0#F^KS&EHQ#S7$=ER@1CR.E@2JH[LLO[79YM#NM2KN8 TJ2B(C8Q:5)HD3.6 M-$=;08]"50$-* 0)0RIK!I@'U6VX,L P95Y'ID)2[9%=[N]YP<-\O0.BM .! M"#K.]N(]X=MHE*J+O(EIE(*,_+$T^GIB\3VJTJBCD-@OVN;3801"Y*DTZC#, M<%6.HS1M,QA*= 8CV2N<7#&"='V MS(T!AB'%"L.! 4:05G:N##"*$.RB3B8);$\2-NK ?^!;BDDLQ1K3B>F4THWM MU? .IE. (9JO6) &4I* \HE'E*YU%'=-266J0/;4TCI!2'LQ,* 0=-47L\ \Q!6Y=3DC/D.[2!2)@]L3QY]>W)@44JD M?A,X+9%$*CFQ5]3]1#8.>HI2 \I0E!I0IJ+4".LL2HG,)<2>2WJ(_(Z:E9ST M529NK! IYV1L:Z5QT%.S&E"FFM4$,]2L!IBE9B4RHQ![1NDA]4>4M$1J/IFX M,4.DVI.QK1FB]TJH ]62UH 2=8RK2K )1H@'598-,(>ACC=_(A,.L2>06'::M\84(AZ2LLL,*$< MAZCITP#SW*[N)Y49AMHSC)VY;ZQIJ=1Z.G%CATIIIV,;.U3OLF"'8)5-'055 M*@WM&LA\M:*U>CJ/\J1?;\\JO3P.+6BIE'8Z<9^'2N&F8_L\U-!S<:FG>_)R9HY>\[RABF=1R-G'?ATG]9F/[/DQOP:@\]D."?LC* M"CD/3^8,9L\9O3S^B+J527%G$W> V,G/H6,[0(V#T]]A#;6/ 6506A/*4/L8 M8 :IG9^NF'!^/!9SO"BS?7WNXS$KRRRI/^YXN.%Y!1#? M/V59^7I1#= >3EK^#U!+ P04 " !:AV91_G=D_G@" !V!@ &0 'AL M+W=OUM@M^EK9D TO0J_91FID_9"EI M UQ1P9&$:N;=3^[RQ,:[@!\4]NI@C&PG:R&>[.1+.?.P!0(&A;89B+GM( ?& M;"*#\:?/Z0TEK?!P_)+]D^O=]+(F"G+!?M)2US/OUD,E5&3+]$+L/T/?3VSS M%8(I=T7[/A9[J-@J+9I>; @:RKL[>>Y].!!,HC."H!<$[Q6$O2!TC79DKJTY MT21+I=@C::---CMPWCBUZ89R^Q:76IJGU.ATMH =\"V@!11BPZFS]B/*!=?2 M.*P,C:Y1[CA HLLY:$*9NC(QJ^4<75YBZTBO%2IKPV5S>T7/<%# M1Q"<(5A">XU"_ $%., C\OQM^1P*(Y]8^63Z6NX;+P9#@L&0P.4+_V-()44S M^'!DPZ_[M7+KO]\H& X%0U'+IW& M3'!P,P2]0HL&M.A-M!5?4\:@--NU +HC:P:C?%V6^+!V-+T])AR)PG@Z'4>, M!\3X?>[E0HV;%Y^6#?$1VFD,'L=*!JSD?5A?*3$>FGT%Z@[-H0(IC9_]1S:& MFYR\QPC'R1'O:5" H^@(V3\X%>R)_(W(#>4*,:B,#%_?F'YE=\IU$RU:=U"L MA3;?N1O6YL< T@:8YY40^F5BSY[A5Y/] U!+ P04 " !:AV91:ZAT>VT" M "C!@ &0 'AL+W=O M;!E@#('BNI["@H$>NK,+1Y"16W9[H&12LK;2J.-#7KT-8&>.%! ME0SC*+H(*RY4D U][,YD0]V@% KN#+--57'S- :IMZ-@$.P"<[$NT07";%CS M-2P [^L[0[.P9RE$!,?^V7LG+TMN8:+E=U%@.0H^!:R M%6\DSO7V"W1^SAU?KJ7U3[9M<\^C@.6-15UU8-I!)53[YH]='?8 Q',8$'> M^#D@?0&0=(#DK0II!TC?JG#> ;SUL/7N"S?ER+.AT5MF7#:QN8&OOD=3O81R MYV2!AE8%X3";PP94 VP.N5XKX3_>!_85'K'ADIU, ;F0]I1B]XLI.WEW.@R1 M9!TXS#N)<2L1OR"1L%NML+1LI@HH#N"GQ_&71_ AV>T]QSO/X_@HX0+J,Y9$ M[UD#!]<'K+S?^JS?U;_JQA)?P 2SY>\<@!61E=L0H4V='?I$&+) M)O[X@6$_KI?6QW\>$4Q[P=0+IB\(WE0U%X9:#;*\Y&8-EOJ-Y @%0\WRW0ZX MM8#VT&EKZ2\\O6N#FXS*N-G_?J]F3%_-F!W+:'V'>[>.JK3V[7&ND3^F%)?Q$P+H'65UKC;N($^O]2]AM02P,$% @ 6H=F46I#9%50 M P (0H !D !X;"]W;W)K&ULI5;+;MLX%/T5 M0N@B :;1B[;LP#80/P;318$@::>+8A:T="T1E4@-2<=MOWXN*5EQ9,4-IAM) M),^YCZ/+2\X.4GW3!8 AWZM2Z+E7&%/?^KY."ZB8OI$U"%S9254Q@T.5^[I6 MP#)'JDH_"H*Q7S$NO,7,S=VKQ4SN3,5",VE( IV<^\NO-TD%N\ ?W,XZ)-O8C/92OG- M#CYD8 5E:0UA&/^V-KW.I26>?A^M_^ERQURV3,-*EE]X M9HJY-_%(!CNV+\V#//P%;3XC:R^5I79/Y.^'6S+#%3,D#41:-UNR' M4]^Q42\N;)T\&H6K''EF\0!/(/9 'B"5N>#NY[TGO=F?D)'U7G&1DWM07&;D M:@V&\5)?(_CSXYI"24F'Z4P MA28;D4$VP%]?YD\O\'V4I=,F.FJSC"X:?(3ZAL3!'R0*HF @GM6;Z>%T*)W? M\[[YW]Y?B!%WA1([>_$O"F6G9$56*+3"/8[%:@JR>@.8,0U[ZIV# M)B/:DV_ $!T'P_*-._G&OUSFN!E T3'J2KL]1- G#GJ:; 51$@U<$2SK!DHN"?9*&E<<\!VLB.:OR MKL*!^37>?YKKRK/YYO+TD:F<8U65L$-7P4V"/T4U%Y)F M8&3M3MRM--@8W6>!=SA0%H#K.RG-<6 ==+?"Q7]02P,$% @ 6H=F4<#1 M),R!! E1T !D !X;"]W;W)K&ULS5G;;MLX M$/T50NA#"R21>/$ML WDTL4&V&(#.VT?@C[0$FT+E40M2<'8OQD.^4DFWDPB1=+91[XXV%.%VS*U-?\7N@[OT2)XI1E,N89$&P^\J[@Y37IF G% MB&\Q6\O*-3!;F7'^T]S<12,O,!:QA(7*0%#]\\1N6)(8)&W'/UM0KUS33*Q> MOZ#_46Q>;V9&);OAR?+%18>4L5'0\%7P-A1FLTI\80]L6S%P(2%?)'%A:?.P3T31<"SD(&_9TF\H,6+ MC[=,T3B1G\ '$&?@8SS4YP(.@FF7%F,>_-"*X4RR5/QSVX-(>7-A#:NRI^I&7?MSGK@U.M\ Q M7]+3F 2=[M!_VK,Z*5(A3,X[/P52_ MDG,:;@9,%14*:(HQ\'CU',L?ET7HSF%P'D"'ISJEK9U61*Y;VM,]4>2Z.Y'K M=/K[ ]-&QB#E&=J*1T.ZI!$]-H"5?D%<:]&&6!%]N%;4:P!&8)?C J7EZR:0_3.'$.- M'(-6ZR%N!\NL_D-W CB"962'90@B5,,R*^JP\V8LD'?RS^H_<^G\$_SH[_,-=4L- *^7( M+>6O8: ;N;'*038E('=1_J[\:RZ D,TDJ-\._MG4@AI2R^'\&^SFMB["^PF( M;4K [CK_%01T(Q]? &&;-; [:TPT'!7A$M L K?JY<8/_ %!+ P04 " !:AV91UR7O;(0# "C M# &0 'AL+W=O.#F)&7.=&SF'L1TS$N5I8P^""3+/"?B]SW-^';B>,YNXG.Z292><*?C M@FSHDJK'XD' R&U4XC2G3*:<(4'7$^?.NUUX6!,,XFM*MW+O&NE0GCA_UH,/ M\<3!>DS&N#E19#H6?(N$1H.:OC#N M&S;XE3*=*$LEX&X*/#7]!+F8LA7/*;K,N)17J* "+1,B*+I!"R)8RC82/323 MEW.J2)H!\ 8]+N?H\N(*72 727U7@A9Z9*F2UWL37Q)>2L)BF+PX&(]=!2'H MC;BK>KOWU7;]$]L-T$?.5"+1@L4TMO#GW?Q1!]\%ZQK__)U_]WZGX)(6/13@ M:^1C'UOV,SN;[HULX?S;ZHN_7OW C*!)IL#H!2?T+.GR_>Y)*@'EX$>'?MCH MAT8_?#-9;9E3<0>&J^OCR_1F@$?AV'W9/X]C5! &AYBY10D*[P@?PA86F.<% M^!5V$&2_";+?:>*<,@X/.E%?3.EDL:(O% !I1^!?3E4:*@L MJ^?=0UI* ,"3"?>*4L$1(F:M"P9^K2MSND*7%?G*=A;5GOI[UO1'>."USL*" MBOQHV#H-&VH4MZ@A\> M;:65.;-C1.#Y_5;<;\HLNA '\49-O-%_3Q;C'#"Z'(O.2I=CU, +/;]EFT7+ MDBX6U.ET&37VC&ULI57; M3MM $/V5D9] *MBQ$PHHB40N52.5*B+0/J ^;.Q)O&(O9G=-X._973MN2ITH M:E^\MSESSLR.9_L;J9YTCFC@E3.A!T%N3'$=ACK-D1-]+@L4]F0E%2?&+M4Z MU(5"DGD09V$<11Y M<1OAL%^0-2[0/!1S95=AXR6C'(6F4H#"U2"XZ5Q/>\[>&_R@N-$['J9&&4/:469X;?;2E2D4J.<,*DUJ=0H()%3A3"&=P(0\\FE)7N-F&! M::FHH:CA9(*&4&;-ST [8[T=J(#[7)::B$SW0V,E.J(PK>6,*CGQ'CD)W$IA M<@U3D6'6@I\+!)5F!RA.ES25$:XEN07,&4*$'% M6L.\J>G';]8QS QR?4A6KY'5.YB1>VD(VY8^;K40#<3].8W@D\KBM.V'J AZ MGL!U]9=AKW,9]\.7W2K[VZCCKW37:'*,IVF+T46<-$95%L*=AL)1K7TGUY#* M4IBJ7)K=YK&X\3WRP_ZH&PO=V]R:W-H965TKT:.9RH""I$R%$1?=C %2@V3KN.?@M0IS)!*FG/Z5KE0R@:"L5 MSPJPKB!+67XE3X40%8#FJ0?X!< _!70N (("$+3-T"D G;89N@6@>PH(+P#" M A"VS= K #UK5JZNM69&%!D/!=\C8:(UF[FQ_EJT=B1E9BHNE-!/4XU38VTA M)4LNB)D1Z$8(PF+04TU)]"NZ6_R.'BA19L:C3Q EC%,>?T.?=)1<@WB'*G S MK]@*?4PC/5$U52S $J$W,U DI?*M9OR\F*$WO[P=NDK7;BIPHZ+.25ZG?Z'. M -USIA*)YFP%JQK\K!D_^![^MAF/_08"5XM>*N\?E)_XC8P+V%RAP'N'?,_W M:@J:MH;C09T>+\L^?UGVVV;X#"(-QQ?A=\WP#UM:PCL-5@3E2Q!8ON!'7P([ MHZOM/U0" JF$,/0<].6CYD3O%63R[X:*.F5%'5M1YT)%C[ #M@6]V$<\9NF_ MM5-VDG.$EL/L.;LQ[@?]KN=I1W?5J70>Z..!%YX%SLX#.WW/#\X"YS6!@[[7 MKP8^&WBW''BW<>!FR?ER#]D21)..84D7OA)G>V5%O9<[>]L[-\RSOWIU^V7R M?FMUT7_H$200$256C)DNC/*-%>-09 LG!F7JP2MQ GO'O<_["6]905(UX_3] MJ@DY]:O8I+[+-6_!]7RXE:T>_XC[]RE+LVW6QF3L'W/XK\7FX^J.@\9Q3_7& MG>JT.JEV&M(=65*HVW4*GJKTW5ZW0?KCXIG^& MK^?Y2>A(GQ_,[HF(4R81A;5.Y5WUM"$B/^OD#<4W]E-[R97^<+>WB3X?@C ! M^OF:2IS(9[RP8?%T'+R MB""!4.<4#/\V,($DR9DPCG]*4JORF0/KSSOV&Y,\)C-G"B8B^W4$B1AV8)\Y"%J$]&1!(,E;Z>@&4_4.R3Y]# E M;]^\(V\(S\AC+-8*,6I@:XP^C\$.RTC'1:3NB4@[Y%9D.E9DEBU@T8"?MN/[ M+7@;5ZU:.G>W=&.WE? !5I>DXUP0UW&=AG@F9\-IORF=G_,^^SGO-^WP*80( MIR?A[]OAU^NH@OLMI>A4*NX8OL[_5;'19WW\EXY1M3IF&3D$??F(G.2#AE1] M;8G(JR+R3$3>B8CN80/9&G"W#D64\>^-BAT7'%W#D3>-S8@&G0!79%/7T;&5 M2_M.]]!J>FSE!8[;.;2:-5CU R>HK Z2]:MD_=9D)_AA26PJN'?IN-RU0%Z0 MA+,Y3[A^;LJ]H/3KD3C^RZ3.,;KQC]?'\;SFE+I52MW6E(JM[\LMI'.07\F_ M39O?15U">5MMW MW'"VBZE5!]5Z)S(,JHN"'E>?H%%VBTH%OV#R!IOT@.%:Z M[SA.WD#YPEFW^GH M:VEU=-_KZ"]H=A/:T.V.:]QH]++&=NW BYTF,G<914*QSG1Q:JAFJ_O2M;DE MO)@?TZL);9B?TJM9<1O:TQ>7LULF(YXIDL 273F7/92C+.X[Q4"+E3ENSX7& M-F@>8[PC@LP-\/U2"+T;Y ZJ6^?H/U!+ P04 " !:AV919])_.G\# " M# &0 'AL+W=OW3[TQ>;E MG)DSPQ$UFNR$?% I@"9/&<_5U$FU+BY=5T4I9%1=B )RW-D*F5&-4YFXJI! M8TO*N!MXWL#-*,N=V<2NW QF0Q4L!/^#Q3J= M.B.'Q+"E)=?W8O<;U 'UC;U(<&5_R:[&>@Z)2J5%5I-10<;RZI\^U8DX(*"= M=D)0$X)30N\50E@3PG,]]&I"[UP/_9K0/]?#H"8,SO4PK E#>UA5=NW1+*FF MLXD4.R(-&JV9@3U?R\838;DIQ;66N,N0IV=XA)QNA*2F(LB5E#1/ $M-*_(K MN049/9 UTS3AK- L)POTP9^5)NNR*/@SN4HD6#AYNP1-&5?OD/=YO21OW[PC M;PA2/J6B5#2/U<35*-BX=:-:W+P2%[PBSB>W(M>I(M=Y#'$+?]G-#[_'7W7S MQQU\%Q/=9#O89WL>=!I<0G1!0O\7$GA^OT7/HIN^@LT%"<:6'K2EHYN^A@*] M>X8>>"WTZ[/I_K@MF?_/^\U_]GYT%&%3^*&U%_[;PB=8JT?SCSH%271*L?R/ M2%\^H$WR7D.FOG8HZC6*>E91[Q5%]_ (>0EXP4=5KZ6)CF@7("3[KN10J03+25Z;S;U/=% MC1M1XQ]41[AW)T5<1IKLG[0S2LSWOKU(O9^DR/R#E[O_ ZZ4VLCA$QYB*WMR MI;2A!J>H50MJZ)VB;EI0OM\[@%7QN@=]308RL2VKPH>FS'5UKS:K35M\99O! MD_6Y?[GP6]:7_N5UV_K*M->VO_KFMNK-;ZE,6*X(ARU*\"Z&>,W)JMVM)EH4 MMMO:"(V]FQVF^(D T@!P?RN$WD^,@^:C8_8/4$L#!!0 ( %J'9E%LK?D( M70( & & 9 >&PO=V]R:W-H965T+!;6\;:_X(]NVZ\NNQG2QJV59 XH&7 MQ->^Y^3<AU\.H%SU.7/-E17XB M+HN:+7&"=%-?&1?%'A/!'!=L)>A:KS]@6\_ \\VTL.$)ZS8WB6"VLJ1E"W8*)%?-FSVT/FP!>MD+ M@+0%I'\*Z+> ?BBT41;*&C-B96'T&HS/=FQ^$+P):%<-5[Z+$S)NE3L[\-A9TOF2=KZD@:__M[Z *V\G_D05&J"**=@%W7YTG'!!*.VW/8KZ MG:)^4)2]J$B1<;O>;1"JVJV!YA@$9U,N.&V>\[RAS .E/]#W998,\B*^WW;V M:5*:9%F7M*,VZ]1F>]4^V3.WERBG:/8Y,>BX!_]);_).4?[O>Y,_8WN2_-*; MWR0U:N.M\^_OWDMFEEQ9$+APL.3DM?/3-/=9$Y"NPY4PU>24AF'E?@%H?(); M7VA-CX&_9;J?2OD34$L#!!0 ( %J'9E&2!IY>+P4 (0< 9 >&PO M=V]R:W-H965T9SXN&: MB^]) "#107Y?W0IUU"R\S%D&<,!XC ?/3SF=\D80@B^U"ZI^GN Y6 U@XC%V2]]SF]$ M!:#\F $D!Y"V #L'V&\!S@: DP.#G M:PL8Y(!!6@X9?RGY8RKI:"CX&@EMK;SI@[2"4K3BG,6ZV!^E4%>9PLF1*I*0 M3KF@NN;09R%HO !5S#)!1^@RY%,:HC$\J8=BJ4H18" M(+NJ7%,)"^:CBF-E7C'1R(K'\A(Z&(.D+$P^J=!?'\?HX*=/PZY42>JI=OT\ MH;,L(;(A(8QN>2R#!%W$,Y@9\.?->'L;_J(9/]B&O]PR?]+@H*O8+2@F+Q2? MD4:/=[X\1C8^1,3"?=,-:88_PE+!+0TGE@$^;@W' ]/M_%CTR<>B7S;#Q^ 7 MM\X$OVH?W3/ K]M'[S<4@ET\ZW;JSW[OLYX^D]7S.QF 0#*@,7H-^G:C?*)K M"5'R>\.,G&)&3CHC9^.,8M4P?*F:G@SR=@?B$(6,3EG(Y ]3N68NW=2EUO*G MD6/U7,M2Y?%4+:R6=I=U.V(Y3M7N56Z](K=>8VX/JL?%*U K I\O8O:7N1EE M/GJ5X-BSO5YMEN->?99X8!G2KGMT/(O8-<-)W:,S\"QO8^)ND;C;F/C/D$CP MT8V<':,#?1("N@(:*H8??0:Q#ZK#?[N%: JBJ8CZ1;S^GI2U5\S(VP'U7HTH MHF]^C?FZ'78,=A=U.Q<;["9U.WOPVNY5TH,BZ<'N:$=_;U\JM*D1;)7K'&M/ MJ@17UEYXY^WO*O=9?6Y= \W7!CM,&GC&I)PVV2G3[UU&MB*^%#V\+ZJ'2]G# MN]>],UP7JKP1;&*TE"J\"ZW"=<5XVZL,)J8>=+'=U<3DRFO*MM0GO$.!^DC] MZBY'0TB.SM3K^ S=,G4LN2JE-@5>RA_>%_W#I0#B9@7\0L4")$IT]FC.A7IU MS7,W5K9!XJR7OPULE[*$=ZM+'V'[ECZS:!55AQX@ 2K\H.&]MT4UD%+GR+[H M'"EUCFS7.:;"JJ"JPP![HM/06 BYGVHAI&OAC65 2M$B>R):YC+XUWV E$)' M]D7H2"ET9+O0M6/>J:^&>XT=@)3J1IK5[3^EON#VKB6_I6P1=U_X+;6']'>_ MD,E]OGI%;62ZE!W2+#O_#]-?UKP5TZ5DD<&>,&V7NF);NV"JW)/$]+4T#UWETS;RV:WL2*@R M6:3;60GR^2J6V0?+8K38,ON<;A2]&3_')V-L&+_ )Y-L0ZQTG^W/W:JE)XL3 M%,)&ULS5A;!'$J?9Q(B$ MV(U,,PLBDN#L@NU(*M]L&$^PD$V^-;,=)SC,04EL6A .S 33U)B.\[X[/AVS MO8AI2NXXR/9)@OGCG,3L.#&0\=1Q3[>14!WF=+S#6_) Q)?='9+R^MOSPLP;O?WH]-(7DI[V90/LE_+4>[VOPIAS/:E"MIT&=6UJ'LQV_ #;\ "QHP0X^ MB]YPY'4-AQ[^0';:Z)>]X1O7D=^U9^\KQ&"7X 0EF@0[.T/>U6;3L+.D[3 M[B0WM\K-U>9V3PXDW1.Y!P=LF])_NM>2PH?;"(X\VW-;+"_=-DODPXZTVQX= M#UIVR_"F[='Q/>B=37Q0)3[0)G['N)#+\K=;DJP)U\ED6'DA4C[]<+ MUVO7&L)V ?N9K;Q6^<[4S:]R\E\OV+G?"ENP>T9OV;9[KN@7+:[:%I;7-6(= MG+J&[$87\63($*P_6.#/B!W\"VYI3*0LP UOH[0&YD'R*HY6;]\ M)BQ*G\U*N*<%.V53[W#(UK+Y8Z]&&[ -"/%C!N3Q"^SPHQJ23AIZ9S;,O>B& MJ=[HD'ZGT^GD\Y'UTDF]\R#WK>BDWA20?E=0.J$RK PJ%QA"#W@=D\ZB#-JS M62N.>A=!P_]?@T@>(GI5H=XBD/=6JE O\4B_QO>OPLOK?$'!;)SVY,3?YE<% M&0C8/A7%AV#56UU'S/)#^+/^.1HM4$?_$HVNNOJOT>BFN(2HPQ9W(K>8;VF: M@9AL) 5X,92SA1?7#$5#L%U^!ETS(5>K_#$B."1<&&PO=V]R:W-H965TD['K8'S_J1R0[EA4%#8:\V")UWW=W/-X=Q=%&JN\Z!C#H9\*%/NO% MQJQ.'4=',214G\@5"/MF(55"C1VJI:-7"N@\!R7<(:[;=Q+*1&\\RN=NU'@D M4\.9@!N%=)HD5&W/@<9D[?A1DO8JG1EP]_F!_3)WWCHSHQHN)/^+S4U\U@M[: X+FG)S*S=74#H4 M9'R1Y#K_19M2UNVA*-5&)B786I P4?S3G^5"[ L3S. E #2%>"5 .\QP#\" M\$N WU5#4 *"KAKZ):#?%3 H 8.N@+ $A'ETBW#DL9Q00\Y-H]%OZ(93DZ4'NHCL!0QG7[RS\Z]T$O7WS#KU!3*#[ M6*;:8O3(,=;N3+L3E3:>%S:2(S9B="V%B36:BCG,&_ 7[7CO*?RT'3]LP3MV MO:M%)P^+?DY:":_I%GGX/2(N'C:YTXZ^@]4)\MP,3MP&^*0SO%'[]->T7_Z: M]M_;X9]2T:K]JAT^@>CDR,KO!=*KLL?+^;SG9D^>';OC+R:V.6-B*M ^Z-MG MRXD^&DCTWRT6^95%?FZ1?]0B891M"+:,F+@L(*#>(\[HC'%FMDW[K:#LYY19 MLUN/?3?HCYSU[K;H(G1U*$1"5I=N80TB!=LI([D4[)_F$E!P M!#N:<>B%P;Y]D^#0/CQT'[MZR.6'+O'VI2X/N?QAZ(;-SO8K9_NMSOXAUU09 MIM&W:TAFH-KVQ*#B'+R271I6%H6M7MZ#;2IR@:(])0HT4!7%N5ES&W4N5X69 M#^VEJ7>T:R(>2O+BW6+UL+)Z^.*Y=3X\V"6!Z[K-FP2[===V7R G2I)=Y<,= MW45*- AYX6.I:8.4CQ]+73[%M>_MSAD%/R\IT+_H5FXI-]LN>8))K8B\DDS! M=8O!WO^6*T^HZI(LN.Y$N+T5-47M0B:KU-B5F_Y(V:I:V3NY,!NJH%,TZ[Z! M@]<2S;J\X_;ZGM409M7F1HB4\BR%@:WIC(,])D?V^U-#8^CZ!ZD5'B\D=6O M@V<'Z9IQL+7-.OY%= M)7?=Q^%I"4E=U_'19+T-2QZ+I:(H/:[E_- 2DKN6D MO9:WA^!^([N$@-3%E.!7$@)2UUU"7B0$YR7/$^W4V?D>MAUZF=^-:%M!4V&* MPWTU6]V_?,AO'1[-7^#3"6Z8G^+3R^)VI:8O+GNNJ5HRH1&'A57EG@QLB5+% M_4DQ,'*5?XW/I+''A_PQ!CH'E0G8]PLIS<,@4U#=8HW_ U!+ P04 " !: MAV919"D%R3,# X# &0 'AL+W=O\X+W,.7-F9K4[M!:,/XH(4<)3FE#1MB(IIV>V+8((4R).V12IVADS MGA*IIGQBBRE'$AI0FMB>X]3LE,34ZK3,V@WOM-A,)C'%&PYBEJ:$/U]@PA9M MR[56"[?Q)))ZP>ZTIF2"0Y3WTQNN9G;.$L8I4A$S"AS';>OA01HP]ZLG7L&TY6A$F&$A-0=1GCEU,$LVD=/S*2*WR2X,&!41@+Z-,2P -\MQ_O_PO?+\?46^7TPBLE M[&%P"K[["3S';1;%4PX?XE3!'0WWG )X[V!XH??^_WF_?+/WK5SZ^?GT#9__ MVO,)ZK!MS:]EA!QD1"AL@QZN%"=\E9B*GR6**KFBBE%4V:/H%N=(9ZBNU8!- M:/R[^,@N.6J&0]_N\X[;\!O5ECW?K.2NE>;!,/67P,,!TA+PL>[6&ULS5==;^(X%/TK%IJ'&6FFB9, H0*D4MKN2%,M MHNWNPV@?3+@0JTG,V@:FH_WQ>^V$\!685-.'\@"Q<\_]\#F^QMVUD,\J!M#D M1YIDJM>(M5Y<.HZ*8DB9NA +R/#-3,B4:1S*N:,6$MC4@M+$\5RWY:2,9XU^ MU\Z-9+\KECKA&8PD4?ZKC7"!MD"C.V3/18 MK/^ HJ"F\1>)1-EOLBYLW0:)EDJ+M !C!BG/\E_VHUB('0#ZJ09X!< [! 0G M 'X!\.M&" I 4#="LP TZP):!:!5%] N &U+5KZZEIHATZS?E6)-I+%&;^;! M\FO1R C/C!0?M,2W''&ZCQ0F;"(D,XH@5U*R; XH-:W(%X*&3,.<1V3'S.@G MFY)O/$)!(F0NP0+(QR%HQA/U"9%/#T/R\<,G\H'PC#S&8JD0H[J.QI1-8"R813D]&OSL/'T*T@1]&WZ/"+Z7K6W_^ M:Z5K];D[_E/'((F.64;V0=^_H4_R54.J_CF345!F%-B,@I,99;AC(HU[6,?% M[@7YF22<37C"]4O5!LA=MJQ+<9_5F["0>ZCN1.9AG[8W,_ONGF<'^VXAZ4>^PI"U_/W MK6Z.?06=T VKBVV5Q;;.%OO(GF'*R/=[2"<@SRFB77ILOQ.-AF5&X=MK-#SF MM^.Z!\3]PF@OVTZ9;><-Y-WYZ;Y&,^0_\K3X,I.X MRF3$7BRU-?1$=\YK^DX41;UM3MZ;:^JV\+E+2-@\R F[ YROP\JV&=/WTHWIMAW3 M7_?C>JR$%0W,? YH<78N [@+Y_:>IT@DEIG._UR5L^5=\LK>H [F!_3RFE;, M#^GE37Y3W+K/+Z[X!W'.,T42F&$H]Z*-$I+Y73 ?:+&P5Y&)T-@B[&.,]V>0 MQ@#?SX30FX$)4-[(^_\#4$L#!!0 ( %J'9E%^P.T%" 8 &4D 9 M>&PO=V]R:W-H965TD4K=4,_6"*Y9S2S48F7?-46"0>Z4* H M;#N6U6U'-(A;_9ZZ-^7]'MO(,(AARHG81!'EVR&$[/&Z9;>>;]P'J[5,;[3[ MO82N8 ;R4S+E>-4NK"R""&(1L)AP6%ZW!O;5K7>1 E2+OP)X%*7O) UESMC7 M].)N<=VR4H\@!%^F)BA^/, (PC"UA'Y\RXVVBM],@>7OS]9O5? 8S)P*&+'P M[V AU]>MBQ99P))N0GG/'G^#/*!.:L]GH5#_R6/>UFH1?R,DBW(P>A %-\#O!< G1S0J0OHYH"NZONLLU1/CZFD M_1YGCX2GK=%:^D6E2Z&Q@X,X9=9,C MGV9C\NZ7][VV1/=3)]I^[NHP<]5YP56;3%@LUX+]'WSG/?#QVCP0^;^(RXU@EQ+,>JBL<,GT%BA(]_#'Y3&VY?5L!OS? Q M^ BWJ^ [?>D6/':5/?>U/%;$+%]_E&ODM%S3F.R"/O^.-LF=A$A\,7CD%1YY MRB/O!8^F=)N]1Y)A_?RV"3@0IGX[B!] 2/6P*FV9V:XRFPK#0]^VU%^O_5#. MSWX[W6+'XT[A<>%:GN^?M MN&:[V_UVCN5YY78[L76+V+K&V.[A >(-G&#I2O4VB%=D"EPI<^P#^3@/@Y6J M;R?DYBE!V8,%^3.(TG9L26;X2"RIGS682++E7J'3FWKU+(- MS#DO?#UO")$< MYH<60KLI2FAK*;3-6O@C_#!:3B=>5R*A/ERW<&8E@#] JT\J^?+CAG:CU[)J MFW6U&"VG"1@CF4*6J 3DQ"*?)Q#-@7\A_Y FZ)2M1=7N-H5K6CSM\S?CFMFR M2:R.@NY&J,78-DM?L_A40]NT$-N7#>&3H_76L=Z*3PCP(<\RA@PD+P-R'E9" $ MLBH,0)R0N]@_*UAF^AVMMTZG*9G72NF8YY]C?)66G$6$+I5R:YNS?[ M[51,_<>'V^VZJ<73,>M4C11A(9B,[@>U4J8ES;EH2LJT&#F'IH6ETK@HE4:> MET:53XFNB>SU%=G"R61P5YG;RYJY/=AN=X%,"YEK5HTC2;#FO:MGZ@#'74E9, MCI56."/(KHR&9@*R5/EW47:\IZ=,"X)HG7*],G]E8C?1I%7#- M*E O?:.;6:WRZNJR[C9E1='5)=\USV(&JQ6'53H ]%D4 ?<#I*>@8=HC48 ? MDL55(CG,[>X7R)_VG*;G5/'<>T*:%5P&O*\J&G)'[-]-/3V=[%, MHQU/:X!G+MOUDC5#8H$@ S+EL 3.X7D3NTZV=-GWFK),YFE)\,PC?:V18DUQ MHD>2?-N^^C7+C'7*FY*=BW.K\U*>M QX9ADX=IMTZ.W+P/?[I)E+[=+I""3D M2IUC$:@ZFUAFF_7%W>*LS$"=$/GN_MB^NLE.O&@SV0&<">6K ,?_(2S1I'5V MCAW%LS,MV85DB3J#,6<2WPKU=0T4!]1I WR^9$P^7Z0_4)PLZO\+4$L#!!0 M ( %J'9E'#PQEH10, P2 9 >&PO=V]R:W-H965T-@F:V.&K") H[;1.0T.PCX>J#R9I!#K+@WCLDR!H^)RRQ.MU\K&1['5$IF.6P$@BE7%.Y=,5 MQ&+5];#W/#!FBZ6V WZOD](%3$#_2$?2]/P"9<8X)(J)!$F8=[T^;@\(L0'Y MBI\,5FJGC6PJ4R$>;.=VUO4"RPABB+2%H.;O$080QQ;)\/B]!?6*/6W@;OL9 M_5.>O$EF2A4,1/R+S?2RZ[4\-(,YS6(]%JO/L$VH;O$B$:O\%ZVV:P,/19G2 M@F^##0/.DLT_76\/8B< U_8$D&T .38@W :$>:(;9GE:UU337D>*%9)VM4&S MC?QL\FB3#4ML&2=:FEEFXG3/I!_3J9#4GB;J2TF3!9@R:86J: 0R%TH2@6TS M,4,?KD%3%JN/'5^;[2V('VVWNMIL1?9L-8'T H5!!9& !*^$#]SA7[)D7[AO MDBXR)T7F),>K[<$;PR,D&530&*S<6;)XD>^W:-,3]L,&E ^+ZN2FG=#S<.)ERW,@X.$(ZI?]A MMT\=*1VZ/@OI- ](IS15W#HWZ90FBB]/)ATW,C[B_DE*1R5N1_V_I--R2X>4 MGDSPF4F'[+S]N5___D$Z!Y"=TO%W7M7M=Y(AE0N6*!3#W( %%TWS')>;3P^; MCA9I_O8^%5H+GC>70&<@[0(S/Q="/W?L!X'B U#O+U!+ P04 " !:AV91 M #JPM8T" "#!P &0 'AL+W=O4S(:T(TAI6K5(K5B+@K,7R^!LLW4 /X3F C>FND)UDP M]J2+Z^74;;Y".\](ZZ6,"G-%FQ;K6"BMA61%2U8."E(V=_S2YM C MN,$'!*\E>(<2_);@'TH(6D)@DFE&,3DD6.(XXFR#N$8K-;TP81JV&I^4>MOG MDJNW1/%D/,,B1U^>:[+&%$HI$"Z7II:O: YIS8DD(- G-&-%Q4H#81G:H1TG M(#&AXD1!'^8).CXZ04>(E.A;SFJA1$5D2^57=[73UMMEX\W[P-LU([M"*E0!0RQ7/.0C4T;X[\II"L,H?@@DEUI)IE MKOZ2P#5 O<\8D]M"GZO=?S?^!5!+ P04 " !:AV91$< WV?\" #"@ M&0 'AL+W=ODSC5(RI,QX6CJ%6*Y'#G.>)R[%763LA#L>9OP.YF"N MLPN%EEM%68@$4BUD2A0L1\X).YXRWP(*CS\"UKHV)K:56RGOK3%;C!QJ*X(8 M0F-# MQ^92KG]"V5#'Q@MEK(M?LBY]J4/"7!N9E&"L(!'IYI\_ED34 "QX!^"5 &]7 M@%\"_%T!00D("F8VK10\3+GAXZ&2:Z*L-T:S@X+, HWMB]2N^]PH_"H09\83 MKB/RXR$7*QY#:C3AZ:*PS1.90Y@K801H\IU4SVIV"XB/4!SEW/IV1_ M[X#L$9&2JTCF&M%ZZ!HLS(9WP[*(TTT1WCM%S"$[(CX])![U: -\T@Z?0HAP M9N%LT "?[IS]+=Q%-BM*O8I2KXCGMU%J:=SB]N87NI*9@43_:TGD5XG\(E'P M4:+0#N E4=,*;$)UBU!6#%;C'NNP[M!=U8G>]AK08-!_[35M\/)8X%=>K[H) MJFZ"UFYFZ0JT04DQA!L22FWL@1:-S01;!3!*Z9M>-DZ=FA-MKK!35=AIK?!< MHEKE,5?D1&M(;F,\&8=DEN+NNSE'&U3;JG:K+-VOW3Z]*E&OM9W?ZQ24CD1& M,E A9D"=;R*[/4IP1.FWEFKZ537]#\A-X8F<>=RC)6?2=W6-!_<^ FI5OGU>GU@G[S?F8U\6Q%^]@7BQ][ M43_VB?+'MC4+GT9;FM'@Q@8^?2L<;NW"M<\CW+9W(M4DAB7BZ%$/5TIM7AP; MP\BLN(-OI<$;O1A&^$H#91WP^U)*\VS8:[UZ]XW_ U!+ P04 " !:AV91 M3T"4X&," X!@ &0 'AL+W=OD[.3ONZ04U4%B M(X<>>I'XV!G-SBZI=*?T@ZD0+3S60III4%F[N0Q#DU=8,S-0&Y2T4RI=,TM3 MO0[-1B,K/*@681)%D[!F7 99ZM=N=):JQ@HN\4:#:>J:Z:+@>>&6 MKROK%L(LW; U+M'>;6XTS<*>I> U2L.5!(WE-/@<7\XF+MX'W'/?WH)#\F3WIBD-R;Q?,-#",C16-ZU#=6M7 M A==:U)[YXW67*Y=BW%S1,ZPES/T=P MYW>;C>/1Q44:;O>-?!UU'B>COU$O!(YZ@:.C K_A%@7$?6<CF3?U""R;M*\#KJK1*$>^?:W:ET!->4/P@L"1<-SLD_W=Y3[<2JC3_J*V7I MXO##BJYVU"Z ]DNE[//$W1[]SR+[ U!+ P04 " !:AV91BYW] 6$" S M!@ &0 'AL+W=OP&??=]WWYVY(ZFE M>M,%@"'O)1=ZYA7&5 ^^K[,"2JKO9 4"3[92E=2@J7:^KA30W(%*[H=!$/LE M9<)+$[>W4FDB]X8S 2M%]+XLJ?J8 Y?US!MYGQO/;%<8N^&G245WL ;S4JT4 M6G['DK,2A&92$ 7;F?=C]+"(K;]S^,.@UKTUL9ELI'RSQE,^\P(K"#ADQC)0 M?!U@ 9Q;(I3QM^7TNI 6V%]_LC^ZW#&7#=6PD/R5Y::8>?<>R6%+]]P\R_HG MM/E,+%\FN79/4C>^T] CV5X;6;9@5% RT;SI>UN''F T/@,(6T#XOX"H!40N MT4:92VM)#4T3)6NBK#>RV86KC4-C-DS86UP;A:<,<2:=4TY%!F1M&319@J&, M:W)+GL0!A)&*@2;7[?8-[K^LE^3ZZH9<$2;([T+N-16Y3GR#8BREG[6!YTW@ M\$S@-51W) J^D3 (@P'XXC)\"1G"1Q8^^OX5[F,)NCJ$71U"QQ>=DX/MD>\Y M$+GM4O\@"UE64J"A+X2(NA"1"S$^$^*9UGAS!A2C?+!@#3QV<-M]AW0Z3?Q# MOR@#+IW'%U'C3M3XHJA7;+);)FXK)3/0@[(:@DDO9GA_)&O )1[6->ET32[J M>F2"X5>=DYV4PY_7Y"1F'(5'NDY]HNA^6%C<"8LO"NOUQ9"J^/2"HN-+//6) MIJ,C57ZOI>TX_475C@E-.&P1%=Q-,2G5C*C&,+)R7;Z1!F>&6Q8XU4%9!SS? M2FD^#3LXNO]$^@]02P,$% @ 6H=F4:0[)]:" P :@T !D !X;"]W M;W)K&ULO5?;CM,P$/T5*^(!I&43.[=VU59BNR"0 M0%24RP/BP4V=UB*)@^UL6;Z><9(FV38-!>WRTL;)7([/C$\FDYV0W]66,8U^ MIDFFIM96Z_S*ME6T92E5ER)G&3R)A4RIAJ7,$=DIY9LTF MY;V%G$U$H1.>L85$JDA3*N^N62)V4PM;^QL?^&:KS0U[-LGIABV9_I0O)*SL M)LJ:IRQ37&1(LGAJO"6&ZV0E=NZH9K.)E+LD#36$,U/H"9=!:3VNS9V#W:7F#GCYYAIX@ MGJ&/6U$H<% 36P,XD\*.:B#7%1!R LB2Y9?(=2X0<8C3XSX?=K]A$;ACXX[' M]]UMH*3AA32\D#*>>R+>?OL7: $$Z?LLH*]OP1R]T2Q5WP:2N4TRMTSF_2%9 MF87ML_1Q6,4)RCCFA-[./,@U(;Q#D6Z;4%1R[ MJ$B+A&JVAM,"RA%Q6IU'@$Y3(37_5=[H0U\E\#NXGKLNZ0"KX/>;^;@?O]_@ M]_^!Y+*A^[#Z1R!",AH?(#TV"LB(].,,&IS!,,]T)2350MZU*-'7=RQ=,3G4 M;&$3/WS\SAXUR48/U-FC(RJ)-W+# \)[K%P_.-$9XP;D^ ^=#>^!K4C6B*>Y M%+?,8%3G<(Z=5F:=QV<==U0=/Q#O=: NI=@)0^^ ^%ZSD>/U,X];F<5D$.A< MI'FAF>STNH&L1*QW5+*SBM#*+';_0Q%:P<3#BOD713B6/!>[1S7HL7)P<*($ MK2[B86%\'\<<)H#[!8@+F7%=G%F!5MMP\!\JT$H=#A^J N%Q?^/0/ZQ CY5W M2GYP*Y)X6"7G(E-:%M5@"V,4B-!&PNOV+.Y;E>M(I'G ?BO@[4G5<" MYW"FZ3,:'S)O=P9A\Q7RCLH-SQ1*6 Q>SF4(E9/58%\MM,C+V7@E-$S:Y>46 M/H:8- ;P/!9"[Q=FW&X^KV:_ 5!+ P04 " !:AV91Z7 R6_P! !I! M&0 'AL+W=O8%"=7,2DZ/CGN]JZQTTSUJVPP+M0[O6SJ(C M2\4;E(8K"1JW?"<;I1Z]\;6:D\@7A )+ZQF86PZX M1"$\D2OCS\!)QI0>>+H_LG\*O;M>-LS@4HF?O++UG'PD4.&6[86]5]T7'/JY M]GRE$B9\H>MC9S<$RKVQJAG KH*&RWYE3X,.)X!X>@:0#(#DK8!T 3E:%]9 M:&O%+,LSK3K0/MJQ^4W0)J!=-USZOUA8[4ZYP]E\P023)4+A&0RLT#(N#+R' MSTI5'1<"+@??E7,^%"NXO+B""^ 2OM=J;YBL3$:MJ\3ST7+(NNBS)F>R%MA. M((W>01(ET0OPY>OP%98.'GMX?/,OG+K^1Q&2480D\*5O$6'4X-?=QECMYNSW M*RG2,44:4DS/I#C*^9)6/7(6D/[6'?(TF<89/9PJ\I^@OBAZ,@C^$GYC>L>E M 8%;!XLF'ZX)Z'ZP>\.J-LS&1EDW:6%;N[< M0]PYUNE[-'PXS:^+OE?4$L# M!!0 ( %J'9E%JX3:7=0( & & 9 >&PO=V]R:W-H965TBAYH:641H425 MI.ST[[ND9,'Q"^E%XF-F=G8IKB8;(5]4":#):\5K-75*K9L;UU59"155(]% MC3N%D!75.)4K5S42:&Y)%7<#STO[\,A6I38+;CIIZ H6H)^;!XDS=U#)606U8J(F$HJI<^O?S!*#MX ? M##9J9TQ,)DLA7LSD:SYU/&,(.&3:*%!\K6$&G!LAM/&GUW2&D(:X.]ZJ?[:Y M8RY+JF F^$^6ZW+JC!V20T%;KA_%Y@OT^<1&+Q-"\A[ FA3;1S9M.:4TW3B10;(@T:UN'_5>77[5)IB5_>[S,QPB%&:&-$ M)V)L2]NT,BOQ0SQ:M4XBL1+F0J[3<.QC@=:[M3D$1>$X&4!OW$6#N^A][J0H M0)D[2SG!LR78"13+@2B0:X8E*N"X\TX^WG7N1\&>\T.0/_:"X\[CP7E\UKG] M<(\YB@^")?YXS] A)HQ/^$D&/\E9/T]"4W[,3W)P;-?Q]?[9'H*2./+V'+D[ M]]_TWGLJ5ZQ6A$.!-&]TC0G)KI]U$RT:VQ*60F.#L<,2?P$@#0#W"R'T=F*Z MS/!32?\!4$L#!!0 ( %J'9E%[)RL)90( &D% 9 >&PO=V]R:W-H M965T&#@)5K%-;1.2_?H=&XJRE51:+H(_SGEYWH./YZW23Z9$M+ 5E32+H+2V M/@]#DYFUL@*GR2J,(ZBCZ%@7 ;IW*\M=3I7C:VX MQ*4&TPC!].X2*]4N@DGPLG#'UZ5U"V$ZK]D:[]'^J)>:9N&@4G"!TG E0>-J M$5Q,SB]G+MX'_.38FKTQ.">94D]N,F;P2E6_>&'+17 :0($KUE3V3K5?L/?C 7-5&?\/;1\; M!9 WQBK1)Q.!X+)[LFU?A[V$^%!"W"?$GKM[D:>\9I:EE^RCW5M,NISR;WEN5/QTY7P5<*4'?VC!?KB/X]-QPNX,;F:-TI8-EQ:2! M=]=H&:_,>PJ)H\F97X:'6Q09ZL=Y:(G*:8=Y3W#9$<0'"+XV\ABFT0)WJS*NZ#MND M)Z=G)Y,DF8>;$9QDP$G>Q+EE6RX: ?)?+*L@0^#&-%21IJ:*X19US@WZ('=< M0-6NE&8,-WF%.TDB_QOGG0V\L_\L7V-+I?EO+,8P9J\P3B=C%.%>Y[A+Z);I M-:=#7N&*,J/C$Y+076-W$ZMJWTR9LM2:?EC278C:!=#^2BG[,G'].=RNZ1]0 M2P,$% @ 6H=F4&ULS5==3]LP%/TK5J1)FS1(' JEJ*W$US2D,2K*M@>T!S>Y;2QB M.[-=2J7]^%T[)>FFXH+& R]-[/B>>^QCGU[W%TK?F0+ D@=12C.("FNKHS@V M60&"F5U5@<0O4Z4%L]C4L]A4&ECN@T09ITER$ O&933L^[Z1'O;5W)9"Z>4)E&HQB&CTV''-9X5U'?&P7[$9C,%^JT8:6W&#DG,!TG EB8;I(#JF M1R=IX@+\B.\<%F;MG;BI3)2Z?Q:@49- M3A>X_OZ(_LE/'BDJ(/6\ZT2>Y1FS;-C7:D&T&XUH M[L5/U414"13;,+]<.\1_(E>5:QKR_@PL MXZ7YT(\MYG71<;;*<5+G2)_(T2.72MK"D'.90_YW?(Q\&]+I(^F3- @XAFJ7 M["4?29JD20!OKUF$/8_7>0+O0F8@W>[X9\ZWER FH'\&4G2:%!V?8N\IR@73 ML&F=C[5F<@:XT2V9+,GZN!%;^N[C!=,YN?V"D.3"@C A0OL-H?W@G$=SG168 MAE2:9T#4E&1*""1DW!)L$CF,1Y-D-TG>!9@=-,P.@DA?E=P96V;G5NGERQ7I M-FFZ;T.1PX;0X2LK$L8[W-\B2*\AU@L"O5@"FK3ND[P-$>B:(=*P#*"=&[CU MOU>6RQGATH(&8\U&ZPNCT6VG@J8ML?0_]@=A$X4&AG\17,P%L04R+E29;^0< M3D2WDVZ=E8:M]?RAXKJ6M +-U68^80R:D"4P;4*$6A^FG2!8O6ON44XG;8!3 M&*:SG5+KQ#1LG9O/%_E-;O ,8!E&KG"'/^?8M0Y+#][(L6O=F'9?H(MVQ106 M'55]&#<7'6' =)O]T=:8:=A)MPITLU#/$JAU7-I[&P*EK56GR2L+M 6P^Z1 M\5H]*T#/?-5NT.[FTM:E;=/;W R.ZWJX'5Y?*RZ9GG$4K80IAB:[73R*NJ[4 MZX95E:^.)\IBK>U?"[S=@'8#\/M4*?O8< F:^]+P#U!+ P04 " !:AV91 ML@Q$ZH\" "Z!P &0 'AL+W=OL2)-6:24A@5(J0()VTRJM&BKM]C#MP21'8C6V,]LTY;_?V0&72I!V M4A_VDOC'W7??9Y_O1K54#[H ,.2)ET*/@\*8ZB(,=5H I[HC*Q"XLY**4X-3 ME8>Z4D SY\3+,(ZBLY!3)H+)R*W-U60DUZ9D N:*Z#7G5&UF4,IZ''2#W<(M MRPMC%\+)J*(Y+,#<5W.%L]"C9(R#T$P*HF U#J;=BUDWL@[.X@>#6N^-B96R ME/+!3JZS<1!91E!":BP$Q=\C7$)96B3D\6<+&OB8UG%_O$/_XL2CF"75<"G+ MGRPSQ3@X#T@&*[HNS:VLO\)64-_BI;+4[DOJQG8P#$BZUD;RK3,RX$PT?_JT M/8@]!\0Y[!!O'6+'NPGD6%Y10RHP'= O@LX(O,%;,_#]AQL_Y_),30$QJ^2T*TH_1>38AN]%RGHG=.B5< X_ZQG CWRBD'E;NF MH4DJU\(TE=6O^L8T;&PO=V]R:W-H965TZI"^LQ-ESSPB1(!O:9+QN1,)D=^Y+@\BDF)^2W.2R2<[RE(LY"W;NSQG M!(<:E"8N\KR1F^(X!\) M-> N9CG>DRT1G_,-DW=NQ1+&*6_(UF1)%%,,H\_2U*GBJF ]>LS^R]Z\G(R3YB3 M%4W^B$,1S9V) T*RPX=$?*2G7TDYH:'B"VC"]5]P*M_U'! ,+@ \$N WQ4P* &#KBD-2X">NEO,71=NC05>S!@] M :;>EFSJ0E=?HV6]XDPME*U@\FDL<6*Q%31X?JM*'8(53>7ZXU@K^!9LMI\Y MP%D(-LL/'/R\)@+'"7^CGA"FEV@6$+"-,",@@WYK+K#O0;XNC,<3INJ88=O22[A7E/T?Q3#KU:+K_G\2WQ*[*;5 M7D#]O0U^TR$[>(8]X1V^U3;@MKGS]M\9Y."QOK@L">*&..$(^NL'Z04\H@I ^6U[6-/ M<2+/K5$L-PT=GA'VMTJQ;"5J-#QH21W3,["U7? MD>2P_#%* LQ%)_&,[:)!3\0S-HWL1]2KQ5NV$+:+9_P:V1U5BC=YE0LB8[1H MW!-%C#$C^YGVO[G@NH4=PDF;/L:OD=U1[?I<[X*^\5_?ZX=LOC%FWW[>O?I# M6K<0MGY(OG%HWVZHG87J>"[W:WV#GC0.?&/"OOWL>_UVU4)X62BWUI]+"=OK MQB@' 3UDHNA$5:-5\_5>MQR_&U_"NW710C4T14?W$;.]_-D-$K*3E-[M6+HS M*YJDQ8V@N>X"/E$A:*HO(X)#PM0+\OF.4G&^40&J5O7B;U!+ P04 " !: MAV91-7B#Z*0& !>)0 &0 'AL+W=O/+;A*>&<]XQL_8DXQV+'WF*TH%^!I'";_JK(187_9Z?+ZBL<^[ M;$T3^/VJ?9(Y+YUY\CF]9=&?82!65YU!!P1TX6\B\VQ'ZN4 _"]9^=K/0W/G"'X]2M@.I0DMMZB*+;R8M M(Q(F*A5G(I6_AE).C&>"S9\_J& &X);%,L.YG^7(!W#TI_NOZIJ"BSLJ_##B M[R3XR^P.7/ST#OP$P@1\7K$-]Y. CWI"VJA&ZLUS>V[V]J C]D#PD25BQ<%] M$M# (']GE\=-\A.[_- BWY-S6TPP>IW@&V15>+U9=@&&[P%RD&.PY]8N_MLF MD>+.4?$[N_B,KJWB]ZW%X= TF6\;??K-HY="@8MUNOL[2VB\CM@+I>"OCS1^HNG?EEGT"K7> M.8+6+X;KV[W8*,/58&RM5'.P3/U$R $O^,I/*7]GXK2]3OU$SXW59VKJH4=<5FI95M +G$K:SL'%19_Q74U* *>H,CP8-( MNXRL+E_O_#0 6\I%F"S!FJ8A,U=7NQH"7JB?<=09?-U=8 MRD-M08#_P&>Y=F5& M@T])*R*%FJ"A>Y9UHJD;>BC59W'H5I.Q#L+>H!J/.FB(:KE8!T&G[QX) MFF9R9&?R'YB+]1W[H)Z*=E#9*5TLD'U;_W#SJ5TFZFJ AN?(1*PI'MLI_I1, MS%65&:]?R40#"+O53#2 H([4\^R.&#_LQ9&C18\SVV\_W;CQ#Y *6>C21!VA]8=,-8,C^T,_QCR9[!(95C"1-!4[M*/>V/7Y'3Q$6>: MY(C=%UU;L/U@4(0F"+=A0.6V_B6DD;']U*#)J9\P5X:'+PUL->DDT_MMPT*W<:UH4L.^5$EY_3&"M&5B)RE$A%= MB8B]"IP]W#'$-)XQ!]4!L )':,<0 @JA?Z?M/C2@R-#.IJVG?;:!]&LE' MR_=@2A.:^E$6T>L@#I.0"[G)"+>M2-+5U.VBLP15L[)K[S^=%-1Z_QZZP^HK M&!,*]4DUK(9W 0-8/5V:4"XFE;#V#K[:B&FZS#[(X=*=32+V;YF+I\5'/]?9 MIRZ5YS?P\A8:GM_!RWO3\PF\G.X_]='#[K\\^NBGRU"2>407T@2GVY>9F>X_ MYMG?"+;.OB5Y8D*P.+M<43^@J0+(WQ>,B=<;-4#Q2=7X?U!+ P04 " !: MAV91M7>X1*X" "[!@ &0 'AL+W=OZ!:$,B>:V+6%B":\4CEEN! @JZ(@XF.&.=].G;ZS6WBB MZTR9!3>:E&2-2U3/Y4+HF=NR)+1 )BEG(#"=.G?]VWEHXFW +XI;V1F#<;+B M_-5,OB=3QS.",,=8&0:B7QN<8YX;(BWCK>%TVB,-L#O>L7^UWK67%9$XY_D+ M350V=6X<2# E5:Z>^/8;-GZ&AB_FN;1/V#:QG@-Q)14O&K!64%!6O\E[DX<. M0/, MI1JGHCDIJ2(Y+!6/7^$+/+RCB*E$X"G\*$VF)5S>HR(TEU=Z_WEY#Y<75W ! M+LB,")1 &3PSJN2U7M3CGQFO)&&)G+A*"S3'N'$C9E:+\4^(&<,C9RJ3\, 2 M3#[C76VL=>?OW,W\LX1++'L0>-?@>[YW1,_\O^']\1DY09OLP/(%)_@>WBJJ M/N#WW4HJH3_@/V--J; I7P*7=76NCE6A9AQ:1G/--]'- MR!_H!&VZN3F,&H\\?QBV89_T#EN]P[-Z7^S%T@+)!H7N$ZUD* 6-[7(R82$@%+UK-\L#. M,=$U<]C1,PS&>YH/8P:AW]_3[';Z0(%B;=NCA)A73-67IEUM._"=;3Q[ZS/= MF>M&^H^F;NN/1*RIKDJ.J:;T>B.=3%&WRGJB>&F[S8HKW;OL,--_%Q0F0.^G MG*O=Q!S0_J^BOU!+ P04 " !:AV91_$03 P # "E" &0 'AL+W=O M[=D*:TA!5FO8"_CKGGGO\<3/>"_FH8@!-GM*$ MJXD3:YU=N:X*8TBIZH@,.,YLA$RIQJ[G8CBWE M="QRG3 .2TE4GJ94_IE!(O83I^LC[;"FQYU8L$4N! M*R8XD;"9.-?=JT77,P"[X@>#O:JUB4EE+<2CZ=Q$$\.(,'1+!AN:)OA/[3U F=&GX M0I$H^TOVY5K/(6&NM$A+,"I(&2_^Z5-I1 V /,T OP3X;P7T2D#O&!"< 0E M(+#.%*E8'Q94T^E8BCV19C6RF88UTZ(Q?<;-OJ^TQ%F&.#V=TXQIFI"5%N$C M>4^6DNVH!O)MLP')^):<+4!3EJASG+Q?+\ZTNL!! M;'^/1:XHC]38U:C.Q'##4LFL4.*?4-(EMX+K6)$//(*H 3]OQX]:\"ZZ4EGC M'ZR9^:V$GW/>(3WO@OA>=]2DIQV^@NP ][T&^.+-\./H+[+I51O=LWR]4WSY M6K&(X=V^("N: !&;R+JL9%VVRGIUL!]N(5V#;$NY7W'W_Z^W M@RK0H#6)K[F1;.@/UP_-AHC@C2-*)$VW9E8P7M:\['G!<##TFOT<5E*&[7[F M,HSQP2699+C99[F*2(;:K+#S)B$%W["^J?U.T*QB5*D8_=MAFXU>':7!B9A= M[_G-]-JW >MQ)D4($"DL?B%@Z6KTON2I1P]&(^_8>K?V?J<@M[8.*LPIY[IX MKZK1JM9>VPIS-#XW-=C6A6>:HH#?4KEE7)$$-DCI=09X(&11$XN.%IFM$FNA ML>;89HS?$2#- IS?"*$/'1.@^C*9_@502P,$% @ 6H=F44IIJRK4!0 M&1P !D !X;"]W;W)K&ULO5EM<]HX$/XK&NYE MTID6+-D&TB/,)*%I>M.73&CO/G3N@S "-+$M5Q*0S/3'WTH81((1OEY*/@0; MM+N/'JV>7=F]I9!W:L:81O=9FJNSQDSKXG6KI9(9RZAJBH+E\,M$R(QJN)73 MEBHDHV-KE*4M$@3M5D9YWNCW['3<^:P0&$4M9HHT+"A\+=LG2U'@"'-]*IXU-3&.X?;WV?F4G M#Y,94<4N1?HW'^O96:/;0&,VH?-4WXKE-2LG%!M_B4B5_8^6J[%QIX&2N=(B M*XT!0<;SU2>]+XG8,B!XCP$I#4A=@[ T".L:1*5!],0@#O<8Q*5!7#="NS1H M/S' ^UCJE :=N@;=TJ!K5W>U''8M!U33?D^*)9)F-'@S%S8AK#4L(<]-[@ZU MA%\YV.G^I<@RKB$9M4(T'Z-+D6N>3UF><*;0*_29W>LY3=')@&G*4_6BU](0 MUABWDC+$Q2H$V1/BSWG>1&'P$I$ =[X,!^CDURHOEWXOYX6LXV7@]W+%1DU$ MNH>\O/%[&;)BC84$I9>)_OT7W.G^H5@REUP_Y/-LQ.2GR2W+V9*FGPJS52M" M7?E##5@"H; %?+H?\-O:Y)%@C;3"S?6!E:3Y&LP^-RW(OTT2DDT2$NLW_*$D M_/H>AJ-WFF7J'T^P&%M&9*4\U0(:$82/V 3M2W.94, M36 _O4#?D8>K-ZLPL0UC2L2BW^F$0=!K+2K011MTD1?=1YLV!M]HSM,QL*!0 MRD")4(!33"*ATZSLQMH[6W3?[G3JC?WR;7?G>T'S6BPZ MG<7=([#H=!'[A?%"2+"! "BA!4VJ>X,+O"MQ. @\(D>"2DY'*=07TU>=E'NHLL<^X#EHQMX-1)Q^$;]^#;6M=#R'E@$:/@NM$I#? M3=CLQ%Y 6^TN.=#"+$2Z,*M62NL5+)V5U1JY2)RHD?#GYR)Q.D7\.E4O%TLG MV[D8>U/1"1CQ-ZS_)Q7]GO$!+2=.]8A?]6JGHM]-U"3^5'0R2/PR.&"928T! M*X3BD"=U$M")(3F"&!(GAL0OAA]%_LIV@[GI9I66/#%D)U3-*CFN4$5[Y/.R<[J7:"5UXX)P=8'0Y M8XH6C-ZQ6EP[S0H[1^#:J5AXX.S\;%SOGHLQWI_63O="O^YAX'I(ISRGRSI$ M1TZ>HN#G$QTYN8K\#=9S$7U=QGFD'Z=[DSIR A?Y!6XX'ZV>0-1AV:E2=(0V M+=IZP.AOTYZ+Y;?1[B/','I:/*\K1I%VO+,6K:U7&.:EV0C?@6&[?0ZUNM"CL6XV1T%ID]G(&C1^39@#\/A%"KV_,BY+-V\#^OU!+ P04 M " !:AV910-R&%6@# (# &0 'AL+W=O.YD4'!-&NS>0..]YCY]C.SFS$Q??94F(0C_KBLFY5RIUN/=]692DQO*. M'PB#)SLN:JS@5NQ]>1 $;TU07?E1$*1^C2GS%C,S]B06,WY4%67D22!YK&LL M?CV2BI_F7NB]#'RA^U+I 7\Q.^ ]61/U[? DX,[O7+:T)DQ2SI @N[GW$-ZO MPD '&,5?E)SDV372*!O.O^N;C]NY%^@9D8H42EM@^'LF2U)5V@GF\:,U];J< M.O#\^L7]O8$'F V69,FKO^E6E7-OXJ$MV>%CI;[PTP?2 B7:K^"5-+_HU&@S M$!='J7C=!L,,:LJ:?_RS+<19 /BX Z(V(+(#QE<"XC8@?FV&<1LP?FV&I TP MZ'[#;@J78X47,\%/2&@UN.D+4WT3#?6B3&^4M1+PE$*<6BQY75,%*Z\DPFR+ MEIPIRO:$%91(-$*?"*P"C$J%WN9$85K)=S#\;9VCMV_>H3>(,O2UY$<)P7+F M*YB2-O:+-OUCDSZZDCY&GR%A*=&*;/Z*4>C]&@X9H< M[E <_(&B( H<\UF^.CR@_V+PI^ X)?9A'?# M%U$V\Y_/%ZQ+$FN= M\KXDM&U6#DT6NAFSCC$;9/SS0 36;\DS2A=DUD\=Q+&%Z1"%\=0"[8OBT'9: M.43C,'.C3CK4R2#JNH2C.H*M6]]@G=S5\QME=SR.0"<-H!3H,HM0^C Y1DEAX#DT675G",/C]B0\&&;]RA:L;Z]=:7+SS M@M0&=:BF]C[,':(X2JQRK!RJ:)+:)],_ZVQJ(O:FI91 <62J^8YUHUW;^F": M-6O\,;Q?AH[Q7+>YII/Z;=_TR)^QV%,FH6X[2!7<9; LHFD[FQO%#Z:OVG % M79JY+*%5)T(+X/F.<_5RHQ-TS?_B7U!+ P04 " !:AV91G1ZAI1T" #* M! &0 'AL+W=OYY.9]< M;*U[]C4BP:M6QH^3FJBY35-?UJB%[]D ^LK-.".'3KU#<.116+M$KS+!NE M6DB33(JX-W>3PFY(28-S!WZCM7"[*2J['2?]Y+#Q*-EL+CS*HG65$]3CXE4.%*;!0]VNT7 MW/NY"7BE53X^8=OFCD8)E!M/5N^+68&6IGV+UWT?C@KR MD)@4SF[!A6Q&"XMH-5:S.&G"1UF0XU/)=3296:TE<9?)@S 5S*PA:=9H2HD> MKN$[U>C@*[)Q>##M$(1N7MTC":G\^R(EEA' TG)/.6TI\S.4"VQZ,,@^0)[E MV=_E*:OO+.2=A3SB#?[+PKWTI;)^XQ!^W2T].9Z#WQ=8!QWK(+(.S[ ^Q>^- MU;5X0&PO=V]R:W-H965T-9+2M'\_2G:\ M-$F#H2^V+CR'AZ1)#]9*/YDH#1<2="8#8.;UO6DY^R]P0^.:[.U!A?) M0JDGM_F:#H/("4*!B74,C%[/.$$A'!')^%-S!HU+!]Q>;]AO?>P4RX(9G"CQ MDZMXNHXO4<+X)ZQKVRB 9&6L*FHP*2BXK-[LI<[# M%H!X#@/B&A#O CKO -HUH.T#K93YL*;,LM% JS5H9TUL;N%SX]$4#9>NBG.K MZ983SHXFJBBXI;)8 TRF,%'2=87D [.HB;_#6_UC\AI-SEO>[[V MAW(^Y281RJPTPJ^;A;&:OO3?1[QV&J\=[[7SCM?[$C5S?B!Q-3N-^T9QI]MKC-[([C:RNQ^4G7')9()' M1%?,W2T]T8[B?8O^8;F]1F[OJ-S;6I3OE'.8:4Y5+9F@'GKU%3^DL[>7M]ZN MT'V3UE6T(S7<&@,%ZJ6?C@82M9*V:I;FM!G -W[N[)R/:3!7<_0?3375[YA> M7E#I=3]J]!=0 M2P,$% @ 6H=F4=8W(7ZY @ GP< !D !X;"]W;W)K&ULA971;MHP%(9?Q8IZT4I;DS@)"14@K535)K4J*NUV;>! K,9V M9CNE??O93IJQQ10NB.WX_-]_#OAXLA?R194 &KVQBJMI4&I=7X6A6I? B+H4 M-7#S9BLD(]I,Y2Y4M02R<4&L"G$4C4)&* ]F$[>VD+.):'1%.2PD4@UC1+Y? M0R7VTR ./A8>Z:[4=B&<36JR@R7HYWHAS2SL53:4 5=4<"1A.PV^Q5?7L0MP M.WY2V*N#,;*IK(1XL9,?FVD064=0P5I;"6(>KS"'JK)*QL?O3C3HF3;PND(S05C5)LR:X4(WZ"YX)KR'? U!86^HMM&-Q+0/>64-0S=@:D M6I#W-N+\!C2AE;I 9XAR]%2*1AD5-0FU\68)X;KS<=WZP$=\+*&^1$GT!>$( M1\_+&W1^=O&O2F@RZ]/#?7K8R29'9!]JD,0FU#I7GT@FO63B)-,CDM8@.I=@ M__)6.$',U*Q4%[ZD6ZF1D[('Y'461QA/PE>/@;0WD)XR$/M8;51VP$KC<>YG M93TK.\7"/E8V9.$B\[-&/6MTBI7X6*,A*RO&?E;>L_)3K-3'RH>L'(_\K*)G M%:=8F3M;N@33.+<:I ]=#-!QDHY3/WO?LI^$)I7M&^[T5N[TUMWI]9D8 M#TPD.(D3OXDX^MMDHD]MW(%25XBRNM&P,9W"E "4]G:):.#@ZRC/BB,.#MI< M?,*!3?UA5=$=L=>!OT7%@^.*,_/Y#QX>M%M[==T3N:-O *Z%-/W?#TMR@(.T&\WXKA/Z8V*;>W\FS/U!+ P04 " !:AV91 M9+:U%X$" "S!P &0 'AL+W=OAJHH@6%U*BK@9FB5I3PF$FD:H9P_)E E1LQD$PQST73639A9ZE"5AP!41'$E8C8.+^'P2)S;!1?PBL%&=,;)2%D(\ MVLGUB%E@!5-!?Y.E M+L?!,$!+6.&:ZENQ^0:MH-3B%8(J]T2;-C8*4%$K+5B;;"I@A#=O_-P:T4E( MXAT)29O@C @;(E?E)=8XSZ38(&FC#9H=.*DNVQ1'N/TJ":\#7P@H!"7]$/78)$W:CC2]"84'5B=N=U5=&7SC:ZOP&V /F MCA#AZ&;.-C>#MCW>NZ_FQ!TK8&IAST$/4_0Q]S][?RWY124*-9?' ?XD]FE*/FA[&M($G M&'R2:0U.VC$M[27;/3OSY&=[RN3A87P;>8+1)_DV>N=; M;Q@-MAL71V_-(]K+?X-E4;H3^A';XDY3B@]C7/S6!^+DDZQK@;H'-4VB_ZP+ M.RW87F?&F37A"E%8F:SH],Q8+YL;HIEH4;FNO!#:]'@W+,VM"M(&F/V5$/IU M8AN]OZ?SOU!+ P04 " !:AV91H#8+-M4$ #5&@ &0 'AL+W=O6TW9F'B M]&_2>_>B?\.W*@H3N!=$;N.8B>4"F;O@B62)85A(??L"NY51#+;Y:!FL5 S72@YAL#C9!$ M@:9QM:AUODY -$@4LL]CORK57XUK+Z-H4=)%MHD"GH2A\F*W(/(M6$9 [D=UR3*Z:#VB"3IPT6 M7 SXES#6_?B2S/"17&91;Y"90B8(5@8@#X.G4'Z[3C/EPO MPCO%0!UK4 I/5>&I//)T R+D)PN*W7! XK0@G%I[YR"/O+LJO+OZ8,I]Y-M. M>;>8:[=>RGW/:)-7%^DEEGWR#$R MD*7A,V'*)ZHS#GN2N_4I/6Y[W6I[+^QU/TTB,;R_H M%2)/_B9WH^F@$A.F^/M7-3-A:K??+:DY$LO7?$U8LL#SU X/BAL\]BD\\Z7% M**-)F2G(;(=U-[@]25FW(F6E_8[WWD8AJ+TQ7V$!1(QK4+AK_KTRX*LD$HQ:T67,F&,&@]G/) M>S+!;KE2)ABUH7:U.3,3D.J/R 1:D@E&O6BGYDPP@D7MQY7W9(+=LN]5R 2C M=M2N=M4R832951+TP*A2X-5+16"4(+ ?(@:KE8"53JLYCV,0\Y!%2$:D'8U# M_%,\.;7;&N9V7TOR&YH<&,4(['7]C*C_D,7F77CM"TIM83]XSU7SBZ[ 5/C M?AYXQV(KL=PN7VN!48? 7L//9)T_LP@C6&7Y&0$(:GXI%9BB&]B/#.>\AQSF M-DMWP^[!:WVTNDJ_ITAS/@, /\1 9 >&PO=V]R:W-H965T-@F:V.&K") H[;1.0T.PCX>J#R:Y@-4DSFRG4&D_ M?G9($RH5@S31LA>P$]^3<^\]RK'36W/Q(%< "FWB*)%]9Z54VG5=&:P@IO*" MIY#H.PLN8JKT5"Q=F0J@81X41R[QO)8;4Y8X@UY^;2(&/9ZIB"4P$4AF<4S% MTQ5$?-UWL/-\82I

);IGE:5U310<]P==(F-4: MS0SRVN31.AN6F#;.E-!WF8Y3@RE$5$&()E2H)U1'$Q"Y-I( S)CQ$'VX!D59 M)#_V7*6?:.+@S2"^0[]40\8CW2OC('OXE2_:%NSK/,EE2)DMR MO,;>9!\AR:"&IF 4SI+EBWR_S2.VI$9=-72S2;70=&&^L]BLXPLTT[?D@@;; M!3.E*X9TS0'=#3=,WG=SEG7LU3ULX>J77/V6]AUBB9 M-:Q5+!^GRL?)%Z5)<]V\IA8[L(]BGJB5M'!LEAR;[]QIK-ML[W2KY-HZLTZW M2V;M4W7:#HS1$U!A8=@I&7;>N<_D8)\O2ZZ79]9G[%4NX)VJTW9DLPWIRI0& MT'?T/D."> 1G@&RD=ZP+6TF/N=X,9!$5:"@EQ+I^(&OH-@DNT-U8ST'FG,KQ<.MDRK$C8^\(Z53^A^T^=:1TZ.8L MI-,^()W*5''GW*13F2B^/)ET[,CXB/TGJ1R5V!WU_Y).QRX=4GDRP60K=)Q=T[GYM/(F(HE2R2*8*'!O(NV?H^+[=>&[43Q-#^PS[G2 MQ_]\N (:@C +]/T%Y^IY8KX!E-]\!G\!4$L#!!0 ( %J'9E%D%W-LF@( M %$' 9 >&PO=V]R:W-H965T0C^..?< M>%ZHL9-I75ZZKDHRX%2=B1(*W%D)R:G&J5R[JI1 4TOB MN>M[WKG+*2N<*+1KS>0Z'3N> M,00Y)-HH4'QL80IY;H30QI]:TVE"&F)[O%?_;G/'7)94P53D#RS5V=CYYI 4 M5G23ZSNQ^P%U/M9@(G)E_\FNQGH.239*"UZ3T0%G1?6D+W4=6@34Z2;X-<$_ MEA#4A. ]8?@!85@3AL<21C7!INY6N=O"Q533*)1B1Z1!HYH9V.I;-M:+%>:< M++3$788\'=U!3C6D9$ZE?B5?R$1I27]# 0DE\YLI.8E!4Y:K4]R+F<37*R1Y MO 6^!/F$:S\E+12U+UV1!Z:S X46^'X1DY-/IZ&KT;F)[R:URZO*I?^!RX#< MBD)GBLR*%-(._K2??]'#=[%B3=G\?=FN_%[!!91G)/ ^$]\;7'3Y.9KN>QWT M^/^BS_KI,21('W31WQ0C:,Y08/6"H\Y0ZT20QQN$DFL-7#WU!!HV@88VT/## M0%LH-D!64G!L4E74$J,R4%V'JE([MVJF86XC;)_X"]UM^UT=P@8=L/@0=OX6 M]B:G49/3J#>G29*(3:$5YI, V])E?G1^T]&!HW>>9WV(RJ[;ZATI[:%:;>V%BV^&[]>G@,J[:^S^9ZK*YI7+-L#WDL$))[^PKNI)5 Z\F6I2V M0RV%QGYGAQG>>2 - /=70NC]Q 1H;M'H+U!+ P04 " !:AV91B<9$ BT" M 1!0 &0 'AL+W=OW[S MXG&VU^;9U@#(#HU4=A;4B.U=&-IM#0VW$]V"HIU2FX8CA:8*;6N %Q[4R#". MHM=APX4*\LRO+4V>Z0ZE4+ TS'9-P\WO.4B]GP73X+BP$E6-;B',LY97L 9\ M:I>&HG!D*40#R@JMF(%R%MQ/[Q:IR_<)WP3L[PT/*[*+">!6\#5D#).XDK MO?\(0SVWCF^KI?5?MA]RHX!M.XNZ&<"DH!&J'_EA\.$$,$TO .(!$/\+2"X MD@&0^$)[9;ZL!XX\SXS>,^.RB3=4(Y?[B&@WM"L)AOH:*_@G>L ^@ M*\/;6FRY9%P5[ O68-@*=J Z8(^JOS'.^E?L*QRPH[P7#X!<2/N2UMZQ1BNL M+0-50,'6T$Y8$MVP.(JC+$32ZDX,MX.N>:\KOJ#+0*L-"E4]*8%GX(OK<-N7 M]3S'_<:BH?OW\PI],M(GGCZ]0/^Y:S9DLRX9 M-:;A_H!!O#U7=L]VZ]E$-CT#=@'J%M_AS<:J2/\M*8W"XQ+H/U2:SP& MKBW&5S#_ U!+ P04 " !:AV917/QM"CT* ! 0@ &0 'AL+W=OU?5D^]*IE:?)Q.V@^ MZ]$TE;UY/EU<7%^U[WTNKZ^*QWHV79C/95(]SN=Y^>>-F15/'R[(Q?,;7Z8/ MD[IYHW=]MF7XQ^WTZKB.L_E(\_<.L"8EFOE$QJ]I_ MDZ+U?_Y]_6%V!I@Y\$#Z'H ]0?PC@%L/8 =>@2^ M'L //8)8#VBI]U;;-CKM\G?3?%0YLO)=)3/DGPQ3GZN)Z9,OIAO9O%HDH^+U:)L@GN9 MK$?93Y=%64\7#\F;@:GSZ:SZT7[ZZ^T@>?/#C\D/R721_#(I'BL[7W75J^WY M-D?MC=;G=K,Z-]IQ;BSY5"SJ294,%V,S!N,'\?%99'S/7J?-Q:+/%^N&1B>\ M-XW\\4\+ M3S[69E[].W(POCD8;P_&.P[V2U';95FN%B-<2JOQLAW?9,=OUT0S+:YZW[8# M%*(HR5*YBQJ$**Y3RG910X#*=*HWJ!VB8D-41(GVBZI.BOMD61;CQU']3!DQ M7DTDMH[/)*<>X1 D4JD\OB%(:>W-- Q!A%*68KIR0U=&Z7XQE[.\ M31[,PI3K7)N/;6J?5G69-[*)R"M *_/BV ]!2LO,XQZ"J&2I-]40H#C1'=SU MAKL^X"X>V25>M;2MW6D8V]1AOEOG4^$[6X-3X=RCU09/468PTRGQ@K(<=35?"T"[W>:,8?[5O0%E/P9GPU$_ M$$9(1P8F6Y:('!&I.V-5S5@KT[Y9Y]_Q*EW/Z85+^0($8(SY^H/F(IGRXSJ$ M.$)UUQ6@[@K0>)*JB]'7R\: C^WM.F_NS:Y@W:RGVLG+F?:7*4(I1GWB(4JF MF:]$ "649AVDG9\A+$KZLRE;_[(8&>L8__IS;JKDCT]F?F?*F(4ASL,0_OJ. MB3@G0>)68K]G(D#369H&:S:$T913[@8.R!:! W0)0H' !J$CE0IU>T+A>'%.[ MK*?:.0D@[>3,1JOQ4^L8-:S[LI#YN2$8USKKH+W5LH];EA.EFP$G M(8/6!D*E+(A[B%(L"Q9[B)(\Z^+OK L[9!OA6.EFH8\@1*3$YP]@UG %%P#Y M("*X?P4 C,FNYA9S[H7%WUDS*+1#A N<,>-VB8 !1HF" 4:)@ 6'?#A#N7PN,NY0C9YJ%S\!GO MAPSV0X91R"Y/9T]XW)X.&BR^W7X ("(H@%[A))=:]O9%!ZW*:?)- >>(?,#U@M2;\H MK3[FM3E$?;F3?WZ&[0KNQ)Z_QNX^#_<3+@770=(&,)X17Y,1C$A!@QL7X6Q5 M)SI"Z2P(CUN08_>Z;SC8=1=^HNTC%%?^8RT(10!Y!*-==E,X2R+BEN2D?7,! M-O'!OCF A?OF:"ZT;PYQW?OFPID5$3&]#G)T4/2&'".0%QAH<,A=-=\=+'# 784^!!*P"@2,I$ M$#< TT$?<0A@E(O.U;KUJ&%<9[LB=WI/5SC)$_(,@752*.*5\ &!!4_8@<"" M9CT*+("AP**G[+H#ZY18Q)4X$MB3BW[A)%"K(E[;KY?[Z=S]DL!\R MC$)VZ3E)D7%)B<3RM&(\"%+I'$0SEDQH9EYK3XGIZ:I9.%J0X0]BWG@"/%S\'A!UT8T'800\5A1W 4-A!WS82 M=B=$,BY$.^VL@6MG'6.?I!,">8;^JW297[ZT_RK#TB,+M\0!BA A_(H=P%B: M$K]- 6!4T*XFC7+"H^+"(E=,#%2\3#H@U MZ(J%NRH !795$ KLJ@!8]ZZ*)2]7\*].FI73N=T6=X=%D[)=$O?719@Z>( MP]0.4"BU(QA([0C6G=JU$S)]Q(- +UH')R=^[71(GZ$;IIW.Z)=VPW3X'5B0 M^ $*)'Z$ HD?P$#B[VU](WYNRH?VIPBJ9%0\+NK55YPW[VY^[N"G]DO^WOLW MY'V?@/<'Y/UP]6,&;OK5;RM\RLN'Z:)*9N;>'BI]URA5N?JY@M6+NEBVW\>_ M*^JZF+=_3DP^-F4#L)_?%T7]_*(YP.9'(Z[_!U!+ P04 " !:AV91"Y"T MA-(# !P% &0 'AL+W=O&'_- @"!OL51DLVL0(CTWK8S+X"89KV3,>4R&' M_&!G*0?J*U D/@<@G[/DTI0?8@O@C?>9R9%H%7^&<,K. MKE&^E1UCK_G@T9]93NX11.")G(+*OS=80A3E3-*/?TM2J[*9 \^OW]DW:O-R M,SN:P9)%?X6^"&;6G85\V--C)%[8Z5H7G0$D ^ @8- +<$N%TM#$K H*N%80D8?@2,&@"C$J#$ MM(M@J4BOJ*#S*6 ?]G:@OI?NZ$[96N+@I728.K+GIBB0@RM$Y\\&OP*S-^ MTH;?F/&8& AL&?HM4#F\!?X6>H 6D'B!K)PZ_=!_ M.DL?&I+RPH]!Y<= ^>$V^%&7\K_)->A10)R9+ PK"T/C3B\M<&GA!J7 \SG9 M"^J>*S,?<6\=YX>Z]&O!X0;CJ\K M^[*%D$R:=&\!XL9GO0U8DVF7T2 Z&J0O[5>=M-24+<./.I+0MT6\/C:$IH)Z\KOI6^ZH6!S17[P M/'9,1"8_##P(W^@N@L^_4V%=OO&DI[ 379F)<]VPKUH(W5'#D[-I ]ZUZ$5T M*R#F.MI5KTXO-D377$+ZTDM74V)^X_^$7F9"4A/V4B\S$#MM>NGR3 MG3H3T066#/O22Y=.8G[M_H1>9L*ZSE3X9I\=B,AH'=315894:(M/RFJV.AY[ M4(="'^87^'Z):^97^'Y=''YI^N(L[HGR0YAD*(*]-.77&\50P$2]5Q MS(X)*:6Z#(#ZP/,%\OZ>,?$^R U4AXSS_P%02P,$% @ 6H=F43/5UFA+ M P U L !D !X;"]W;W)K&ULO59=;]LV%/TK MA-"'%N@BD?H.; ..[6T!&BR(V^VAV -M7UM")5(CZ;C]]R,E69$E13 6="^V M2)USO\XE=2A5[9C95=F@.3*6=(P'YJS?'M"KN&4"+^3.$D6\_(I++A M_)M9W.^FEF,B@@RVRIB@^N\9%I!EQI*.XY_:J-7X-,3V\]GZKV7R.ID-E;#@ MV5_I3B53*[+0#O;TF*DG?OH=ZH1\8V_+,UG^HE.-=2RT/4K%\YJL(\A35OW3 M[W4A6@1M9YA :@+I$KQ7"&Y-<*_UX-4$[UH/?DTH4[>KW,O"+:FBLXG@)R0, M6ELS#V7U2[:N5\I,HZR5T&]3S5.S-1RT[.HC^@WX0= B2; MX!G8$= ]JYK2B/O+>5>BS8\6$0'C?NR7J+W[SZ@=RAEZ'/" MCU);EA-;ZB=)%#YRI1*(5V\%N@+\TEU1<*%2 M=KCHEJ^?-!S=*\CEWR/.O,:95SKS7G'VF2O=H*)NP*%6JOA!R3?WY/,,1V[D M3^SGMD!]%,&Q$URBEGV4%SG$O42M!E!QY$0-ZB)1OTG4'TUTGH/0AU&BKP^0 M;T",%2]H; 8_7ZFP<1:^4:F*[[?JYD<>[@C5!Y&PIU,?A,,X)!V=^J@X, =H M2*:HR3(:S7+UL)I?(U';G^G3>*5!OP+\Y %'=4&D!A0IS.J5L. MP3P<=F"K 1CQ@I:>E]FV/G9X_$P]SA?7B(7)BT7R/\CU"C1EA^9JCXVS6XS@L[+ MP:NS?X=O%WA@?VE&UG(J>C%?S;L/5!Q2)E$&>^W*N0EU9XEJA*P6BA?EC+3A M2D]&PO=V]R:W-H965T( M!Y" I&D)#+61H-4V)- 0'=O#M E=1MA.JY9 M@7.T]_6MIBCL67)>H31<2="XG 07@_-IXO)]P@^.:[.Q!M?)0JD'%USEDR!R M@E!@9AT#H\<*IRB$(R(9?SK.H"_I@)OK%_;/OG?J9<$,3I7XR7-;3H*S ')< MLD;8.[7^BET_)XXO4\+X7UAWN5$ 66.LJCHP*:BX;)_LL?-A S 8;0'$'2#^ M* 8:^T5:9;VO&+$O'6JU!NVQBB3V$ M+Z@*S>J29TP DSE\LR5JN,,5R@;A2K9?C+/^"*Z5+(ZNR?\<+HQ!:V#QM,$ M%_1!P?X,+>/"'!#@?CZ#_;T#V ,NX7NI&D,ES#BTU((3$F:=W,M6;KQ5;GT, MP^@0XBB.WH%/=\-GF!%\X."#3Z_A(1G7NQ?W[L6>;[A-#EVJO!$(:@G">2*\ M)ZSWI'CE*KFRH^BP+SKT14=;BE[_7>@]&UN*Q%.XF[Q*3^,S:GFU:=;;I"0^ MB_ND5^I&O;K13G7WDEM2-K?,HH%?-U@M4/_>T?9)3WSR_[Q.^J+)OWN=?,3K MMTGO>!UN7&0W1&^8+K@T('!)L.CXE"S2[6!J ZMJ?[<7RM*D\,N29CEJET#G M2Z7L2^#&1?_OD#X#4$L#!!0 ( %J'9E&.$ !T!P, / + 9 >&PO M=V]R:W-H965T[Y.)!1@ * M/28QDSTK4BH]LVT91I 0V> I,'TSY2(A2F_%S):I #+)0$ELNX[3LA-"F=7O M9F=#T>_RN8HI@Z% 04)9_R6-!Q!H ^SL ;@%P]P5X!<#; M%^ 7 #]C)B\EXV% %.EW!5\B8:RU-[/(R,S0NGS*3-]'2NA;JG&J/X*9[J(Z M19? 9X*D$0U)C B;H!L5@4"WL V!W3%\O^8Z=4'=,GY9$GC&!T/0!$:RQ-] M>#<:H..C$W2$*$,_(CZ7VHWLVDJG:8+989'2>9Z2NS.EM($\YQ2YCNML@5_4 MPP<0:C@V<-S9 A_4P[\2UD!.#@\VX;;FMB38+0EV,W]>/<&:R)0+1=EL@\K[ M;]H<72E(Y.^:8%X9S,N"^3N"K?JRC?0K%/[BM%&4GZ9 ME%^;U!!$5C + 7UB?Y\2D.C^&I(QB+J:FZ7[YML3W"J#M0XE>-!ZP9WK.\YV M[MIEO'9MO.]\ 3$ZI]P\1I+"7-%P+_:",D#P]NQURF"=@]GKO& OV$4>=BIQ M!;19_[Y?L]I,K)(=7*\[-3RC M?^A <"5P&#_'=I0"0YN'MZ&Y@N"7;_E/6_#*U:;B57BA.O5J;X-!VL)KM0* MM]^A$95VX>#P1@0O!*7=#I[WH=XH3\M>FZ[,+'Q-Q(PRB6*8:I33:.LVBGR\ MS#>*I]G ->9*CV_9,M(C.0ACH.^GG*O5QLQPY9#?_P]02P,$% @ 6H=F M4&ULC95M M;]HP$,>_RBG:BU9JFQ >6P$2H:NV:94J6-<7TUX8)G^[OW]W9Y^%6Z6>3(UIX*80THR"WMKP)0[/,L6#F2I4H:293NF"6NGH5 MFE(C2[U1(<(XBGIAP;@,QD,_]J#'0[6V@DM\T=<'T:X)";4=!*]@/S/@J MMVX@' ]+ML(YVL?R05,OK%527J T7$G0F(V"2>MF.G#K_8*?'+?FH W.DX52 MSZ[S-1T%D0-"@4OK%!C]-CA%(9P08?S9:0;UEL[PL+U7O_.^DR\+9G"JQ!-/ M;3X*!@&DF+&UL#.U_8([?[I.;ZF$\5_8[M9& 2S7QJIB9TP$!9?5G[WLXG!@ M0#K'#>*=0?S6H'/"H+TS:'M'*S+OUBVS;#S4:@O:K28UU_"Q\=;D#9_*P"1/)Q*OA!E0&32O/;M$R+LPYV3S. M;^'LTSE\ B[A1Z[6ALG4#$-+M&[/<+DC2RJR^ 39-=PK:7,#GV6*Z?_V(7E9 MNQKO74WB1L$YEE?0CBX@CN+H",_TP^:MZP:<=AWYMM=KG]"[XY*BR>4*9KA$ MOF$+@1>GHPR_9DH(H+.[93K]W0#0J0$Z'J!S B#!%9?2 21,^"V_,;FFJPRM MDS%**LF>EW058C-N=X;AY@A&M\;H-F),UUJCM%"BYBJ%4JL-=S7BV.Z54O=@ M]TY4[UXEL?L.,#K.UZOY>HU\3YI;O%199F"9,[W"%-B*RJ.Q8',$MD_8,=[> M.]X3,/T:IM\(0T=%;2A0Z*\D*]1:6D,QPPVGBR9>84NT%B7-9L> ^A\%&M1 M@T8@NIR')X@NB<5B@;KIHB6#=SGJOSU$X4%)*Y"B[BH]9< Y7%WY>K1^3":^ MAKX93^B1J=Z$?S+5"W5/R:0T@L",)*.K/H5%5U6_ZEA5^L*Y4);*L&_F]%"B M=@MH/E/*[CMN@_KI'?\%4$L#!!0 ( %J'9E&@?6X&\P( "8* 9 M>&PO=V]R:W-H965T6_FS;,S\6#'Q8M< M 2CTFK),#IV54NLKUY7Q"E(B+_D:,OUFP45*E)Z*I2O7 DAB22ES?<^+W)30 MS!D-[+.I& WX1C&:P50@N4E3(MYN@/'=T,'.^X-'NEPI\\ =#=9D"3-0S^NI MT#.WC)+0%#))>88$+(;.-;X:XXXA6,0O"CM9&2-3RISS%S.Y2X:.9Q0!@UB9 M$$3?MC &QDPDK>-?$=0I_=86KXN9$PECSG[31*V&3L]!"2S(AJE' MOOL!14&AB1=S)NT5[0JLYZ!X(Q5/"[)6D-(LOY/7PH@*01?:3/ +@O]90E 0 M EMHKLR6-2&*C :"[Y P:!W-#*PWEJVKH9E9QID2^BW5/#6Z9GHA218#TEL" MC04D5*%[+B5(=(%F^>(BOD"W-+.P1XB!;LF<:<#\#5TO:;9$8Z)@R37P= ** M4";/-/EY-D&G)V?H!-$,/:WX1I(LD0-7:=DFN1L7$F]RB?X1B3-87Z+ .T>^ MYWL-]'$[?0*QIF-#Q_V/=%>;53KFEX[Y-EYP)%YNA*EZ;\4Y.NHC^G.O Z [ M!:G\VY(^*-,'-GWG2/HID0HE&VCR,6=&EFF^W^T(1]JQ;=6L.L8/NR7F@Z1. M*:G3*FF\$0(RU:0H)X9515X8X@--=52OYT7-HL)25-@JZHDKPO07SLRB-$D+ M&Z1U\:&T.JKO14&SM*B4%K5*"_!%Y*$)>=.;XP'2.8BVC=$MHW:_8U_VRO2] M+^_+7MWJVKYLP/3"9I_[I:1^JZ0(7_0_[S/V]BW3^PZG<:5GXR][75"K1AY: MW0 YT@'POBEBOU52'^=&ZQ:/?FY!?,KQ?<_#P;J;74FN-U M2'2XN=W*3]R&PO=V]R:W-H965TR+7Q M,FK2Z94>/(X/ZI^"=^=EPRT46GX7%=9+^IZ2"K:\D[C6_6<8_69T3XRO=FH^"'L3:.=&*/\5']"X5>$XS+_R#^DZFOI.@B. M?0AK=S&!\05N?:LU'A)_]J>K+O\%4$L#!!0 ( %J'9E&UJ]@_0 ( -P* M - >&PO97$B&E'9EX=65Q"BKS2!&O;GOAQY#A,,DX@V[ M8ZH&J6BXBN%5'P*N^9[%, BO('"X6Y'A&#Z=??S="'7S ;AV]FDV\Y_.;_;C M9S9Q#KU7H8L#H!>^_DR2;78*'QZ&?PL^A;X^"/T&V8*];NV3*!=\V()+Z *Z M,F(8K!&-X2VB9"6)&94C1NC&A>.1<=AA MI M:[L*[GO5==]+;#TCD%#:"YQ#%TBB"BF%);_3CNUL@R]2H+.7FTHK+"3:!/,% M' ;81A=9"9EAV9<)X#:41!3G1HXD16E:)2K/))423!L9087@R&K8CN@,C4TQ MI8_F-_,KWV&W^6A/?;.CO#>UH,YT&.<8_ICFV&.L_RXNJ,A:J&^-G@ZWOCDK M^$'BG+36;_->P!0]F*:CJJ*;KY04G&$W^8,+)A':C@.ED.195S-')=4!+"%8 M8ZE(.H[\D:A:XE9MCU.;3VN>GZ#F?[O.!>98(CH6K<_^,:_RNQ5?7O\OR?9? M95_PJQJ[B_#812Y.061X"B*/\TQZW;4SNMMV;K8^"LP+(H;WYJU"AZ)@U1"J M".^\DF09YB\N.(U7:*6?FCM\W3_#.6JH6O;)& [V3YR1AGWN>SV8A>AZ#?8/ M,[T@M 6']VSR%U!+ P04 " !:AV91EXJ[', 3 @ "P %]R96QS M+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D!5J(/V!(%BD6=OZ_:I7&0 M"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]ISI%"KM0L'C6'TD!$VV-# ML%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T>EOH^7%H M5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( %J'9E'8*K0'_04 #,W / M >&PO=V]R:V)O;VLN>&ULQ9M=;]LV%(;_"N&K%%AF6Y]NT11(D[8+D#9& MW/9B-P,CTS912?1(.DG[ZT?*2W;4VB]V"CNM=-WNM;^^]FH>U^KD6AT MJQO]0RW/1I.1Q^H=IO:P7E35U?3::[D]\5=;KZI?B183\+.]<5^+E MW:T,(&>C8A(J7&GK?'=%5[\,C/V4OIU0=K=EO=KF,UX5>, MR<_HVN'I==^(K^S_:4:S6NE*79IJUZC6[]O1JCH"MFZCMVXD6MFHL]&%N5=6 MS.5:Q1\5ON5JN?^!/I"1YK*O=#AAKY8=(R=/NU2M4TL1WCE3ZV7@6(JWLI9M MI02!3 !D,B#D7PF!3 %D.@CD(N*$CQ+(#$!F T+V6C('D/F0D"F!+ !D,21D M1B!+ %GR0EXJ5UF]C>7"K,3;G=.M2%OU;UJ=TK MB&U0RV(C;<\M4"[L=JEK>6>LC#86Y];*=AT'0T\?P2DRRY1;+=)MQ+N_=_I> MUI&K>_[BL?\N%JJBF,@M4V:YO)?:BJ^R#D_B1R7=SO[:BL@J4V:M/$T7N@F8 M$Y?*2UWWZ)!.ILP^67A3?3N]D_O!N@DU.?ES1T8FF7*K1&YUF 6+CI-"(7-, MF=41&JK1OGGN$\%R/DR:55MIU;NSR"!39H7FWXN+BP:JF]N X>Z=W> M!.DC8=8'G"'T9JL)C$Z8'7)@CB!.0NQ9*_>",B*!),P" 9.%R$HQD4@2[O@$ MZ;A_QY%1$F:C'-'QTUVGF$@L";-8#FOYX+.)5),PJ^:8G_\%I9A(-@FS;* 1 MQ0G%1/I)AM1/?[$$Z2<=3C\_#4@I4E#*K* C$;0XV7KXR9&H#YKI>I@:D:]EP->C;IU"-#%LK8LS4 <^$I)K)0QIZO 9CS7FLB"V7L MRVX \UI33&2AC#T60CV=SC,_AE@%F"QW% MG-M0+5UTSY&%\F%6Y(+/C5D^T.$]1Q;*F2UT%+/+8-!=03FR4,YLH:,+AZ== M?Z>8R$(Y]XK<<++W1QID 6*I@M M!&]Z+Q8JD(4*[EB(YIYCOWE4MM).Q;7$FVWOIB,+%>QYH3[FW :[>R5N5BME M-0W9"F2A@CT60BF"4XH)MZZQQT( L_]L(@L50VY!Z.\#1!8JALP+]>:;!;)0 MP1X+(3D[3.[FO6EQB2Q4LN>%^ICGSEOYIVI5)<7\^H)B(@N5S!;"J54Z()7( M0B7W?C>(V=N:C"Q4,EL(8_8&)+B%FGMW L3L#4C(0B5W+ 0Q2XJ)+%0.NCMA M1C!GR$*S 73RZ3]?3_]7>_,/4$L#!!0 ( %J'9E$T3CM]>@( Q M : >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDUNHT 0AN&K6!P@ MN*NJJ\@HSFHVV8YR >2T?Q3;6,!HDMN/Y2SL#\UB-A'?"C6(XEV@1PAX^E4. M[;CO3L-N?QX6'\?#:5A5NW$\_ZCK8;TKQW9XZ,[E=#FRZ?IC.UZ6_;8^M^OW M=EMJ62Z][N]G5,]/]S,7KY_G\C\3N\UFORX_N_7O8SF-_QA<_^GZ]V%7RE@M M7MM^6\9557\<;KN'^KI)#Y?)U>+E;57U+V^IJN<.$@B2^8,4@G3^((,@FS\H M0U">/\@AR.)P.N$8"<" ML1.2G0C,3HAV(E [(=N)P.V$<"<"N1/2G0CL3HAW(M!;4&\AT%M0;R'06R8/ MVP1Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'HKZJT$>BOJ MK01Z*^JM!'KKY&4)@=Z*>BN!WHIZ*X'>BGHK@=Z*>BN!WHIZ*X'>BGHK@=Z& M>AN!WH9Z&X'>AGH;@=Z&>AN!WC9YV4V@MZ'>1J"WH=Y&H+>AWD:@MZ'>1J"W MH=Y&H'=&O3.!WAGUS@1Z9]0[$^B=4>],H'=&O3.!WGGRL9) [XQZ9P*],^J= M"?3.J']G4!O1[V=0&]'O9U ;T>]G4!O1[V=0&]'O9U ;Y_\ M;$*@MZ/>3J"WH]Y.H+>CWDZ@=Z#>0:!WH-Y!H'>@WD&@=Z#>0:!WH-Y!H'>@ MWD&@=Z#>0:!W3'X6)- [4.\@T#M0[R#0NT&]&P*]&]2[(="[0;T; KT;U+OY M3KV'\?-0AEO/UQJO_YU4CY=SR^WRU^77SLFM2,.\*U\_?TQ4%H=QV%*VVJ?<_C(6&KW-+I4^T!36=GY.+IY[E&=7/]F7;N?LBK+\?R<^K]M*TB#:E:?3IMG+.VE0MAZ%N7 MRSI[F+H_4M9/"74YN>Q)^SZDJ[*A8J\FS"M_#W@Z]^V!8NP[6MVZF+^ZL>QB MQX&E_#A0JL^7>*5'O]OU+76^O1_+D3J%2*Y+>Z(\#O6IZ-7YY%QNF$Z?_.+\ MI23SZ74HA2CF_OPKOB26TA>_'\W3[JA[8W:YWI\^ M'I9Y)+8\+K_CWV?\4O^=?0B0/B1('PJD#PW2AP'IPX+TT8#T\0&D#[Y!:01% M5(Y"*D&PO=&AE M;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( %J'9E&XG-4*/ 4 &$5 8 M " @0T( !X;"]W;W)K&PO=V]R M:W-H965T&UL4$L! A0#% @ 6H=F41\_*!C6 @ J@D M !@ ("!X10 'AL+W=OT7 !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F40N]P3=) @ .04 !@ ("! MMB4 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M6H=F4:PFZ)51'P -V@ !@ ("!TD4 'AL+W=O&UL4$L! A0# M% @ 6H=F41UR4\!7! P@L !D ("!- M !X;"]W;W)K&UL4$L! A0#% @ 6H=F4?M8 MX2"D @ (@8 !D ("!JI$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F41?19S*( P IP< !D M ("!(*8 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ 6H=F435'FSJ\#0 ,2< !D ("! MR<, 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 6H=F41]T]2!C!P #A0 !D ("!S?0 'AL+W=O&UL4$L! A0#% @ 6H=F4:\MXD2U M @ 2 8 !D ("!)P,! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F43,Q&[O+!0 1A !D M ("!IPT! 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ 6H=F45[ !]&PO=V]R:W-H965T&UL4$L! A0#% @ M6H=F4?YW9/YX @ =@8 !D ("!=BP! 'AL+W=O&UL4$L! A0#% @ 6H=F4<#1),R!! ME1T !D ("!4#4! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F4:.GM"V3 P ?0X !D M ("!P4 ! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ 6H=F46RM^0A= @ 8 8 !D ("!*$P! 'AL M+W=O7B\% M "$' &0 @(&\3@$ >&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F M4=WG4'Q0! T1( !D ("!6U@! 'AL+W=O&PO=V]R:W-H965T,DVP, )T/ 9 " @4Q@ 0!X;"]W;W)K M&UL4$L! A0#% @ 6H=F47[ [04(!@ 920 M !D ("!7F0! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F41' -]G_ @ PH !D M ("!W7 ! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ 6H=F4:0[)]:" P :@T !D ("!17D! 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F47LG M*PEE @ :04 !D ("!W8$! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ 6H=F4=&3:@H[! MA8 !D M ("!MHH! 'AL+W=O)0 &0 @($HCP$ >&PO M=V]R:W-H965T&UL4$L! A0#% @ 6H=F4?Q$$P, P I0@ !D ("! MZ)@! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ 6H=F49T>H:4= @ R@0 !D ("!R:4! 'AL+W=O&UL4$L! A0#% @ 6H=F462VM1>! M @ LP< !D ("!Z*T! 'AL+W=O&PO=V]R:W-H965TS/@, /\1 9 " @:RU 0!X;"]W;W)K&UL4$L! A0#% @ 6H=F4607&PO=V]R M:W-H965T&UL M4$L! A0#% @ 6H=F40N0M(32 P &PO=V]R:W-H965T&UL4$L! A0#% @ M6H=F48X0 '0' P \ L !D ("![-(! 'AL+W=O&UL4$L! A0#% @ 6H=F4?992E3K 0 M]@0 !D ("!;=P! 'AL+W=O&PO/A 0!X;"]W;W)K8F]O:RYX;6Q0 M2P$"% ,4 " !:AV91-$X[?7H" ,0 &@ @ $-Z $ M>&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 " !:AV91(' . MV20" "I+P $P @ &_Z@$ 6T-O;G1E;G1?5'EP97-=+GAM 7;%!+!08 6P!; /08 4[0$ ! end XML 96 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 97 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 98 FilingSummary.xml IDEA: XBRL DOCUMENT 3.20.2 html 386 354 1 false 106 0 false 11 false false R1.htm 0001001 - Document - Cover Page Sheet http://www.codexis.com/role/CoverPage Cover Page Cover 1 false false R2.htm 1001002 - Statement - Condensed Consolidated Balance Sheets Sheet http://www.codexis.com/role/CondensedConsolidatedBalanceSheets Condensed Consolidated Balance Sheets Statements 2 false false R3.htm 1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical Condensed Consolidated Balance Sheets (Parenthetical) Statements 3 false false R4.htm 1003004 - Statement - Condensed Consolidated Statements of Operations Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations Condensed Consolidated Statements of Operations Statements 4 false false R5.htm 1004005 - Statement - Condensed Consolidated Statements of Stockholders' Equity Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity Condensed Consolidated Statements of Stockholders' Equity Statements 5 false false R6.htm 1005006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Parenthetical) Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityParenthetical Condensed Consolidated Statements of Stockholders' Equity (Parenthetical) Statements 6 false false R7.htm 1006007 - Statement - Condensed Consolidated Statements of Cash Flows Sheet http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows Condensed Consolidated Statements of Cash Flows Statements 7 false false R8.htm 2101101 - Disclosure - Description of Business Sheet http://www.codexis.com/role/DescriptionofBusiness Description of Business Notes 8 false false R9.htm 2103102 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies Sheet http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies Basis of Presentation and Summary of Significant Accounting Policies Notes 9 false false R10.htm 2106103 - Disclosure - Revenue Recognition Sheet http://www.codexis.com/role/RevenueRecognition Revenue Recognition Notes 10 false false R11.htm 2113104 - Disclosure - Net income (loss) per Share Sheet http://www.codexis.com/role/NetincomelossperShare Net income (loss) per Share Notes 11 false false R12.htm 2117105 - Disclosure - Collaborative Arrangements Sheet http://www.codexis.com/role/CollaborativeArrangements Collaborative Arrangements Notes 12 false false R13.htm 2129106 - Disclosure - Cash Equivalents and Equity Securities Sheet http://www.codexis.com/role/CashEquivalentsandEquitySecurities Cash Equivalents and Equity Securities Notes 13 false false R14.htm 2133107 - Disclosure - Fair Value Measurements Sheet http://www.codexis.com/role/FairValueMeasurements Fair Value Measurements Notes 14 false false R15.htm 2136108 - Disclosure - Balance Sheets Details Sheet http://www.codexis.com/role/BalanceSheetsDetails Balance Sheets Details Notes 15 false false R16.htm 2142109 - Disclosure - Stock-based Compensation Sheet http://www.codexis.com/role/StockbasedCompensation Stock-based Compensation Notes 16 false false R17.htm 2149110 - Disclosure - Capital Stock Sheet http://www.codexis.com/role/CapitalStock Capital Stock Notes 17 false false R18.htm 2152111 - Disclosure - Commitments and Contingencies Sheet http://www.codexis.com/role/CommitmentsandContingencies Commitments and Contingencies Notes 18 false false R19.htm 2160112 - Disclosure - Related Party Sheet http://www.codexis.com/role/RelatedParty Related Party Notes 19 false false R20.htm 2164113 - Disclosure - Segment, Geographical and Other Revenue Information Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation Segment, Geographical and Other Revenue Information Notes 20 false false R21.htm 2172114 - Disclosure - Allowance for Credit Losses Sheet http://www.codexis.com/role/AllowanceforCreditLosses Allowance for Credit Losses Notes 21 false false R22.htm 2204201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies) Sheet http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies Basis of Presentation and Summary of Significant Accounting Policies (Policies) Policies http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies 22 false false R23.htm 2307301 - Disclosure - Revenue Recognition (Tables) Sheet http://www.codexis.com/role/RevenueRecognitionTables Revenue Recognition (Tables) Tables http://www.codexis.com/role/RevenueRecognition 23 false false R24.htm 2314302 - Disclosure - Net income (loss) per Share (Tables) Sheet http://www.codexis.com/role/NetincomelossperShareTables Net income (loss) per Share (Tables) Tables http://www.codexis.com/role/NetincomelossperShare 24 false false R25.htm 2330303 - Disclosure - Cash Equivalents and Equity Securities (Tables) Sheet http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTables Cash Equivalents and Equity Securities (Tables) Tables http://www.codexis.com/role/CashEquivalentsandEquitySecurities 25 false false R26.htm 2334304 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.codexis.com/role/FairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.codexis.com/role/FairValueMeasurements 26 false false R27.htm 2337305 - Disclosure - Balance Sheets Details (Tables) Sheet http://www.codexis.com/role/BalanceSheetsDetailsTables Balance Sheets Details (Tables) Tables http://www.codexis.com/role/BalanceSheetsDetails 27 false false R28.htm 2343306 - Disclosure - Stock-based Compensation (Tables) Sheet http://www.codexis.com/role/StockbasedCompensationTables Stock-based Compensation (Tables) Tables http://www.codexis.com/role/StockbasedCompensation 28 false false R29.htm 2353307 - Disclosure - Commitments and Contingencies (Tables) Sheet http://www.codexis.com/role/CommitmentsandContingenciesTables Commitments and Contingencies (Tables) Tables http://www.codexis.com/role/CommitmentsandContingencies 29 false false R30.htm 2365308 - Disclosure - Segment, Geographical and Other Revenue Information (Tables) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables Segment, Geographical and Other Revenue Information (Tables) Tables http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation 30 false false R31.htm 2373309 - Disclosure - Allowance for Credit Losses (Tables) Sheet http://www.codexis.com/role/AllowanceforCreditLossesTables Allowance for Credit Losses (Tables) Tables http://www.codexis.com/role/AllowanceforCreditLosses 31 false false R32.htm 2402401 - Disclosure - Description of Business (Details) Sheet http://www.codexis.com/role/DescriptionofBusinessDetails Description of Business (Details) Details http://www.codexis.com/role/DescriptionofBusiness 32 false false R33.htm 2405402 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details) Sheet http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails Basis of Presentation and Summary of Significant Accounting Policies (Details) Details http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies 33 false false R34.htm 2408403 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details) Sheet http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails Revenue Recognition - Disaggregation of Revenue (Details) Details 34 false false R35.htm 2409404 - Disclosure - Revenue Recognition - Contracts with Customer (Details) Sheet http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails Revenue Recognition - Contracts with Customer (Details) Details 35 false false R36.htm 2410405 - Disclosure - Revenue Recognition - Textual (Details) Sheet http://www.codexis.com/role/RevenueRecognitionTextualDetails Revenue Recognition - Textual (Details) Details 36 false false R37.htm 2411406 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details) Sheet http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails Revenue Recognition - Revenue Recognized During Period (Details) Details 37 false false R38.htm 2412407 - Disclosure - Revenue Recognition - Performance Obligation (Details) Sheet http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails Revenue Recognition - Performance Obligation (Details) Details 38 false false R39.htm 2415408 - Disclosure - Net income (loss) per Share - Earnings Per Share (Details) Sheet http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails Net income (loss) per Share - Earnings Per Share (Details) Details http://www.codexis.com/role/NetincomelossperShareTables 39 false false R40.htm 2416409 - Disclosure - Net income (loss) per Share - Anti-Dilutive Securities (Details) Sheet http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails Net income (loss) per Share - Anti-Dilutive Securities (Details) Details http://www.codexis.com/role/NetincomelossperShareTables 40 false false R41.htm 2418410 - Disclosure - Collaborative Arrangements - GSK Platform Technology Transfer, Collaboration and License Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails Collaborative Arrangements - GSK Platform Technology Transfer, Collaboration and License Agreement (Details) Details 41 false false R42.htm 2419411 - Disclosure - Collaborative Arrangements - Merck Platform Technology Transfer and License Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails Collaborative Arrangements - Merck Platform Technology Transfer and License Agreement (Details) Details 42 false false R43.htm 2420412 - Disclosure - Collaborative Arrangements - Merck Sitagliptin Catalyst Supply Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails Collaborative Arrangements - Merck Sitagliptin Catalyst Supply Agreement (Details) Details 43 false false R44.htm 2421413 - Disclosure - Collaborative Arrangements - Enzyme Supply Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails Collaborative Arrangements - Enzyme Supply Agreement (Details) Details 44 false false R45.htm 2422414 - Disclosure - Collaborative Arrangements - Global Development, Option and License Agreement, Strategic Collaboration Agreement, and Development Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails Collaborative Arrangements - Global Development, Option and License Agreement, Strategic Collaboration Agreement, and Development Agreement (Details) Details 45 false false R46.htm 2423415 - Disclosure - Collaborative Arrangements - Strategic Collaboration Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails Collaborative Arrangements - Strategic Collaboration Agreement (Details) Details 46 false false R47.htm 2424416 - Disclosure - Collaborative Arrangements - Platform Technology Transfer and License Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails Collaborative Arrangements - Platform Technology Transfer and License Agreement (Details) Details 47 false false R48.htm 2425417 - Disclosure - Collaborative Arrangements - License Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails Collaborative Arrangements - License Agreement (Details) Details 48 false false R49.htm 2426418 - Disclosure - Collaborative Arrangements - Strategic Collaboration and License Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails Collaborative Arrangements - Strategic Collaboration and License Agreement (Details) Details 49 false false R50.htm 2427419 - Disclosure - Collaborative Arrangements - Master Collaboration and Research Agreement and Stock Purchase Agreement (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails Collaborative Arrangements - Master Collaboration and Research Agreement and Stock Purchase Agreement (Details) Details 50 false false R51.htm 2428420 - Disclosure - Collaborative Arrangements - Performance Period (Details) Sheet http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails Collaborative Arrangements - Performance Period (Details) Details 51 false false R52.htm 2431421 - Disclosure - Cash Equivalents and Equity Securities - Components of Cash Equivalents (Details) Sheet http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails Cash Equivalents and Equity Securities - Components of Cash Equivalents (Details) Details 52 false false R53.htm 2432422 - Disclosure - Cash Equivalents and Equity Securities - Textual (Details) Sheet http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails Cash Equivalents and Equity Securities - Textual (Details) Details 53 false false R54.htm 2435423 - Disclosure - Fair Value Measurements (Details) Sheet http://www.codexis.com/role/FairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.codexis.com/role/FairValueMeasurementsTables 54 false false R55.htm 2438424 - Disclosure - Balance Sheets Details - Inventories (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails Balance Sheets Details - Inventories (Details) Details 55 false false R56.htm 2439425 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails Balance Sheets Details - Property and Equipment, net (Details) Details 56 false false R57.htm 2440426 - Disclosure - Balance Sheets Details - Goodwill (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails Balance Sheets Details - Goodwill (Details) Details 57 false false R58.htm 2441427 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details) Sheet http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails Balance Sheets Details - Other Accrued Liabilities (Details) Details 58 false false R59.htm 2444428 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details) Sheet http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails Stock-based Compensation - Equity Incentive Plans (Details) Details 59 false false R60.htm 2445429 - Disclosure - Stock-based Compensation - Stock Options (Details) Sheet http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails Stock-based Compensation - Stock Options (Details) Details 60 false false R61.htm 2446430 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details) Sheet http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails Stock-based Compensation - Restricted Stock Units (Details) Details 61 false false R62.htm 2447431 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details) Sheet http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails Stock-based Compensation - PSUs and PBOs (Details) Details 62 false false R63.htm 2448432 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details) Sheet http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails Stock-based Compensation - Stock-based Compensation Expense (Details) Details 63 false false R64.htm 2450433 - Disclosure - Capital Stock - Exercise of Options (Details) Sheet http://www.codexis.com/role/CapitalStockExerciseofOptionsDetails Capital Stock - Exercise of Options (Details) Details 64 false false R65.htm 2451434 - Disclosure - Capital Stock - Private Offering (Details) Sheet http://www.codexis.com/role/CapitalStockPrivateOfferingDetails Capital Stock - Private Offering (Details) Details 65 false false R66.htm 2454435 - Disclosure - Commitments and Contingencies - Textual (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails Commitments and Contingencies - Textual (Details) Details 66 false false R67.htm 2455436 - Disclosure - Commitments and Contingencies - Lease Cost (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails Commitments and Contingencies - Lease Cost (Details) Details 67 false false R68.htm 2456437 - Disclosure - Commitments and Contingencies - Other Lease Information (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails Commitments and Contingencies - Other Lease Information (Details) Details 68 false false R69.htm 2457438 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails Commitments and Contingencies - Cash Paid for Lease Obligations (Details) Details 69 false false R70.htm 2458439 - Disclosure - Commitments and Contingencies - Future Minimum Lease Payments (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails Commitments and Contingencies - Future Minimum Lease Payments (Details) Details 70 false false R71.htm 2459440 - Disclosure - Commitments and Contingencies - Other Commitments (Details) Sheet http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails Commitments and Contingencies - Other Commitments (Details) Details 71 false false R72.htm 2461441 - Disclosure - Related Party - Molecular Assemblies, Inc. (Details) Sheet http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails Related Party - Molecular Assemblies, Inc. (Details) Details 72 false false R73.htm 2462442 - Disclosure - Related Party - Performance Period (Details) Sheet http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails Related Party - Performance Period (Details) Details 73 false false R74.htm 2463443 - Disclosure - Related Party - AstraZeneca PLC (Details) Sheet http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails Related Party - AstraZeneca PLC (Details) Details 74 false false R75.htm 2466444 - Disclosure - Segment, Geographical and Other Revenue Information - Textual (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails Segment, Geographical and Other Revenue Information - Textual (Details) Details http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables 75 false false R76.htm 2467445 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails Segment, Geographical and Other Revenue Information - Segment Reporting (Details) Details 76 false false R77.htm 2468446 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails Segment, Geographical and Other Revenue Information - Concentration Risk (Details) Details 77 false false R78.htm 2469447 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details) Details 78 false false R79.htm 2470448 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details) Details 79 false false R80.htm 2471449 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details) Sheet http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails Segment, Geographical and Other Revenue Information - Goodwill (Details) Details http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables 80 false false R81.htm 2474450 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) Sheet http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details) Details 81 false false R82.htm 2475451 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) Sheet http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details) Details 82 false false R9999.htm Uncategorized Items - cdxs-20200930.htm Sheet http://xbrl.sec.gov/role/uncategorizedFacts Uncategorized Items - cdxs-20200930.htm Cover 83 false false All Reports Book All Reports cdxs-20200930.htm cdxs-20200930.xsd cdxs-20200930_cal.xml cdxs-20200930_def.xml cdxs-20200930_lab.xml cdxs-20200930_pre.xml cdxs20200930ex311sp.htm cdxs20200930ex312sp.htm cdxs20200930ex321sp.htm exhibit101.htm http://fasb.org/srt/2020-01-31 http://fasb.org/us-gaap/2020-01-31 http://xbrl.sec.gov/country/2020-01-31 http://xbrl.sec.gov/dei/2019-01-31 true true JSON 101 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "cdxs-20200930.htm": { "axisCustom": 2, "axisStandard": 36, "contextCount": 386, "dts": { "calculationLink": { "local": [ "cdxs-20200930_cal.xml" ] }, "definitionLink": { "local": [ "cdxs-20200930_def.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-eedm-def-2020-01-31.xml", "http://xbrl.fasb.org/srt/2020/elts/srt-eedm1-def-2020-01-31.xml" ] }, "inline": { "local": [ "cdxs-20200930.htm" ] }, "labelLink": { "local": [ "cdxs-20200930_lab.xml" ], "remote": [ "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-doc-2020-01-31.xml", "https://xbrl.sec.gov/dei/2019/dei-doc-2019-01-31.xml" ] }, "presentationLink": { "local": [ "cdxs-20200930_pre.xml" ] }, "referenceLink": { "remote": [ "https://xbrl.sec.gov/dei/2019/dei-ref-2019-01-31.xml", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-ref-2020-01-31.xml" ] }, "schema": { "local": [ "cdxs-20200930.xsd" ], "remote": [ "http://xbrl.fasb.org/srt/2020/elts/srt-2020-01-31.xsd", "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd", "http://www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-types-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-gaap-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-roles-2020-01-31.xsd", "http://xbrl.fasb.org/srt/2020/elts/srt-roles-2020-01-31.xsd", "https://xbrl.sec.gov/country/2020/country-2020-01-31.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-types-2020-01-31.xsd", "https://xbrl.sec.gov/dei/2019/dei-2019-01-31.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "http://xbrl.fasb.org/us-gaap/2020/elts/us-parts-codification-2020-01-31.xsd", "http://www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd" ] } }, "elementCount": 546, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2020-01-31": 12, "http://xbrl.sec.gov/dei/2019-01-31": 5, "total": 17 }, "keyCustom": 25, "keyStandard": 329, "memberCustom": 60, "memberStandard": 43, "nsprefix": "cdxs", "nsuri": "http://www.codexis.com/20200930", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "0001001 - Document - Cover Page", "role": "http://www.codexis.com/role/CoverPage", "shortName": "Cover Page", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2106103 - Disclosure - Revenue Recognition", "role": "http://www.codexis.com/role/RevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2113104 - Disclosure - Net income (loss) per Share", "role": "http://www.codexis.com/role/NetincomelossperShare", "shortName": "Net income (loss) per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CollaborativeArrangementDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2117105 - Disclosure - Collaborative Arrangements", "role": "http://www.codexis.com/role/CollaborativeArrangements", "shortName": "Collaborative Arrangements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CollaborativeArrangementDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:CashEquivalentsAndInvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2129106 - Disclosure - Cash Equivalents and Equity Securities", "role": "http://www.codexis.com/role/CashEquivalentsandEquitySecurities", "shortName": "Cash Equivalents and Equity Securities", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:CashEquivalentsAndInvestmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2133107 - Disclosure - Fair Value Measurements", "role": "http://www.codexis.com/role/FairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueMeasurementInputsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:BalanceSheetsDetailsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2136108 - Disclosure - Balance Sheets Details", "role": "http://www.codexis.com/role/BalanceSheetsDetails", "shortName": "Balance Sheets Details", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "cdxs:BalanceSheetsDetailsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2142109 - Disclosure - Stock-based Compensation", "role": "http://www.codexis.com/role/StockbasedCompensation", "shortName": "Stock-based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2149110 - Disclosure - Capital Stock", "role": "http://www.codexis.com/role/CapitalStock", "shortName": "Capital Stock", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2152111 - Disclosure - Commitments and Contingencies", "role": "http://www.codexis.com/role/CommitmentsandContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2160112 - Disclosure - Related Party", "role": "http://www.codexis.com/role/RelatedParty", "shortName": "Related Party", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1001002 - Statement - Condensed Consolidated Balance Sheets", "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets", "shortName": "Condensed Consolidated Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RestrictedCash", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2164113 - Disclosure - Segment, Geographical and Other Revenue Information", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation", "shortName": "Segment, Geographical and Other Revenue Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2172114 - Disclosure - Allowance for Credit Losses", "role": "http://www.codexis.com/role/AllowanceforCreditLosses", "shortName": "Allowance for Credit Losses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CreditLossFinancialInstrumentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2204201 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2307301 - Disclosure - Revenue Recognition (Tables)", "role": "http://www.codexis.com/role/RevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2314302 - Disclosure - Net income (loss) per Share (Tables)", "role": "http://www.codexis.com/role/NetincomelossperShareTables", "shortName": "Net income (loss) per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2330303 - Disclosure - Cash Equivalents and Equity Securities (Tables)", "role": "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTables", "shortName": "Cash Equivalents and Equity Securities (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2334304 - Disclosure - Fair Value Measurements (Tables)", "role": "http://www.codexis.com/role/FairValueMeasurementsTables", "shortName": "Fair Value Measurements (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2337305 - Disclosure - Balance Sheets Details (Tables)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsTables", "shortName": "Balance Sheets Details (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2343306 - Disclosure - Stock-based Compensation (Tables)", "role": "http://www.codexis.com/role/StockbasedCompensationTables", "shortName": "Stock-based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2353307 - Disclosure - Commitments and Contingencies (Tables)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesTables", "shortName": "Commitments and Contingencies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1002003 - Statement - Condensed Consolidated Balance Sheets (Parenthetical)", "role": "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical", "shortName": "Condensed Consolidated Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2365308 - Disclosure - Segment, Geographical and Other Revenue Information (Tables)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables", "shortName": "Segment, Geographical and Other Revenue Information (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2373309 - Disclosure - Allowance for Credit Losses (Tables)", "role": "http://www.codexis.com/role/AllowanceforCreditLossesTables", "shortName": "Allowance for Credit Losses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i8614791868f9436e873b30192b35ddcf_D20181201-20181231", "decimals": "-5", "first": true, "lang": "en-US", "name": "cdxs:RevenueRecognitionMilestonePaymentAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2402401 - Disclosure - Description of Business (Details)", "role": "http://www.codexis.com/role/DescriptionofBusinessDetails", "shortName": "Description of Business (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i8614791868f9436e873b30192b35ddcf_D20181201-20181231", "decimals": "-5", "first": true, "lang": "en-US", "name": "cdxs:RevenueRecognitionMilestonePaymentAmount", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "div", "us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i697fcc263bdd4acebf579de38807eee0_D20180101-20180101", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfReportingUnits", "reportCount": 1, "unique": true, "unitRef": "reportingunit", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2405402 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies (Details)", "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i697fcc263bdd4acebf579de38807eee0_D20180101-20180101", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfReportingUnits", "reportCount": 1, "unique": true, "unitRef": "reportingunit", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2408403 - Disclosure - Revenue Recognition - Disaggregation of Revenue (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "shortName": "Revenue Recognition - Disaggregation of Revenue (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i42e340cf7824448e9daeef78373dcddb_D20200701-20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetGrossCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2409404 - Disclosure - Revenue Recognition - Contracts with Customer (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails", "shortName": "Revenue Recognition - Contracts with Customer (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CapitalizedContractCostNetCurrent", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "us-gaap:ContractWithCustomerAssetCreditLossExpense", "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2410405 - Disclosure - Revenue Recognition - Textual (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionTextualDetails", "shortName": "Revenue Recognition - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ContractWithCustomerAssetCreditLossExpense", "us-gaap:ContractWithCustomerAssetCreditLossExpense", "us-gaap:ContractWithCustomerAssetCreditLossExpense", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerAssetCreditLossExpense", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2411406 - Disclosure - Revenue Recognition - Revenue Recognized During Period (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails", "shortName": "Revenue Recognition - Revenue Recognized During Period (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2412407 - Disclosure - Revenue Recognition - Performance Obligation (Details)", "role": "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "shortName": "Revenue Recognition - Performance Obligation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2415408 - Disclosure - Net income (loss) per Share - Earnings Per Share (Details)", "role": "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails", "shortName": "Net income (loss) per Share - Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1003004 - Statement - Condensed Consolidated Statements of Operations", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "shortName": "Condensed Consolidated Statements of Operations", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:InvestmentIncomeInterest", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "id7634569e8eb436aa255a8f7de659f7b_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2416409 - Disclosure - Net income (loss) per Share - Anti-Dilutive Securities (Details)", "role": "http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails", "shortName": "Net income (loss) per Share - Anti-Dilutive Securities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "id7634569e8eb436aa255a8f7de659f7b_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2418410 - Disclosure - Collaborative Arrangements - GSK Platform Technology Transfer, Collaboration and License Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "shortName": "Collaborative Arrangements - GSK Platform Technology Transfer, Collaboration and License Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ie94d106b8a144ad9a26a2639fd6fff90_D20190101-20191231", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2419411 - Disclosure - Collaborative Arrangements - Merck Platform Technology Transfer and License Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "shortName": "Collaborative Arrangements - Merck Platform Technology Transfer and License Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ie8bae62071754247a5c88748e9e1ef86_I20150831", "decimals": "-5", "lang": "en-US", "name": "cdxs:RevenueRecognitionContingentReceivable", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2420412 - Disclosure - Collaborative Arrangements - Merck Sitagliptin Catalyst Supply Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "shortName": "Collaborative Arrangements - Merck Sitagliptin Catalyst Supply Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i532b24a048be49fca5a03cce1fc3b88f_D20120201-20120229", "decimals": null, "lang": "en-US", "name": "cdxs:TermOfCollaborativeResearchAndDevelopmentAgreement", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2421413 - Disclosure - Collaborative Arrangements - Enzyme Supply Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails", "shortName": "Collaborative Arrangements - Enzyme Supply Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "us-gaap:ContractWithCustomerLiability", "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ia7cdebcf641f4a2da423b1a2762c5aa2_I20200930", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2422414 - Disclosure - Collaborative Arrangements - Global Development, Option and License Agreement, Strategic Collaboration Agreement, and Development Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "shortName": "Collaborative Arrangements - Global Development, Option and License Agreement, Strategic Collaboration Agreement, and Development Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i3528231d5d57452b8de0556665c56b91_D20200701-20200930", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2423415 - Disclosure - Collaborative Arrangements - Strategic Collaboration Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "shortName": "Collaborative Arrangements - Strategic Collaboration Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i7db2a139ffff4498b4bc2485fe3f60c9_I20191231", "decimals": "INF", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2424416 - Disclosure - Collaborative Arrangements - Platform Technology Transfer and License Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "shortName": "Collaborative Arrangements - Platform Technology Transfer and License Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i6f6c482233d949a395fd1dc1c7d66da5_D20190501-20190531", "decimals": null, "lang": "en-US", "name": "cdxs:TermOfCollaborativeResearchAndDevelopmentAgreement", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2425417 - Disclosure - Collaborative Arrangements - License Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "shortName": "Collaborative Arrangements - License Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "iedaac6a23c3d429cb4d919512ca7ccd7_D20200701-20200930", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2426418 - Disclosure - Collaborative Arrangements - Strategic Collaboration and License Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "shortName": "Collaborative Arrangements - Strategic Collaboration and License Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i0a35ef6a91724716a0d1fcf64f2d0cfb_D20200701-20200930", "decimals": "-5", "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i31021f590f444e4e94269aa4ce1e9d08_I20181231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1004005 - Statement - Condensed Consolidated Statements of Stockholders' Equity", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "shortName": "Condensed Consolidated Statements of Stockholders' Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i31021f590f444e4e94269aa4ce1e9d08_I20181231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SharesOutstanding", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R50": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsToAcquireOtherInvestments", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2427419 - Disclosure - Collaborative Arrangements - Master Collaboration and Research Agreement and Stock Purchase Agreement (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "shortName": "Collaborative Arrangements - Master Collaboration and Research Agreement and Stock Purchase Agreement (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ide6faf949ee844f0abbd3489ed9ffed5_D20200601-20200630", "decimals": null, "lang": "en-US", "name": "cdxs:RevenueRecognitionMilestoneRevenueNumberofDaysforPayment", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R51": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ia04d4ff17ac24b45a3cbc9f49d7c35e1_I20200630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2428420 - Disclosure - Collaborative Arrangements - Performance Period (Details)", "role": "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "shortName": "Collaborative Arrangements - Performance Period (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R52": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2431421 - Disclosure - Cash Equivalents and Equity Securities - Components of Cash Equivalents (Details)", "role": "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails", "shortName": "Cash Equivalents and Equity Securities - Components of Cash Equivalents (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R53": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2432422 - Disclosure - Cash Equivalents and Equity Securities - Textual (Details)", "role": "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails", "shortName": "Cash Equivalents and Equity Securities - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ia0129a73f43a4a5591cd4fd6a2ce736c_I20200930", "decimals": "2", "lang": "en-US", "name": "us-gaap:MinorityInterestOwnershipPercentageByParent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R54": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i253b9b5605d54abd8cce604effd0518c_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2435423 - Disclosure - Fair Value Measurements (Details)", "role": "http://www.codexis.com/role/FairValueMeasurementsDetails", "shortName": "Fair Value Measurements (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:FairValueAssetsMeasuredOnRecurringBasisTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ib8bdf9e899e84a27b64a227819fd825b_I20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R55": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2438424 - Disclosure - Balance Sheets Details - Inventories (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "shortName": "Balance Sheets Details - Inventories (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R56": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2439425 - Disclosure - Balance Sheets Details - Property and Equipment, net (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "shortName": "Balance Sheets Details - Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R57": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2440426 - Disclosure - Balance Sheets Details - Goodwill (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "shortName": "Balance Sheets Details - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R58": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2441427 - Disclosure - Balance Sheets Details - Other Accrued Liabilities (Details)", "role": "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "shortName": "Balance Sheets Details - Other Accrued Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R59": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i45202b567c79407b9068a43d713124e4_I20190630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2444428 - Disclosure - Stock-based Compensation - Equity Incentive Plans (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "shortName": "Stock-based Compensation - Equity Incentive Plans (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i45202b567c79407b9068a43d713124e4_I20190630", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsOfStockIssuanceCosts", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1005006 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Parenthetical)", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityParenthetical", "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": null }, "R60": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ia8c8af0cc02b41c09e10bb9bdd730546_D20200101-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2445429 - Disclosure - Stock-based Compensation - Stock Options (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "shortName": "Stock-based Compensation - Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ia8c8af0cc02b41c09e10bb9bdd730546_D20200101-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R61": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ife89bbbce7cf498c982549e039c5e100_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2446430 - Disclosure - Stock-based Compensation - Restricted Stock Units (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "shortName": "Stock-based Compensation - Restricted Stock Units (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ife89bbbce7cf498c982549e039c5e100_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R62": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idd209798a15a49768e9abda23f231701_D20200101-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2447431 - Disclosure - Stock-based Compensation - PSUs and PBOs (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "shortName": "Stock-based Compensation - PSUs and PBOs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idd209798a15a49768e9abda23f231701_D20200101-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "cdxs:SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R63": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ShareBasedCompensation", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2448432 - Disclosure - Stock-based Compensation - Stock-based Compensation Expense (Details)", "role": "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails", "shortName": "Stock-based Compensation - Stock-based Compensation Expense (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i8a12640a2484454c9ca924f2257dab67_D20200801-20200831", "decimals": "INF", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R64": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised", "reportCount": 1, "unitRef": "shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2450433 - Disclosure - Capital Stock - Exercise of Options (Details)", "role": "http://www.codexis.com/role/CapitalStockExerciseofOptionsDetails", "shortName": "Capital Stock - Exercise of Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "2", "lang": "en-US", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "reportCount": 1, "unique": true, "unitRef": "usdPerShare", "xsiNil": "false" } }, "R65": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PaymentsOfStockIssuanceCosts", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2451434 - Disclosure - Capital Stock - Private Offering (Details)", "role": "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails", "shortName": "Capital Stock - Private Offering (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i2d21e34a240e40c888e329964b262c5c_D20190601-20190630", "decimals": "INF", "lang": "en-US", "name": "us-gaap:SaleOfStockNumberOfSharesIssuedInTransaction", "reportCount": 1, "unique": true, "unitRef": "shares", "xsiNil": "false" } }, "R66": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-2", "first": true, "lang": "en-US", "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "sqft", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2454435 - Disclosure - Commitments and Contingencies - Textual (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "shortName": "Commitments and Contingencies - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-2", "first": true, "lang": "en-US", "name": "us-gaap:AreaOfRealEstateProperty", "reportCount": 1, "unique": true, "unitRef": "sqft", "xsiNil": "false" } }, "R67": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2455436 - Disclosure - Commitments and Contingencies - Lease Cost (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails", "shortName": "Commitments and Contingencies - Lease Cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FinanceLeaseRightOfUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R68": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2456437 - Disclosure - Commitments and Contingencies - Other Lease Information (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails", "shortName": "Commitments and Contingencies - Other Lease Information (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R69": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2457438 - Disclosure - Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails", "shortName": "Commitments and Contingencies - Cash Paid for Lease Obligations (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:OperatingLeasePayments", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "1006007 - Statement - Condensed Consolidated Statements of Cash Flows", "role": "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "shortName": "Condensed Consolidated Statements of Cash Flows", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "lang": "en-US", "name": "cdxs:LeaseRightofUseAssetAmortization", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R70": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2458439 - Disclosure - Commitments and Contingencies - Future Minimum Lease Payments (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails", "shortName": "Commitments and Contingencies - Future Minimum Lease Payments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:FinanceLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R71": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SupplyCommitmentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i804aea2c7272498e85ff7bea203baccd_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SignificantSupplyCommitmentRemainingMinimumAmountCommitted", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2459440 - Disclosure - Commitments and Contingencies - Other Commitments (Details)", "role": "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails", "shortName": "Commitments and Contingencies - Other Commitments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SupplyCommitmentTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i804aea2c7272498e85ff7bea203baccd_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:SignificantSupplyCommitmentRemainingMinimumAmountCommitted", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R72": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:ContractWithCustomerLiability", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2461441 - Disclosure - Related Party - Molecular Assemblies, Inc. (Details)", "role": "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "shortName": "Related Party - Molecular Assemblies, Inc. (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R73": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ia04d4ff17ac24b45a3cbc9f49d7c35e1_I20200630", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "reportCount": 1, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2462442 - Disclosure - Related Party - Performance Period (Details)", "role": "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails", "shortName": "Related Party - Performance Period (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R74": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i02405092df404ea5aaf8ff7e1baef8c9_D20190701-20190930", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromRelatedParties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2463443 - Disclosure - Related Party - AstraZeneca PLC (Details)", "role": "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails", "shortName": "Related Party - AstraZeneca PLC (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i02405092df404ea5aaf8ff7e1baef8c9_D20190701-20190930", "decimals": "-5", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromRelatedParties", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R75": { "firstAnchor": { "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2466444 - Disclosure - Segment, Geographical and Other Revenue Information - Textual (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails", "shortName": "Segment, Geographical and Other Revenue Information - Textual (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "div", "ix:continuation", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "INF", "first": true, "lang": "en-US", "name": "us-gaap:NumberOfOperatingSegments", "reportCount": 1, "unique": true, "unitRef": "segment", "xsiNil": "false" } }, "R76": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2467445 - Disclosure - Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "shortName": "Segment, Geographical and Other Revenue Information - Segment Reporting (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "ib529aa5aa05e450dac2b54bf32074fcd_D20200701-20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R77": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i14a4db6d69354928823224c7fd35f084_D20200701-20200930", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2468446 - Disclosure - Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails", "shortName": "Segment, Geographical and Other Revenue Information - Concentration Risk (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i14a4db6d69354928823224c7fd35f084_D20200701-20200930", "decimals": "2", "first": true, "lang": "en-US", "name": "us-gaap:ConcentrationRiskPercentage1", "reportCount": 1, "unique": true, "unitRef": "number", "xsiNil": "false" } }, "R78": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i94c604f50db040369290799b29d85265_D20200701-20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2469447 - Disclosure - Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "shortName": "Segment, Geographical and Other Revenue Information - Revenues by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R79": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PropertyPlantAndEquipmentTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2470448 - Disclosure - Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "shortName": "Segment, Geographical and Other Revenue Information - Long-Lived Assets by Geographic Area (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i0c8ad3da6f944b79900cc7f3bd71ef8b_I20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2101101 - Disclosure - Description of Business", "role": "http://www.codexis.com/role/DescriptionofBusiness", "shortName": "Description of Business", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:NatureOfOperations", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R80": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2471449 - Disclosure - Segment, Geographical and Other Revenue Information - Goodwill (Details)", "role": "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "shortName": "Segment, Geographical and Other Revenue Information - Goodwill (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i168f5588e627473a815ade7d7b7e4492_I20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:Goodwill", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R81": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "i489670bec3a241308e3b3e1f6ce2e9b3_I20191231", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:AllowanceForNotesAndLoansReceivableCurrent", "reportCount": 1, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2474450 - Disclosure - Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "role": "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "shortName": "Allowance for Credit Losses - Analysis of Allowance for Credit Losses (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": "-3", "lang": "en-US", "name": "us-gaap:FinancingReceivableAllowanceForCreditLossesWriteOffs", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R82": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PastDueFinancingReceivablesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FinancingReceivableRecordedInvestmentPastDue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2475451 - Disclosure - Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "role": "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails", "shortName": "Allowance for Credit Losses - Summary of Finance Receivables by Aging Category (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:PastDueFinancingReceivablesTableTextBlock", "ix:continuation", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:FinancingReceivableRecordedInvestmentPastDue", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "2103102 - Disclosure - Basis of Presentation and Summary of Significant Accounting Policies", "role": "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies", "shortName": "Basis of Presentation and Summary of Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "idab9fd22cf394a7fb00cfb3dc7c286c6_D20200101-20200930", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9999": { "firstAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestrictedCashAndCashEquivalents", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" }, "groupType": "", "isDefault": "false", "longName": "Uncategorized Items - cdxs-20200930.htm", "role": "http://xbrl.sec.gov/role/uncategorizedFacts", "shortName": "Uncategorized Items - cdxs-20200930.htm", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "baseRef": "cdxs-20200930.htm", "contextRef": "if4a2fe7ad25c422e8b3f0f5f4b4185ae_I20200930", "decimals": "-3", "first": true, "lang": "en-US", "name": "us-gaap:RestrictedCashAndCashEquivalents", "reportCount": 1, "unique": true, "unitRef": "usd", "xsiNil": "false" } } }, "segmentCount": 106, "tag": { "cdxs_A101SaginawMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "101 Saginaw", "label": "101 Saginaw [Member]", "terseLabel": "101 Saginaw [Member]" } } }, "localname": "A101SaginawMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_A200220PenobscotMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "200-220 Penobscot", "label": "200-220 Penobscot [Member]", "terseLabel": "200-220 Penobscot [Member]" } } }, "localname": "A200220PenobscotMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2018PSUandPBOPlanMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "2018 PSU and PBO Plan [Member]", "label": "2018 PSU and PBO Plan [Member]", "terseLabel": "2018 PSU and PBO Plan [Member]" } } }, "localname": "A2018PSUandPBOPlanMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2019PSUandPBOPlanMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "2019 PSU and PBO Plan [Member]", "label": "2019 PSU and PBO Plan [Member]", "terseLabel": "2019 PSU and PBO Plan [Member]" } } }, "localname": "A2019PSUandPBOPlanMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2019PlanMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "2019 Plan [Member]", "label": "2019 Plan [Member]", "terseLabel": "2019 Plan [Member]" } } }, "localname": "A2019PlanMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A2020PSUAndPBOPlanMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "2020 PSU and PBO Plan", "label": "2020 PSU and PBO Plan [Member]", "terseLabel": "2020 PSU and PBO Plan [Member]" } } }, "localname": "A2020PSUAndPBOPlanMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "cdxs_A400PenoscotMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "400 Penoscot", "label": "400 Penoscot [Member]", "terseLabel": "400 Penobscot [Member]" } } }, "localname": "A400PenoscotMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_A501ChesapeakeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "501 Chesapeake", "label": "501 Chesapeake [Member]", "terseLabel": "501 Chesapeake [Member]" } } }, "localname": "A501ChesapeakeMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_APACMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Regions of Australia, New Zealand, Southeast Asia and China", "label": "APAC [Member]", "terseLabel": "APAC [Member]" } } }, "localname": "APACMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "cdxs_AgreementDateAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Agreement Date [Axis]", "label": "Agreement Date [Axis]", "terseLabel": "Agreement Date [Axis]" } } }, "localname": "AgreementDateAxis", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "cdxs_AgreementDateDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "[Domain] for Agreement Date [Axis]", "label": "Agreement Date [Domain]", "terseLabel": "Agreement Date [Domain]" } } }, "localname": "AgreementDateDomain", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_AgreementTypeAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Agreement Type [Axis]", "label": "Agreement Type [Axis]", "terseLabel": "Agreement Type [Axis]" } } }, "localname": "AgreementTypeAxis", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "stringItemType" }, "cdxs_AgreementTypeDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "[Domain] for Agreement Type [Axis]", "label": "Agreement Type [Domain]", "terseLabel": "Agreement Type [Domain]" } } }, "localname": "AgreementTypeDomain", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_April2016Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "April 2016 [Member]", "label": "April 2016 [Member]", "terseLabel": "April 2016 [Member]" } } }, "localname": "April2016Member", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_BalanceSheetDetailsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Balance Sheet Details [Abstract]", "label": "Balance Sheet Details [Abstract]", "terseLabel": "Balance Sheet Details [Abstract]" } } }, "localname": "BalanceSheetDetailsAbstract", "nsuri": "http://www.codexis.com/20200930", "xbrltype": "stringItemType" }, "cdxs_BalanceSheetsDetailsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "-- None. No documentation exists for this element. --", "label": "Balance Sheets Details [Abstract]", "terseLabel": "Balance Sheets Details [Abstract]" } } }, "localname": "BalanceSheetsDetailsAbstract", "nsuri": "http://www.codexis.com/20200930", "xbrltype": "stringItemType" }, "cdxs_BalanceSheetsDetailsTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Balance sheets details.", "label": "Balance Sheets Details [Text Block]", "verboseLabel": "Balance Sheets Details" } } }, "localname": "BalanceSheetsDetailsTextBlock", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetails" ], "xbrltype": "textBlockItemType" }, "cdxs_BiotherapeuticSegmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Biotherapeutic Segment [Member]", "label": "Biotherapeutic Segment [Member]", "verboseLabel": "Novel Biotherapeutics [Member]" } } }, "localname": "BiotherapeuticSegmentMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_CDX6114Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "CDX-6114 [Member]", "label": "CDX-6114 [Member]", "terseLabel": "CDX-6114 [Member]" } } }, "localname": "CDX6114Member", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "cdxs_CashEquivalentsAndInvestmentTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cash Equivalents And Investment", "label": "Cash Equivalents And Investment [Text Block]", "terseLabel": "Cash Equivalents and Equity Securities" } } }, "localname": "CashEquivalentsAndInvestmentTextBlock", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecurities" ], "xbrltype": "textBlockItemType" }, "cdxs_CashEquivalentsAndMarketableSecuritiesLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cash equivalents and marketable securities.", "label": "Cash Equivalents and Marketable Securities [Line Items]", "terseLabel": "Cash Equivalents and Marketable Securities [Line Items]" } } }, "localname": "CashEquivalentsAndMarketableSecuritiesLineItems", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "cdxs_CashEquivalentsandMarketableSecuritiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cash Equivalents and Marketable Securities [Abstract]", "label": "Cash Equivalents and Marketable Securities [Abstract]", "terseLabel": "Cash Equivalents and Marketable Securities [Abstract]" } } }, "localname": "CashEquivalentsandMarketableSecuritiesAbstract", "nsuri": "http://www.codexis.com/20200930", "xbrltype": "stringItemType" }, "cdxs_CollaborativeArrangementNumberOfAdditionalPrograms": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Collaborative Arrangement, Number Of Additional Programs", "label": "Collaborative Arrangement, Number Of Additional Programs", "terseLabel": "Number of additional programs" } } }, "localname": "CollaborativeArrangementNumberOfAdditionalPrograms", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "integerItemType" }, "cdxs_CollaborativeArrangementNumberOfInitialPrograms": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Collaborative Arrangement, Number Of Initial Programs", "label": "Collaborative Arrangement, Number Of Initial Programs", "terseLabel": "Number of initial programs" } } }, "localname": "CollaborativeArrangementNumberOfInitialPrograms", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "integerItemType" }, "cdxs_CollaborativeResearchandDevelopmentAgreementOptionalExtensionPeriod": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Collaborative Research and Development Agreement, Optional Extension Period", "label": "Collaborative Research and Development Agreement, Optional Extension Period", "terseLabel": "Optional extension period" } } }, "localname": "CollaborativeResearchandDevelopmentAgreementOptionalExtensionPeriod", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails" ], "xbrltype": "durationItemType" }, "cdxs_CommercializationAndEnzymeSupplyAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Commercialization And Enzyme Supply Agreement", "label": "Commercialization And Enzyme Supply Agreement [Member]", "terseLabel": "CESA [Member]" } } }, "localname": "CommercializationAndEnzymeSupplyAgreementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "cdxs_CommitmentsAndContingenciesLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Commitments and contingencies.", "label": "Commitments and Contingencies [Line Items]", "terseLabel": "Commitments and Contingencies [Line Items]" } } }, "localname": "CommitmentsAndContingenciesLineItems", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "cdxs_ComputerEquipmentAndSoftwareMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Computer Equipment and Software [Member]", "label": "Computer Equipment and Software [Member]", "terseLabel": "Computer Equipment and Software [Member]" } } }, "localname": "ComputerEquipmentAndSoftwareMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_ContractWithCustomerSalesMilestone": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Contract With Customer, Sales Milestone", "label": "Contract With Customer, Sales Milestone", "terseLabel": "Aggregate commercial sales, milestone" } } }, "localname": "ContractWithCustomerSalesMilestone", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 1.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition", "label": "Contract with Customer, Liability, New Activities, Performance Obligation Satisfied, Revenue Recognition", "terseLabel": "Performance obligations satisfied from new activities in the period - contract revenue" } } }, "localname": "ContractwithCustomerLiabilityNewActivitiesPerformanceObligationSatisfiedRevenueRecognition", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_CoreSegmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Core Segment [Member]", "label": "Core Segment [Member]", "verboseLabel": "Performance Enzymes [Member]" } } }, "localname": "CoreSegmentMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerAMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Customer A [Member]", "label": "Customer A [Member]", "terseLabel": "Customer A [Member]" } } }, "localname": "CustomerAMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerBMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Customer B [Member]", "label": "Customer B [Member]", "terseLabel": "Customer B [Member]" } } }, "localname": "CustomerBMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerCMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Customer C [Member]", "label": "Customer C [Member]", "terseLabel": "Customer C [Member]" } } }, "localname": "CustomerCMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerDMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Customer D [Member]", "label": "Customer D [Member]", "terseLabel": "Customer D [Member]" } } }, "localname": "CustomerDMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_CustomerEMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Customer E", "label": "Customer E [Member]", "terseLabel": "Customer E [Member]" } } }, "localname": "CustomerEMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "cdxs_FinanceLeaseCost": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 2.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Finance Lease, Cost", "label": "Finance Lease, Cost", "totalLabel": "Finance lease costs" } } }, "localname": "FinanceLeaseCost", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_GSKMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "GSK [Member]", "label": "GSK [Member]", "terseLabel": "GSK [Member]" } } }, "localname": "GSKMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_GlobalDevelopmentOptionandLicenseAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Global Development, Option and License Agreement [Member]", "label": "Global Development, Option and License Agreement [Member]", "terseLabel": "Global Development, Option and License Agreement [Member]" } } }, "localname": "GlobalDevelopmentOptionandLicenseAgreementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_GoodwillAllocatedPercent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Goodwill, Allocated Percent", "label": "Goodwill, Allocated Percent", "terseLabel": "Goodwill, allocated percent" } } }, "localname": "GoodwillAllocatedPercent", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails" ], "xbrltype": "percentItemType" }, "cdxs_IncentiveStockOptionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Incentive Stock Options [Member]", "label": "Incentive Stock Options [Member]", "terseLabel": "Incentive Stock Options [Member]" } } }, "localname": "IncentiveStockOptionsMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "cdxs_LaboratoryEquipmentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Laboratory Equipment [Member]", "label": "Laboratory Equipment [Member]", "terseLabel": "Laboratory equipment [Member]" } } }, "localname": "LaboratoryEquipmentMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "cdxs_LeaseRightofUseAssetAmortization": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Lease, Right-of-Use Asset, Amortization", "label": "Lease, Right-of-Use Asset, Amortization", "verboseLabel": "Amortization expense - right-of-use assets - operating and finance leases" } } }, "localname": "LeaseRightofUseAssetAmortization", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "cdxs_LesseeOperatingLeaseLiabilityToBePaidAfterYearFour": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails_1": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "label": "Lessee, Operating Lease, Liability, to be Paid, After Year Four", "terseLabel": "2025 and thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityToBePaidAfterYearFour", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_LesseeOperatingLeaseOptionToExtendNumber": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Lessee, Operating Lease, Option To Extend, Number", "label": "Lessee, Operating Lease, Option To Extend, Number", "terseLabel": "Number of options to extend" } } }, "localname": "LesseeOperatingLeaseOptionToExtendNumber", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "integerItemType" }, "cdxs_LicenseFeeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "License Fee", "label": "License Fee [Member]", "terseLabel": "License Fee [Member]" } } }, "localname": "LicenseFeeMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_March2020Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "March 2020", "label": "March 2020 [Member]", "terseLabel": "March 2020 [Member]" } } }, "localname": "March2020Member", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_MasterCollaborationResearchAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Master Collaboration & Research Agreement", "label": "Master Collaboration & Research Agreement [Member]", "terseLabel": "MCRA [Member]" } } }, "localname": "MasterCollaborationResearchAgreementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "cdxs_MerckMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Merck [Member]", "label": "Merck [Member]", "terseLabel": "Merck [Member]" } } }, "localname": "MerckMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_MilestoneOneMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Milestone One [Member]", "label": "Milestone One [Member]", "terseLabel": "Milestone One [Member]" } } }, "localname": "MilestoneOneMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_MilestonePaymentPerTargetGeneMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Milestone Payment Per Target Gene", "label": "Milestone Payment Per Target Gene [Member]", "terseLabel": "Milestone Payment Per Target Gene [Member]" } } }, "localname": "MilestonePaymentPerTargetGeneMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_MilestoneThreeMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Milestone Three", "label": "Milestone Three [Member]", "terseLabel": "Milestone Three [Member]" } } }, "localname": "MilestoneThreeMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_MilestoneTwoMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Milestone Two [Member]", "label": "Milestone Two [Member]", "terseLabel": "Milestone Two [Member]" } } }, "localname": "MilestoneTwoMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_MolecularAssembliesIncMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Molecular Assemblies, Inc.", "label": "Molecular Assemblies, Inc. [Member]", "terseLabel": "Molecular Assemblies, Inc. [Member]" } } }, "localname": "MolecularAssembliesIncMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "cdxs_NestecLtd.NestleHealthSciencesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Nestec Ltd. (Nestle Health Sciences) [Member]", "label": "Nestec Ltd. (Nestle Health Sciences) [Member]", "terseLabel": "Nestec Ltd. (Nestle Health Sciences) [Member]" } } }, "localname": "NestecLtd.NestleHealthSciencesMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "cdxs_NonStatutoryStockOptionsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Non-Statutory Stock Options [Member]", "label": "Non-Statutory Stock Options [Member]", "terseLabel": "Non-Statutory Stock Options [Member]" } } }, "localname": "NonStatutoryStockOptionsMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "domainItemType" }, "cdxs_NovartisMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Novartis [Member]", "label": "Novartis [Member]", "terseLabel": "Novartis [Member]" } } }, "localname": "NovartisMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_NovelBiotherapeuticsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Novel Biotherapeutics [Member]", "label": "Novel Biotherapeutics [Member]", "terseLabel": "Novel Biotherapeutics [Member]" } } }, "localname": "NovelBiotherapeuticsMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "xbrltype": "domainItemType" }, "cdxs_OfficeEquipmentAndFurnitureMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Office Equipment and Furniture [Member]", "label": "Office Equipment and Furniture [Member]", "terseLabel": "Office equipment and furniture [Member]" } } }, "localname": "OfficeEquipmentAndFurnitureMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "cdxs_PercentofVotingInterestsThresholdtotriggerhigherexerciseprice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percent of Voting Interests Threshold to trigger higher exercise price", "label": "Percent of Voting Interests Threshold to trigger higher exercise price", "terseLabel": "Percent of voting interests" } } }, "localname": "PercentofVotingInterestsThresholdtotriggerhigherexerciseprice", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "cdxs_PerformanceBasedOptionsPBOsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Performance Based Options (PBOs) [Member]", "label": "Performance Based Options (PBOs) [Member]", "verboseLabel": "PBOs [Member]" } } }, "localname": "PerformanceBasedOptionsPBOsMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_PerformanceEnzymesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Performance Enzymes [Member]", "label": "Performance Enzymes [Member]", "terseLabel": "Performance Enzymes [Member]" } } }, "localname": "PerformanceEnzymesMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "xbrltype": "domainItemType" }, "cdxs_PerformanceStockUnitsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Performance Stock Units [Member]", "label": "Performance Stock Units [Member]", "verboseLabel": "PSUs [Member]" } } }, "localname": "PerformanceStockUnitsMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_PortonMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Porton [Member]", "label": "Porton [Member]", "terseLabel": "Porton [Member]" } } }, "localname": "PortonMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_ProductSalesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Product Sales [Member]", "label": "Product Sales [Member]", "terseLabel": "Product Revenue [Member]" } } }, "localname": "ProductSalesMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_RSAsandRSUsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "RSAs and RSUs [Member]", "label": "RSAs and RSUs [Member]", "verboseLabel": "RSUs and RSAs [Member]" } } }, "localname": "RSAsandRSUsMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "cdxs_ResearchAndDevelopmentAgreementTermBonusGoalMetMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Research And Development Agreement Term, Bonus Goal Met", "label": "Research And Development Agreement Term, Bonus Goal Met [Member]", "terseLabel": "Bonus Goal Met [Member]" } } }, "localname": "ResearchAndDevelopmentAgreementTermBonusGoalMetMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "cdxs_ResearchAndDevelopmentAgreementTermFixedConsiderationMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Research And Development Agreement Term, Fixed Consideration", "label": "Research And Development Agreement Term, Fixed Consideration [Member]", "terseLabel": "Fixed Consideration [Member]" } } }, "localname": "ResearchAndDevelopmentAgreementTermFixedConsiderationMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "cdxs_ResearchAndDevelopmentReimbursementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Research and Development Reimbursement", "label": "Research and Development Reimbursement [Member]", "terseLabel": "Research and Development Reimbursement [Member]" } } }, "localname": "ResearchAndDevelopmentReimbursementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_ResearchandDevelopmentAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Research and Development Agreement [Member]", "label": "Research and Development Agreement [Member]", "terseLabel": "Research and Development Agreement [Member]" } } }, "localname": "ResearchandDevelopmentAgreementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_ResearchandDevelopmentRevenueMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Research and Development Revenue [Member]", "label": "Research and Development Revenue [Member]", "terseLabel": "Research and Development Revenue [Member]" } } }, "localname": "ResearchandDevelopmentRevenueMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "cdxs_RevenueRecognitionContingentAnnualReceivableIncrease": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Revenue Recognition, Contingent Annual Receivable Increase", "label": "Revenue Recognition, Contingent Annual Receivable Increase", "terseLabel": "Contingent annual receivable increase" } } }, "localname": "RevenueRecognitionContingentAnnualReceivableIncrease", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_RevenueRecognitionContingentReceivable": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Revenue Recognition, Contingent Receivable", "label": "Revenue Recognition, Contingent Receivable", "terseLabel": "Contingent receivable" } } }, "localname": "RevenueRecognitionContingentReceivable", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_RevenueRecognitionDurationtoPayAfterMilestoneAchievement": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Revenue Recognition, Duration to Pay After Milestone Achievement", "label": "Revenue Recognition, Duration to Pay After Milestone Achievement", "terseLabel": "Duration to pay after milestone achievement (in days)" } } }, "localname": "RevenueRecognitionDurationtoPayAfterMilestoneAchievement", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "durationItemType" }, "cdxs_RevenueRecognitionMilestonePaymentAmount": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Revenue Recognition, Milestone Payment Amount", "label": "Revenue Recognition, Milestone Payment Amount", "terseLabel": "Milestone payment amount" } } }, "localname": "RevenueRecognitionMilestonePaymentAmount", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_RevenueRecognitionMilestoneRevenueNumberofDaysforPayment": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Revenue Recognition, Milestone Revenue, Number of Days for Payment", "label": "Revenue Recognition, Milestone Revenue, Number of Days for Payment", "terseLabel": "Number of days for payment" } } }, "localname": "RevenueRecognitionMilestoneRevenueNumberofDaysforPayment", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails" ], "xbrltype": "durationItemType" }, "cdxs_RevenueRecognitionTargetSalesForSalesMilestone": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Revenue Recognition, Target Sales for Sales Milestone", "label": "Revenue Recognition, Target Sales for Sales Milestone", "terseLabel": "Target sales for milestone" } } }, "localname": "RevenueRecognitionTargetSalesForSalesMilestone", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_RocheMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Roche", "label": "Roche [Member]", "terseLabel": "Roche [Member]" } } }, "localname": "RocheMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_SalesBasedMilestoneMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Sales-Based Milestone [Member]", "label": "Sales-Based Milestone [Member]", "terseLabel": "Sales-Based Milestone [Member]" } } }, "localname": "SalesBasedMilestoneMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_ScheduleOfCashEquivalentsAndMarketableSecuritiesTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of cash equivalents and marketable securities.", "label": "Schedule of Cash Equivalents and Marketable Securities [Table]", "terseLabel": "Schedule of Cash Equivalents and Marketable Securities [Table]" } } }, "localname": "ScheduleOfCashEquivalentsAndMarketableSecuritiesTable", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails" ], "xbrltype": "stringItemType" }, "cdxs_ScheduleOfCommitmentsAndContingenciesTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of commitments and contingencies.", "label": "Schedule of Commitments and Contingencies [Table]", "terseLabel": "Schedule of Commitments and Contingencies [Table]" } } }, "localname": "ScheduleOfCommitmentsAndContingenciesTable", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "cdxs_September2019Member": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "September 2019 [Member]", "label": "September 2019 [Member]", "terseLabel": "September 2019 [Member]" } } }, "localname": "September2019Member", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedInPeriodFairValue": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted In Period, Fair Value", "label": "Share-Based Compensation Arrangement By Share-Based Payment Award, Options, Granted In Period, Fair Value", "terseLabel": "Fair value of options granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedInPeriodFairValue", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "cdxs_ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock Above Minimum Threshold, Percent", "terseLabel": "Purchase price of common stock above minimum threshold" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPurchasePriceOfCommonStockAboveMinimumThresholdPercent", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Estimated Performance Goal Achievement Rate", "terseLabel": "Estimated performance goal achievement rate" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardEstimatedPerformanceGoalAchievementRate", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "percentItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Installments", "terseLabel": "Number of installments" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardNumberofInstallments", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "integerItemType" }, "cdxs_SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Awards, Threshold Level, Number of Shares, Multiplier", "terseLabel": "Performance awards, threshold level, number of shares, multiplier" } } }, "localname": "SharebasedCompensationArrangementbySharebasedPaymentAwardPerformanceAwardsThresholdLevelNumberofSharesMultiplier", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "pureItemType" }, "cdxs_StrategicCollaborationAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Strategic Collaboration Agreement [Member]", "label": "Strategic Collaboration Agreement [Member]", "terseLabel": "Strategic Collaboration Agreement [Member]" } } }, "localname": "StrategicCollaborationAgreementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_SubleaseMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Sublease", "label": "Sublease [Member]", "terseLabel": "Sublease [Member]" } } }, "localname": "SubleaseMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_SupplyAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Supply Agreement [Member]", "label": "Supply Agreement [Member]", "terseLabel": "Supply Agreement [Member]" } } }, "localname": "SupplyAgreementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_TakedaPharmaceuticalCoLtdMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Takeda Pharmaceutical Co. Ltd.", "label": "Takeda Pharmaceutical Co. Ltd. [Member]", "terseLabel": "Takeda [Member]" } } }, "localname": "TakedaPharmaceuticalCoLtdMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "cdxs_TechnologyTransferCollaborationandLicenseAgreementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Technology Transfer, Collaboration and License Agreement [Member]", "label": "Technology Transfer, Collaboration and License Agreement [Member]", "terseLabel": "Technology Transfer, Collaboration and License Agreement [Member]" } } }, "localname": "TechnologyTransferCollaborationandLicenseAgreementMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "cdxs_TermLoanMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Term Loan [Member]", "label": "Term Loan [Member]", "terseLabel": "Term Loan [Member]" } } }, "localname": "TermLoanMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "cdxs_TermOfCollaborativeResearchAndDevelopmentAgreement": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Term of collaborative research and development agreement.", "label": "Term of Collaborative Research and Development Agreement", "verboseLabel": "Term of collaborative research and development agreement" } } }, "localname": "TermOfCollaborativeResearchAndDevelopmentAgreement", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails" ], "xbrltype": "durationItemType" }, "cdxs_TransactionsWithAstraZenecaPLCMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Transactions With AstraZeneca PLC", "label": "Transactions With AstraZeneca PLC [Member]", "terseLabel": "Transactions With AstraZeneca PLC [Member]" } } }, "localname": "TransactionsWithAstraZenecaPLCMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails" ], "xbrltype": "domainItemType" }, "cdxs_UpFrontPaymentMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Up-front Payment", "label": "Up-front Payment [Member]", "terseLabel": "Up-front Payment [Member]" } } }, "localname": "UpFrontPaymentMember", "nsuri": "http://www.codexis.com/20200930", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails" ], "xbrltype": "domainItemType" }, "country_US": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "UNITED STATES", "terseLabel": "United States [Member]" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "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", "terseLabel": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Area code of city", "label": "City Area Code", "terseLabel": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Cover page.", "label": "Cover [Abstract]", "terseLabel": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date", "terseLabel": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "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", "terseLabel": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "This is focus fiscal year of the document report in CCYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus", "terseLabel": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The end date of the period reflected on the cover page if a periodic report. For all other reports and registration statements containing historical data, it is the date up through which that historical data is presented. If there is no historical data in the report, use the filing date. The format of the date is CCYY-MM-DD.", "label": "Document Period End Date", "terseLabel": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r485" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report", "terseLabel": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r486" ], "lang": { "en-US": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report", "terseLabel": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "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", "terseLabel": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One", "terseLabel": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town", "terseLabel": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code", "terseLabel": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province", "terseLabel": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r487" ], "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", "terseLabel": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "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", "terseLabel": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "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", "terseLabel": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r487" ], "lang": { "en-US": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company", "terseLabel": "Entity Emerging Growth" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "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", "terseLabel": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r487" ], "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", "terseLabel": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "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", "terseLabel": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r488" ], "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", "terseLabel": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r487" ], "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", "terseLabel": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r487" ], "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", "terseLabel": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r487" ], "lang": { "en-US": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business", "terseLabel": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r487" ], "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", "terseLabel": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number", "terseLabel": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r483" ], "lang": { "en-US": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security", "terseLabel": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r484" ], "lang": { "en-US": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name", "terseLabel": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol", "terseLabel": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2019-01-31", "presentation": [ "http://www.codexis.com/role/CoverPage" ], "xbrltype": "tradingSymbolItemType" }, "srt_AmericasMember": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Americas [Member]", "terseLabel": "Americas [Member]" } } }, "localname": "AmericasMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_ConsolidationItemsAxis": { "auth_ref": [ "r152", "r171", "r172", "r173", "r174", "r176", "r178", "r182" ], "lang": { "en-US": { "role": { "label": "Consolidation Items [Axis]", "terseLabel": "Consolidation Items [Axis]" } } }, "localname": "ConsolidationItemsAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "srt_ConsolidationItemsDomain": { "auth_ref": [ "r152", "r171", "r172", "r173", "r174", "r176", "r178", "r182" ], "lang": { "en-US": { "role": { "label": "Consolidation Items [Domain]", "terseLabel": "Consolidation Items [Domain]" } } }, "localname": "ConsolidationItemsDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "srt_CounterpartyNameAxis": { "auth_ref": [ "r51", "r92" ], "lang": { "en-US": { "role": { "label": "Counterparty Name [Axis]", "terseLabel": "Counterparty Name [Axis]" } } }, "localname": "CounterpartyNameAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "stringItemType" }, "srt_DirectorMember": { "auth_ref": [ "r191" ], "lang": { "en-US": { "role": { "label": "Director [Member]", "terseLabel": "Director [Member]" } } }, "localname": "DirectorMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails" ], "xbrltype": "domainItemType" }, "srt_EquityMethodInvesteeNameDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Investment, Name [Domain]", "terseLabel": "Investment, Name [Domain]" } } }, "localname": "EquityMethodInvesteeNameDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r189", "r278", "r284", "r452" ], "lang": { "en-US": { "role": { "label": "Customer [Axis]", "terseLabel": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r301", "r303", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r449", "r453" ], "lang": { "en-US": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "srt_MinimumMember": { "auth_ref": [ "r301", "r303", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r449", "r453" ], "lang": { "en-US": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum [Member]" } } }, "localname": "MinimumMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r189", "r278", "r284", "r452" ], "lang": { "en-US": { "role": { "label": "Customer [Domain]", "terseLabel": "Customer [Domain]" } } }, "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "srt_OwnershipAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Ownership [Axis]", "terseLabel": "Ownership [Axis]" } } }, "localname": "OwnershipAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails" ], "xbrltype": "stringItemType" }, "srt_OwnershipDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Ownership [Domain]", "terseLabel": "Ownership [Domain]" } } }, "localname": "OwnershipDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r185", "r278", "r282", "r415", "r448", "r450" ], "lang": { "en-US": { "role": { "label": "Product and Service [Axis]", "terseLabel": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r185", "r278", "r282", "r415", "r448", "r450" ], "lang": { "en-US": { "role": { "label": "Product and Service [Domain]", "terseLabel": "Product and Service [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r291", "r301", "r303", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r449", "r453" ], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Axis]", "terseLabel": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r291", "r301", "r303", "r408", "r409", "r410", "r411", "r412", "r413", "r414", "r449", "r453" ], "lang": { "en-US": { "role": { "label": "Statistical Measurement [Domain]", "terseLabel": "Statistical Measurement [Domain]" } } }, "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "srt_RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis": { "auth_ref": [ "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480" ], "lang": { "en-US": { "role": { "label": "Name of Property [Axis]", "terseLabel": "Name of Property [Axis]" } } }, "localname": "RealEstateAndAccumulatedDepreciationDescriptionOfPropertyAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "srt_RealEstateAndAccumulatedDepreciationNameOfPropertyDomain": { "auth_ref": [ "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480" ], "lang": { "en-US": { "role": { "label": "Name of Property [Domain]", "terseLabel": "Name of Property [Domain]" } } }, "localname": "RealEstateAndAccumulatedDepreciationNameOfPropertyDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "srt_RepurchaseAgreementCounterpartyNameDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Counterparty Name [Domain]", "terseLabel": "Counterparty Name [Domain]" } } }, "localname": "RepurchaseAgreementCounterpartyNameDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioForecastMember": { "auth_ref": [ "r302" ], "lang": { "en-US": { "role": { "label": "Forecast [Member]", "terseLabel": "Forecast [Member]" } } }, "localname": "ScenarioForecastMember", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "srt_ScenarioUnspecifiedDomain": { "auth_ref": [ "r302" ], "lang": { "en-US": { "role": { "label": "Scenario [Domain]", "terseLabel": "Scenario [Domain]" } } }, "localname": "ScenarioUnspecifiedDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "srt_ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis": { "auth_ref": [ "r202" ], "lang": { "en-US": { "role": { "label": "Investment, Name [Axis]", "terseLabel": "Investment, Name [Axis]" } } }, "localname": "ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r186", "r187", "r278", "r283", "r451", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480" ], "lang": { "en-US": { "role": { "label": "Geographical [Domain]", "terseLabel": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r186", "r187", "r278", "r283", "r451", "r470", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481" ], "lang": { "en-US": { "role": { "label": "Geographical [Axis]", "terseLabel": "Geographical [Axis]", "verboseLabel": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "srt_StatementScenarioAxis": { "auth_ref": [ "r246", "r302", "r404" ], "lang": { "en-US": { "role": { "label": "Scenario [Axis]", "terseLabel": "Scenario [Axis]" } } }, "localname": "StatementScenarioAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r191", "r399" ], "lang": { "en-US": { "role": { "label": "Title of Individual [Axis]", "terseLabel": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Title of Individual [Domain]", "terseLabel": "Title of Individual [Domain]" } } }, "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Accounting Policies [Abstract]", "terseLabel": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_AccountsNotesAndLoansReceivableNetCurrent": { "auth_ref": [ "r4", "r18", "r45", "r192", "r193", "r433" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after allowance for credit loss, of accounts and financing receivables, classified as current. Includes, but is not limited to, notes and loan receivable.", "label": "Accounts and Financing Receivable, after Allowance for Credit Loss, Current", "totalLabel": "Total Financial assets, net" } } }, "localname": "AccountsNotesAndLoansReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r34" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "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, Current", "verboseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableGrossCurrent": { "auth_ref": [ "r192", "r193" ], "calculation": { "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, before Allowance for Credit Loss, Current", "terseLabel": "Accounts receivable", "totalLabel": "Total balance" } } }, "localname": "AccountsReceivableGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]", "terseLabel": "Accounts Receivable [Member]" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableRelatedParties": { "auth_ref": [ "r17", "r90", "r397", "r400", "r439" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "For an unclassified balance sheet, amount of receivables arising from transactions with related parties.", "label": "Accounts Receivable, Related Parties", "terseLabel": "Accounts receivable from related parties" } } }, "localname": "AccountsReceivableRelatedParties", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedLiabilitiesCurrent": { "auth_ref": [ "r37" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "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 Liabilities, Current", "totalLabel": "Total", "verboseLabel": "Other accrued liabilities" } } }, "localname": "AccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedProfessionalFeesCurrentAndNoncurrent": { "auth_ref": [ "r428", "r443" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for professional fees, such as for legal and accounting services received.", "label": "Accrued Professional Fees", "terseLabel": "Accrued professional and outside service fees" } } }, "localname": "AccruedProfessionalFeesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r32", "r233" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "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": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedTerseLabel": "Less: accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r19", "r331" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "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. Includes adjustments to additional paid in capital. Some examples of such adjustments include recording the issuance of debt with a beneficial conversion feature and certain tax consequences of equity instruments awarded to employees. Use this element for the aggregate amount of additional paid-in capital associated with common and preferred stock. For additional paid-in capital associated with only common stock, use the element additional paid in capital, common stock. For additional paid-in capital associated with only preferred stock, use the element additional paid in capital, preferred stock.", "label": "Additional Paid in Capital", "verboseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r96", "r97", "r98", "r328", "r329", "r330" ], "lang": { "en-US": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital [Member]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "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": "Share-based Payment Arrangement, Decrease for Tax Withholding Obligation", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards" } } }, "localname": "AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalOther": { "auth_ref": [], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of other increase (decrease) in additional paid in capital (APIC).", "label": "Adjustments to Additional Paid in Capital, Other", "terseLabel": "Short swing profit settlement" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "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": "APIC, Share-based Payment Arrangement, Option, Increase for Cost Recognition", "terseLabel": "Non-employee stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalShareBasedCompensationStockOptionsRequisiteServicePeriodRecognition", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r305", "r308", "r333", "r334" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition", "verboseLabel": "Employee stock-based compensation" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts": { "auth_ref": [ "r257", "r258" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of decrease in additional paid in capital (APIC) resulting from direct costs associated with issuing stock. Includes, but is not limited to, legal and accounting fees and direct costs associated with stock issues under a shelf registration.", "label": "Adjustments to Additional Paid in Capital, Stock Issued, Issuance Costs", "negatedTerseLabel": "Issuance costs" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalStockIssuedIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Adjustments to reconcile net loss to net cash used in operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r308", "r320", "r332" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Share-based Payment Arrangement, Expense", "terseLabel": "Stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock": { "auth_ref": [ "r196", "r216" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of allowance for credit loss on financing receivable.", "label": "Financing Receivable, Allowance for Credit Loss [Table Text Block]", "terseLabel": "Analysis of allowance for credit losses" } } }, "localname": "AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AllowanceForNotesAndLoansReceivableCurrent": { "auth_ref": [ "r24", "r197", "r211" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of allowance for credit loss on financing receivable, classified as current.", "label": "Financing Receivable, Allowance for Credit Loss, Current", "negatedLabel": "Less: allowances", "periodEndLabel": "Ending Balance September 30, 2020", "periodStartLabel": "Beginning Balance January 1, 2020" } } }, "localname": "AllowanceForNotesAndLoansReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r122" ], "lang": { "en-US": { "role": { "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Total shares excluded as anti-dilutive (shares)" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "auth_ref": [ "r122" ], "lang": { "en-US": { "role": { "documentation": "Information by type of antidilutive security.", "label": "Antidilutive Securities [Axis]", "terseLabel": "Antidilutive Securities [Axis]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "auth_ref": [ "r122" ], "lang": { "en-US": { "role": { "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented.", "label": "Antidilutive Securities, Name [Domain]", "terseLabel": "Antidilutive Securities, Name [Domain]" } } }, "localname": "AntidilutiveSecuritiesNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AreaOfRealEstateProperty": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Area of a real estate property.", "label": "Area of Real Estate Property", "terseLabel": "Area of real estate property (square feet)" } } }, "localname": "AreaOfRealEstateProperty", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "areaItemType" }, "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]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative [Domain]" } } }, "localname": "ArrangementsAndNonarrangementTransactionsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "us-gaap_AssetRetirementObligation": { "auth_ref": [ "r238" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The carrying amount of a liability for an asset retirement obligation. An asset retirement obligation is a legal obligation associated with the disposal or retirement of a tangible long-lived asset that results from the acquisition, construction or development, or the normal operations of a long-lived asset, except for certain obligations of lessees.", "label": "Asset Retirement Obligation", "verboseLabel": "Asset retirement obligations" } } }, "localname": "AssetRetirementObligation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetRetirementObligationAccretionExpense": { "auth_ref": [ "r237", "r239" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of accretion expense recognized during the period that is associated with an asset retirement obligation. Accretion expense measures and incorporates changes due to the passage of time into the carrying amount of the liability.", "label": "Asset Retirement Obligation, Accretion Expense", "terseLabel": "Accretion expense related to asset retirement obligation" } } }, "localname": "AssetRetirementObligationAccretionExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Assets": { "auth_ref": [ "r88", "r160", "r173", "r180", "r204", "r356", "r358", "r368", "r425", "r434" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "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": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets [Abstract]", "verboseLabel": "Assets" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r5", "r6", "r50", "r88", "r204", "r356", "r358", "r368" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "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": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Assets, Current [Abstract]", "verboseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r309", "r322" ], "lang": { "en-US": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]", "terseLabel": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "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]", "verboseLabel": "Basis of Presentation and Principles of Consolidation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalExpendituresIncurredButNotYetPaid": { "auth_ref": [ "r81", "r82", "r83" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred.", "label": "Capital Expenditures Incurred but Not yet Paid", "terseLabel": "Purchase of property and equipment recorded in accounts payable and accrued expenses" } } }, "localname": "CapitalExpendituresIncurredButNotYetPaid", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalLeaseObligationsIncurred": { "auth_ref": [ "r81", "r82" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in lease obligation from new lease.", "label": "Lease Obligation Incurred", "terseLabel": "Capital lease obligations incurred" } } }, "localname": "CapitalLeaseObligationsIncurred", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedContractCostNetCurrent": { "auth_ref": [ "r227" ], "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; classified as current.", "label": "Capitalized Contract Cost, Net, Current", "terseLabel": "Contract Costs" } } }, "localname": "CapitalizedContractCostNetCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis": { "auth_ref": [ "r419", "r420", "r421" ], "lang": { "en-US": { "role": { "documentation": "Information by project.", "label": "Project [Axis]", "terseLabel": "Project [Axis]" } } }, "localname": "CapitalizedCostsOfUnprovedPropertiesExcludedFromAmortizationByPropertyOrProjectAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r30", "r79" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "verboseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails", "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of cash and cash equivalent balance.", "label": "Cash and Cash Equivalents [Axis]", "terseLabel": "Cash and Cash Equivalents [Axis]" } } }, "localname": "CashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails", "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "auth_ref": [], "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": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents, fair value", "verboseLabel": "Money market funds" } } }, "localname": "CashAndCashEquivalentsFairValueDisclosure", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsLineItems": { "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": "Cash and Cash Equivalents [Line Items]", "terseLabel": "Cash and Cash Equivalents [Line Items]" } } }, "localname": "CashAndCashEquivalentsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r71", "r79", "r84" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at the end of the period", "periodStartLabel": "Cash, cash equivalents and restricted cash at the beginning of the period", "totalLabel": "Total cash, cash equivalents and restricted cash at the end of the period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r71", "r369" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashMember": { "auth_ref": [ "r9" ], "lang": { "en-US": { "role": { "documentation": "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.", "label": "Cash [Member]", "terseLabel": "Cash [Member]" } } }, "localname": "CashMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r86", "r88", "r115", "r116", "r117", "r119", "r121", "r129", "r130", "r131", "r204", "r368" ], "lang": { "en-US": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock.", "label": "Class of Stock [Domain]", "terseLabel": "Class of Stock [Domain]" } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CollaborativeArrangementDisclosureTextBlock": { "auth_ref": [ "r352", "r353", "r355" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for collaborative arrangements in which the entity is a participant, including a) information about the nature and purpose of such arrangements; b) its rights and obligations thereunder; c) the accounting policy for collaborative arrangements; and d) the income statement classification and amounts attributable to transactions arising from the collaborative arrangement between participants.", "label": "Collaborative Arrangement Disclosure [Text Block]", "terseLabel": "Collaborative Arrangements" } } }, "localname": "CollaborativeArrangementDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangements" ], "xbrltype": "textBlockItemType" }, "us-gaap_CollaborativeArrangementMember": { "auth_ref": [ "r354" ], "lang": { "en-US": { "role": { "documentation": "Contractual arrangement that involves two or more parties that both: (i) actively participate in a joint operating activity and (ii) are exposed to significant risks and rewards that depend on the commercial success of the joint operating activity.", "label": "Collaborative Arrangement [Member]", "terseLabel": "Collaborative Arrangement [Member]" } } }, "localname": "CollaborativeArrangementMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems": { "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": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative [Line Items]" } } }, "localname": "CollaborativeArrangementsAndNoncollaborativeArrangementTransactionsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r41", "r245", "r429", "r442" ], "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", "verboseLabel": "Commitments and Contingencies (Note 11)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]", "terseLabel": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r242", "r243", "r244", "r252" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": { "auth_ref": [ "r42" ], "lang": { "en-US": { "role": { "documentation": "Aggregate number of common shares reserved for future issuance.", "label": "Common Stock, Capital Shares Reserved for Future Issuance", "terseLabel": "Maximum number of shares to be issued upon exercise of stock options" } } }, "localname": "CommonStockCapitalSharesReservedForFutureIssuance", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r96", "r97" ], "lang": { "en-US": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]", "terseLabel": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r16" ], "lang": { "en-US": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "verboseLabel": "Common stock, par value (usd per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r16" ], "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", "terseLabel": "Common stock, shares authorized (shares)" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r16" ], "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", "terseLabel": "Common stock, shares, issued (shares)" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r16", "r257" ], "lang": { "en-US": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding (shares)" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r16" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "verboseLabel": "Common stock, $0.0001 par value per share; 100,000 shares authorized; 59,232 shares and 58,877 shares issued and outstanding at September\u00a030, 2020 and December\u00a031, 2019, respectively" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "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]", "terseLabel": "Computer equipment and software [Member]" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r140", "r141", "r189", "r365", "r366" ], "lang": { "en-US": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage.", "label": "Concentration Risk Benchmark [Domain]", "terseLabel": "Concentration Risk Benchmark [Domain]" } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r140", "r141", "r189", "r365", "r366", "r466" ], "lang": { "en-US": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]", "terseLabel": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r140", "r141", "r189", "r365", "r366", "r466" ], "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]", "terseLabel": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskLineItems": { "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": "Concentration Risk [Line Items]", "terseLabel": "Concentration Risk [Line Items]" } } }, "localname": "ConcentrationRiskLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r140", "r141", "r189", "r365", "r366" ], "lang": { "en-US": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration Risk, Percentage", "terseLabel": "Concentration risk, percentage" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTable": { "auth_ref": [ "r137", "r140", "r141", "r142", "r365", "r367" ], "lang": { "en-US": { "role": { "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Concentration Risk [Table]", "terseLabel": "Concentration Risk [Table]" } } }, "localname": "ConcentrationRiskTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r140", "r141", "r189", "r365", "r366" ], "lang": { "en-US": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration.", "label": "Concentration Risk Type [Domain]", "terseLabel": "Concentration Risk Type [Domain]" } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "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]", "terseLabel": "Construction in progress [Member]" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r266" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]", "terseLabel": "Contract with customer" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetCreditLossExpense": { "auth_ref": [ "r213", "r264", "r277" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Contract with Customer, Asset, Credit Loss Expense (Reversal)", "terseLabel": "Impairment charges related to contract assets" } } }, "localname": "ContractWithCustomerAssetCreditLossExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerAssetGrossCurrent": { "auth_ref": [ "r260", "r262" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, before allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.", "label": "Contract with Customer, Asset, before Allowance for Credit Loss, Current", "terseLabel": "Contract assets" } } }, "localname": "ContractWithCustomerAssetGrossCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r260", "r261", "r279" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract with Customer, Liability", "terseLabel": "Contract with customer, liability", "verboseLabel": "Contract Liabilities: Deferred Revenue" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized": { "auth_ref": [ "r265" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 2.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized arising from contract liability from change in timeframe for performance obligation to be satisfied.", "label": "Contract with Customer, Liability, Change in Timeframe, Performance Obligation Satisfied, Revenue Recognized", "terseLabel": "Performance obligations satisfied" } } }, "localname": "ContractWithCustomerLiabilityChangeInTimeframePerformanceObligationSatisfiedRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice": { "auth_ref": [ "r263" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": 3.0, "parentTag": "us-gaap_ContractWithCustomerLiabilityRevenueRecognized", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in estimate of transaction price which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due. Includes, but is not limited to, change in assessment of whether estimate of variable consideration is constrained.", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Estimate of Transaction Price", "terseLabel": "Changes in the estimated transaction price allocated to performance obligations satisfied in prior periods" } } }, "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInEstimateOfTransactionPrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress": { "auth_ref": [ "r263" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from change in measure of progress which (increases) decreases obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Cumulative Catch-up Adjustment to Revenue, Change in Measure of Progress", "terseLabel": "Cumulative catch-up adjustment to revenue, change in measure of progress" } } }, "localname": "ContractWithCustomerLiabilityCumulativeCatchUpAdjustmentToRevenueChangeInMeasureOfProgress", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r260", "r261", "r279" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.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": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r260", "r261", "r279" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "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 noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "verboseLabel": "Deferred revenue, net of current portion" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r280" ], "calculation": { "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized", "totalLabel": "Total revenues" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/RevenueRecognitionRevenueRecognizedDuringPeriodDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CorporateNonSegmentMember": { "auth_ref": [ "r171", "r172", "r173", "r174", "r176", "r182", "r184" ], "lang": { "en-US": { "role": { "documentation": "Corporate headquarters or functional department that may not earn revenues or may earn revenues that are only incidental to the activities of the entity and is not considered an operating segment.", "label": "Corporate, Non-Segment [Member]", "terseLabel": "Corporate [Member]" } } }, "localname": "CorporateNonSegmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r59", "r415" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of product revenue" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostsAndExpenses": { "auth_ref": [ "r57" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Total costs of sales and operating expenses for the period.", "label": "Costs and Expenses", "totalLabel": "Total costs and operating expenses" } } }, "localname": "CostsAndExpenses", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CreditAvailabilityConcentrationRiskMember": { "auth_ref": [ "r138" ], "lang": { "en-US": { "role": { "documentation": "Reflects the percentage that borrowing or credit line availability under commitments from one or more lenders is to a selected benchmark, such as total debt, segment debt. Risk is the materially adverse effects that funds which may be needed for operations or for a specific purpose will not be available on terms that are acceptable to an entity, if at all.", "label": "Credit Availability Concentration Risk [Member]", "terseLabel": "Credit Availability Concentration Risk [Member]" } } }, "localname": "CreditAvailabilityConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditFacilityAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Axis]", "terseLabel": "Credit Facility [Axis]" } } }, "localname": "CreditFacilityAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CreditFacilityDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing.", "label": "Credit Facility [Domain]", "terseLabel": "Credit Facility [Domain]" } } }, "localname": "CreditFacilityDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CreditLossFinancialInstrumentTextBlock": { "auth_ref": [ "r212", "r218", "r219", "r221", "r222", "r225", "r226" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for credit loss on financial instrument measured at amortized cost basis, net investment in lease, off-balance sheet credit exposure, and available-for-sale debt security.", "label": "Credit Loss, Financial Instrument [Text Block]", "terseLabel": "Allowance for Credit Losses" } } }, "localname": "CreditLossFinancialInstrumentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLosses" ], "xbrltype": "textBlockItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r138", "r189" ], "lang": { "en-US": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer Concentration Risk [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument.", "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on variable rate (percent)" } } }, "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "auth_ref": [ "r39" ], "lang": { "en-US": { "role": { "documentation": "Contractual interest rate for funds borrowed, under the debt agreement.", "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Stated interest rate" } } }, "localname": "DebtInstrumentInterestRateStatedPercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "percentItemType" }, "us-gaap_DemandDepositsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Accounts that may or may not bear interest and that depositor is entitled to withdraw at anytime without prior notice. Checking and negotiable order of withdrawal (NOW) accounts are the most common forms of demand deposits.", "label": "Demand Deposits [Member]", "terseLabel": "Demand Deposits [Member]" } } }, "localname": "DemandDepositsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r77", "r231" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation", "negatedTerseLabel": "Depreciation and amortization", "verboseLabel": "Depreciation" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue [Line Items]" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r278", "r282", "r283", "r284", "r285", "r286", "r287", "r288" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]", "terseLabel": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r278" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Disaggregation of revenue" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r335" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Share-based Payment Arrangement [Text Block]", "terseLabel": "Stock-based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Share-based Payment Arrangement [Abstract]", "terseLabel": "Share-based Payment Arrangement [Abstract]" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_DueFromAffiliateCurrent": { "auth_ref": [ "r44", "r94", "r397", "r399", "r403" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of receivables due from an entity that is affiliated with the reporting entity by means of direct or indirect ownership, due within 1 year (or 1 business cycle).", "label": "Due from Affiliate, Current", "terseLabel": "Due from affiliate" } } }, "localname": "DueFromAffiliateCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EMEAMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Regions of Europe, Middle East and Africa.", "label": "EMEA [Member]", "terseLabel": "EMEA [Member]" } } }, "localname": "EMEAMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Earnings Per Share [Abstract]", "terseLabel": "Earnings Per Share [Abstract]" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r56", "r105", "r106", "r107", "r108", "r109", "r113", "r115", "r119", "r120", "r121", "r125", "r126", "r432", "r445" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Net income (loss) per share, basic (usd per share)" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r56", "r105", "r106", "r107", "r108", "r109", "r115", "r119", "r120", "r121", "r125", "r126", "r432", "r445" ], "lang": { "en-US": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Net income (loss) per share, diluted (usd per share)" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r122", "r123", "r124", "r127" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Net income (loss) per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r37" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "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": "Employee-related Liabilities, Current", "verboseLabel": "Accrued compensation" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r321" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Share-based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "terseLabel": "Compensation not yet recognized, share-based awards other than options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "auth_ref": [ "r321" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cost to be recognized for option under share-based payment arrangement.", "label": "Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "terseLabel": "Compensation not yet recognized, stock options" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [ "r318" ], "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]", "verboseLabel": "Stock Options [Member]" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Equity [Abstract]", "terseLabel": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r96", "r97", "r98", "r101", "r110", "r112", "r128", "r208", "r257", "r258", "r328", "r329", "r330", "r348", "r349", "r370", "r371", "r372", "r373", "r374", "r375", "r456", "r457", "r458" ], "lang": { "en-US": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]", "terseLabel": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "auth_ref": [ "r360", "r361", "r362", "r363" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis.", "label": "Fair Value, Recurring and Nonrecurring [Table]", "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Table]" } } }, "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisTextBlock": { "auth_ref": [ "r360", "r361" ], "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]", "verboseLabel": "Summary of financial instruments measured at fair value on a recurring basis" } } }, "localname": "FairValueAssetsMeasuredOnRecurringBasisTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "auth_ref": [ "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r300", "r361", "r405", "r406", "r407" ], "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]", "terseLabel": "Fair Value Hierarchy and NAV [Axis]" } } }, "localname": "FairValueByFairValueHierarchyLevelAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Fair Value Disclosures [Abstract]", "terseLabel": "Fair Value Disclosures [Abstract]" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_FairValueInputsLevel1Member": { "auth_ref": [ "r292", "r293", "r298", "r300", "r361", "r405" ], "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]", "terseLabel": "Level 1 [Member]" } } }, "localname": "FairValueInputsLevel1Member", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FairValueMeasurementInputsDisclosureTextBlock": { "auth_ref": [ "r364" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure of the fair value measurement of assets and liabilities, which includes financial instruments measured at fair value that are classified in shareholders' equity, which may be measured on a recurring or nonrecurring basis.", "label": "Fair Value Measurement and Measurement Inputs, Recurring and Nonrecurring [Text Block]", "verboseLabel": "Fair Value Measurements" } } }, "localname": "FairValueMeasurementInputsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "auth_ref": [ "r292", "r293", "r294", "r295", "r296", "r297", "r298", "r300", "r405", "r406", "r407" ], "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]", "terseLabel": "Fair Value, Measurements, Fair Value Hierarchy [Domain]" } } }, "localname": "FairValueMeasurementsFairValueHierarchyDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinanceLeaseInterestExpense": { "auth_ref": [ "r378", "r383", "r392" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 2.0, "parentTag": "cdxs_FinanceLeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of interest expense on finance lease liability.", "label": "Finance Lease, Interest Expense", "terseLabel": "Interest on lease obligations" } } }, "localname": "FinanceLeaseInterestExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseInterestPaymentOnLiability": { "auth_ref": [ "r380", "r387" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of interest paid on finance lease liability.", "label": "Finance Lease, Interest Payment on Liability", "terseLabel": "Operating cash flows from finance leases" } } }, "localname": "FinanceLeaseInterestPaymentOnLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityCurrent": { "auth_ref": [ "r377" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.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 finance lease, classified as current.", "label": "Finance Lease, Liability, Current", "terseLabel": "Current portion of lease obligations - Finance leases" } } }, "localname": "FinanceLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r391" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of undiscounted cash flows of finance lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to finance lease liability recognized in statement of financial position.", "label": "Finance Lease, Liability, Fiscal Year Maturity [Table Text Block]", "terseLabel": "Finance lease liability" } } }, "localname": "FinanceLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_FinanceLeasePrincipalPayments": { "auth_ref": [ "r379", "r387" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow for principal payment on finance lease.", "label": "Finance Lease, Principal Payments", "negatedLabel": "Payments of lease obligations - Finance leases", "terseLabel": "Finance Lease, Principal Payments" } } }, "localname": "FinanceLeasePrincipalPayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAsset": { "auth_ref": [ "r376" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, after accumulated amortization, of right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, after Accumulated Amortization", "terseLabel": "Right-of-use assets - Finance leases, net" } } }, "localname": "FinanceLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinanceLeaseRightOfUseAssetAmortization": { "auth_ref": [ "r378", "r383", "r392" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 1.0, "parentTag": "cdxs_FinanceLeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of amortization expense attributable to right-of-use asset from finance lease.", "label": "Finance Lease, Right-of-Use Asset, Amortization", "terseLabel": "Amortization of right-of-use assets" } } }, "localname": "FinanceLeaseRightOfUseAssetAmortization", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Financial Instruments, Financial Assets, Balance Sheet Groupings [Abstract]", "verboseLabel": "Summary of financial instruments measured at fair value on a recurring basis" } } }, "localname": "FinancialInstrumentsFinancialAssetsBalanceSheetGroupingsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossesLineItems": { "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": "Financing Receivable, Allowance for Credit Loss [Line Items]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Line Items]" } } }, "localname": "FinancingReceivableAllowanceForCreditLossesLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossesRecovery": { "auth_ref": [ "r195", "r215", "r223" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase in allowance for credit loss on financing receivable from recovery.", "label": "Financing Receivable, Allowance for Credit Loss, Recovery", "terseLabel": "Recoveries of amounts previously written off" } } }, "localname": "FinancingReceivableAllowanceForCreditLossesRecovery", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossesRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Financing Receivable, Allowance for Credit Loss [Roll Forward]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Roll Forward]" } } }, "localname": "FinancingReceivableAllowanceForCreditLossesRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableAllowanceForCreditLossesWriteOffs": { "auth_ref": [ "r194", "r214", "r223" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of writeoff of financing receivable, charged against allowance for credit loss.", "label": "Financing Receivable, Allowance for Credit Loss, Writeoff", "terseLabel": "Write-offs charged against the allowance" } } }, "localname": "FinancingReceivableAllowanceForCreditLossesWriteOffs", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancingReceivableBeforeAllowanceForCreditLossAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Financing Receivable, before Allowance for Credit Loss [Abstract]", "terseLabel": "Financial assets:" } } }, "localname": "FinancingReceivableBeforeAllowanceForCreditLossAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivableRecordedInvestmentCurrent": { "auth_ref": [ "r199", "r217", "r224" ], "calculation": { "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of financing receivable not past due.", "label": "Financing Receivable, Not Past Due", "terseLabel": "Current" } } }, "localname": "FinancingReceivableRecordedInvestmentCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancingReceivableRecordedInvestmentPastDue": { "auth_ref": [ "r199", "r217", "r224" ], "calculation": { "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsReceivableGrossCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of financing receivable past due.", "label": "Financing Receivable, Past Due", "terseLabel": "Past due" } } }, "localname": "FinancingReceivableRecordedInvestmentPastDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FinancingReceivables30To59DaysPastDueMember": { "auth_ref": [ "r224" ], "lang": { "en-US": { "role": { "documentation": "Financial asset more than 29 days past due but fewer than 60 days past due.", "label": "Financial Asset, 30 to 59 Days Past Due [Member]", "terseLabel": "31-60 Days [Member]" } } }, "localname": "FinancingReceivables30To59DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivables60To89DaysPastDueMember": { "auth_ref": [ "r224" ], "lang": { "en-US": { "role": { "documentation": "Financial asset more than 59 days past due but fewer than 90 days past due.", "label": "Financial Asset, 60 to 89 Days Past Due [Member]", "terseLabel": "61-90 Days [Member]" } } }, "localname": "FinancingReceivables60To89DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesEqualToGreaterThan90DaysPastDueMember": { "auth_ref": [ "r224" ], "lang": { "en-US": { "role": { "documentation": "Financial asset equal to or greater than 90 days past due.", "label": "Financial Asset, Equal to or Greater than 90 Days Past Due [Member]", "terseLabel": "91 Days and Over [Member]" } } }, "localname": "FinancingReceivablesEqualToGreaterThan90DaysPastDueMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueAxis": { "auth_ref": [ "r217", "r224" ], "lang": { "en-US": { "role": { "documentation": "Information by time period financial asset is past due.", "label": "Financial Asset, Period Past Due [Axis]", "terseLabel": "Financial Asset, Period Past Due [Axis]" } } }, "localname": "FinancingReceivablesPeriodPastDueAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FinancingReceivablesPeriodPastDueDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Period in which financial asset is past due. Element name and standard label in Financial Asset, [numeric lower end] to [numeric higher end] [date measure] Past Due [Member] or Financial Asset, Greater Than [low end numeric value] [date measure] Past Due [Member] or Financial Asset, Less Than [high end numeric value] [date measure] Past Due [Member] formats.", "label": "Financial Asset, Period Past Due [Domain]", "terseLabel": "Financial Asset, Period Past Due [Domain]" } } }, "localname": "FinancingReceivablesPeriodPastDueDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r77" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "Gain on disposal of property and equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeographicAreasLongLivedAssetsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Geographic Areas, Long-Lived Assets [Abstract]", "verboseLabel": "Schedule of long-lived assets by geographical area" } } }, "localname": "GeographicAreasLongLivedAssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "stringItemType" }, "us-gaap_Goodwill": { "auth_ref": [ "r228", "r229", "r424" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.", "label": "Goodwill", "terseLabel": "Goodwill", "verboseLabel": "Goodwill" } } }, "localname": "Goodwill", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsGoodwillDetails", "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": { "auth_ref": [ "r85", "r230" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.", "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]", "terseLabel": "Goodwill" } } }, "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_GranteeStatusAxis": { "auth_ref": [ "r304", "r306", "r318" ], "lang": { "en-US": { "role": { "documentation": "Information by status of recipient to whom award is granted.", "label": "Grantee Status [Axis]", "terseLabel": "Grantee Status [Axis]" } } }, "localname": "GranteeStatusAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_GranteeStatusDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Status of recipient to whom award is granted.", "label": "Grantee Status [Domain]", "terseLabel": "Grantee Status [Domain]" } } }, "localname": "GranteeStatusDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments": { "auth_ref": [ "r93", "r160", "r172", "r176", "r179", "r182" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (loss) from continuing operations before deduction of income tax expense (benefit) and income (loss) attributable to noncontrolling interest, and addition of income (loss) from equity method investments.", "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest", "totalLabel": "Income (loss) before income taxes", "verboseLabel": "Income (loss) before income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Income Statement [Abstract]", "terseLabel": "Income Statement [Abstract]" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r235" ], "lang": { "en-US": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]", "terseLabel": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]", "terseLabel": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r89", "r111", "r112", "r158", "r341", "r350", "r351", "r447" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "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)", "verboseLabel": "Provision for (benefit from) income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxPolicyTextBlock": { "auth_ref": [ "r54", "r85", "r339", "r340", "r342", "r343", "r344", "r345", "r472" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.", "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxesPaid": { "auth_ref": [ "r74", "r80" ], "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": "Income Taxes Paid", "terseLabel": "Income taxes paid" } } }, "localname": "IncomeTaxesPaid", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 15.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": "Increase (Decrease) in Accounts Payable", "verboseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time.", "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets" } } }, "localname": "IncreaseDecreaseInContractWithCustomerAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "verboseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 6.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": "Increase (Decrease) in Employee Related Liabilities", "verboseLabel": "Accrued compensation" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInFinanceReceivables": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in outstanding loans including accrued interest.", "label": "Increase (Decrease) in Finance Receivables", "negatedLabel": "Unbilled receivables" } } }, "localname": "IncreaseDecreaseInFinanceReceivables", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventories" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "verboseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherAccruedLiabilities": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "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 other expenses incurred but not yet paid.", "label": "Increase (Decrease) in Other Accrued Liabilities", "verboseLabel": "Other accrued liabilities" } } }, "localname": "IncreaseDecreaseInOtherAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other.", "label": "Increase (Decrease) in Other Noncurrent Liabilities", "terseLabel": "Other long-term liabilities" } } }, "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedTerseLabel": "Other non-current assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IndemnificationGuaranteeMember": { "auth_ref": [ "r253", "r256" ], "lang": { "en-US": { "role": { "documentation": "An agreement (contract) that contingently requires the guarantor to make payments to the guaranteed party in compensation for that party's or parties' loss or injury attributable to specified events or actions, such as a patent infringement action against an entity that relied on certain representations as to ownership rights made by a software vendor.", "label": "Indemnification Agreement [Member]", "terseLabel": "Indemnification Agreement [Member]" } } }, "localname": "IndemnificationGuaranteeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r70", "r73", "r80" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Interest paid" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r46" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.", "label": "Inventory, Finished Goods, Gross", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoods", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r3", "r49" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "totalLabel": "Inventories", "verboseLabel": "Inventories" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNetAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Inventory, Net [Abstract]", "verboseLabel": "Schedule of Inventory Components" } } }, "localname": "InventoryNetAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r48" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Raw Materials, Gross", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r47" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.", "label": "Inventory, Work in Process, Gross", "terseLabel": "Work-in-process" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsInventoriesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentIncomeInterest": { "auth_ref": [ "r61", "r153" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount before accretion (amortization) of purchase discount (premium) of interest income on nonoperating securities.", "label": "Investment Income, Interest", "verboseLabel": "Interest income" } } }, "localname": "InvestmentIncomeInterest", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_InvestmentOwnedBalanceShares": { "auth_ref": [ "r467", "r469" ], "lang": { "en-US": { "role": { "documentation": "Balance held at close of period in number of shares.", "label": "Investment Owned, Balance, Shares", "terseLabel": "Number of shares purchased" } } }, "localname": "InvestmentOwnedBalanceShares", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_InvestmentPolicyTextBlock": { "auth_ref": [ "r203", "r446" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for investment in financial asset.", "label": "Investment, Policy [Policy Text Block]", "terseLabel": "Investment in Equity Securities" } } }, "localname": "InvestmentPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_InvestmentsAndOtherNoncurrentAssets": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of investments, and noncurrent assets classified as other.", "label": "Investments and Other Noncurrent Assets", "terseLabel": "Investment at cost basis", "verboseLabel": "Investment in Equity Securities" } } }, "localname": "InvestmentsAndOtherNoncurrentAssets", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCost": { "auth_ref": [ "r390", "r392" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lease cost recognized by lessee for lease contract.", "label": "Lease, Cost", "totalLabel": "Total lease cost" } } }, "localname": "LeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LeaseCostAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Lease, Cost [Abstract]", "terseLabel": "Finance lease costs:" } } }, "localname": "LeaseCostAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r390" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Lease cost" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r232" ], "lang": { "en-US": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements [Member]" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LesseeFinanceLeaseTermOfContract1": { "auth_ref": [ "r382" ], "lang": { "en-US": { "role": { "documentation": "Term of lessee's finance lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Finance Lease, Term of Contract", "terseLabel": "Term of contract" } } }, "localname": "LesseeFinanceLeaseTermOfContract1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r391" ], "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]", "verboseLabel": "Operating lease maturity" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r391" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails_1": { "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": "Lessee, Operating Lease, Liability, to be Paid", "totalLabel": "Total minimum lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r391" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails_1": { "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 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": "Lessee, Operating Lease, Liability, to be Paid, Year One", "terseLabel": "2021" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r391" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails_1": { "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 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": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r391" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails_1": { "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 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": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "terseLabel": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r391" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails_1": { "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 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": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "terseLabel": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r391" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails_1": { "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": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "2020 (remaining 3 months)" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r391" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedTerseLabel": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "auth_ref": [ "r382" ], "lang": { "en-US": { "role": { "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Renewal term" } } }, "localname": "LesseeOperatingLeaseRenewalTerm", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "durationItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r36", "r88", "r174", "r204", "r357", "r358", "r359", "r368" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.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": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r23", "r88", "r204", "r368", "r427", "r438" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities and Equity [Abstract]", "verboseLabel": "Liabilities and Stockholders' Equity" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r38", "r88", "r204", "r357", "r358", "r359", "r368" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Liabilities, Current [Abstract]", "verboseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "auth_ref": [ "r35" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "Borrowing capacity" } } }, "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingenciesByNatureOfContingencyAxis": { "auth_ref": [ "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r254", "r255" ], "lang": { "en-US": { "role": { "documentation": "Information by type of existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur.", "label": "Loss Contingency Nature [Axis]", "terseLabel": "Loss Contingency Nature [Axis]" } } }, "localname": "LossContingenciesByNatureOfContingencyAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LossContingencyAccrualCarryingValueCurrent": { "auth_ref": [ "r245" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of loss contingency liability expected to be resolved within one year or the normal operating cycle, if longer.", "label": "Loss Contingency, Accrual, Current", "terseLabel": "Loss contingency accrual" } } }, "localname": "LossContingencyAccrualCarryingValueCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LossContingencyNatureDomain": { "auth_ref": [ "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r254", "r255" ], "lang": { "en-US": { "role": { "documentation": "An existing condition, situation, or set of circumstances involving uncertainty as to possible loss to an enterprise that will ultimately be resolved when one or more future events occur or fail to occur. Resolution of the uncertainty may confirm the incurrence of a loss or impairment of an asset or the incurrence of a liability.", "label": "Loss Contingency, Nature [Domain]", "terseLabel": "Loss Contingency, Nature [Domain]" } } }, "localname": "LossContingencyNatureDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_MinorityInterestOwnershipPercentageByParent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The parent entity's interest in net assets of the subsidiary, expressed as a percentage.", "label": "Noncontrolling Interest, Ownership Percentage by Parent", "terseLabel": "Ownership percentage" } } }, "localname": "MinorityInterestOwnershipPercentageByParent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails" ], "xbrltype": "percentItemType" }, "us-gaap_MoneyMarketFundsMember": { "auth_ref": [ "r292" ], "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]", "terseLabel": "Money Market Funds [Member]" } } }, "localname": "MoneyMarketFundsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails", "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NatureOfOperations": { "auth_ref": [ "r132", "r146" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward.", "label": "Nature of Operations [Text Block]", "verboseLabel": "Description of Business" } } }, "localname": "NatureOfOperations", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusiness" ], "xbrltype": "textBlockItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r71" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash provided by (used in) financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]", "verboseLabel": "Financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r71" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]", "verboseLabel": "Investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r71", "r75", "r78" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash used in operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]", "verboseLabel": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r52", "r53", "r55", "r78", "r88", "r100", "r105", "r106", "r107", "r108", "r111", "r112", "r118", "r160", "r172", "r176", "r179", "r182", "r204", "r368", "r431", "r444" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "netLabel": "Net income (loss)", "terseLabel": "Net loss", "totalLabel": "Net income (loss)", "verboseLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity", "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems": { "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": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]", "terseLabel": "New Accounting Pronouncements or Change in Accounting Principle [Line Items]" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_NewAccountingPronouncementsOrChangeInAccountingPrincipleTable": { "auth_ref": [ "r99", "r100", "r101", "r102", "r103", "r104", "r107", "r125", "r205", "r206", "r207", "r208", "r209", "r210", "r324", "r325", "r326", "r327", "r328", "r329", "r330", "r331", "r346", "r347", "r348", "r349", "r416", "r417", "r418", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r461", "r462", "r463", "r464", "r465" ], "lang": { "en-US": { "role": { "documentation": "Summarization of the changes in an accounting principle or a new accounting pronouncement, including the line items affected by the change and the financial effects of the change on those particular line items.", "label": "Accounting Standards Update and Change in Accounting Principle [Table]", "terseLabel": "New Accounting Pronouncements or Change in Accounting Principle [Table]" } } }, "localname": "NewAccountingPronouncementsOrChangeInAccountingPrincipleTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails" ], "xbrltype": "stringItemType" }, "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]", "verboseLabel": "Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonmonetaryTransactionGrossOperatingRevenueRecognized": { "auth_ref": [ "r393" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The amount of gross operating revenue recognized in a nonmonetary transaction.", "label": "Nonmonetary Transaction, Gross Operating Revenue Recognized", "terseLabel": "Research and development revenue from transactions with MAI" } } }, "localname": "NonmonetaryTransactionGrossOperatingRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesReceivableGross": { "auth_ref": [ "r220", "r223", "r224" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AccountsNotesAndLoansReceivableNetCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount, before allowance for credit loss, of financing receivable.", "label": "Financing Receivable, before Allowance for Credit Loss", "totalLabel": "Total Financial assets" } } }, "localname": "NotesReceivableGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfOperatingSegments": { "auth_ref": [ "r148" ], "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": "Number of Operating Segments", "terseLabel": "Number of operating segments" } } }, "localname": "NumberOfOperatingSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfPropertiesSubjectToGroundLeases": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of separate real estate development properties located on land subject to ground leases.", "label": "Number of Properties Subject to Ground Leases", "terseLabel": "Number of buildings leased" } } }, "localname": "NumberOfPropertiesSubjectToGroundLeases", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r148" ], "lang": { "en-US": { "role": { "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements.", "label": "Number of Reportable Segments", "terseLabel": "Number of reportable segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTextualDetails" ], "xbrltype": "integerItemType" }, "us-gaap_NumberOfReportingUnits": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of reporting units tested for impairment of goodwill. A reporting unit is an operating segment or one level below an operating segment.", "label": "Number of Reporting Units", "terseLabel": "Number of reporting units" } } }, "localname": "NumberOfReportingUnits", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingCostsAndExpensesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Operating Costs and Expenses [Abstract]", "verboseLabel": "Costs and operating expenses:" } } }, "localname": "OperatingCostsAndExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r160", "r172", "r176", "r179", "r182" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Income (loss) from operations", "verboseLabel": "Income (loss) from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r384", "r392" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 1.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.", "label": "Operating Lease, Cost", "terseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r377" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "terseLabel": "Lease Obligations" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r377" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "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, Liability, Current", "terseLabel": "Current portion of lease obligations - Operating leases" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r377" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Long-term lease obligations - Operating leases" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r381", "r387" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "terseLabel": "Operating cash flows from operating leases" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesCashPaidforLeaseObligationsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r376" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Right-of-use assets - Operating leases, net" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "auth_ref": [ "r389", "r392" ], "lang": { "en-US": { "role": { "documentation": "Weighted average discount rate for operating lease calculated at point in time.", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "verboseLabel": "Weighted-average discount rate" } } }, "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "xbrltype": "percentItemType" }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "auth_ref": [ "r388", "r392" ], "lang": { "en-US": { "role": { "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted-average remaining lease term (in years)" } } }, "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherLeaseInformationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_OperatingLeasesFutureMinimumPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Operating Leases, Future Minimum Payments Due, Fiscal Year Maturity [Abstract]", "terseLabel": "Operating Leases" } } }, "localname": "OperatingLeasesFutureMinimumPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesFutureMinimumLeasePaymentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingSegmentsMember": { "auth_ref": [ "r171", "r172", "r173", "r174", "r176", "r182" ], "lang": { "en-US": { "role": { "documentation": "Identifies components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Operating Segments [Member]", "terseLabel": "Operating Segments [Member]" } } }, "localname": "OperatingSegmentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]", "terseLabel": "Organization, Consolidation and Presentation of Financial Statements [Abstract]" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_OtherAccruedLiabilitiesCurrentAndNoncurrent": { "auth_ref": [ "r428", "r443" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of expenses incurred but not yet paid classified as other.", "label": "Other Accrued Liabilities", "terseLabel": "Other" } } }, "localname": "OtherAccruedLiabilitiesCurrentAndNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r33" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 8.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "verboseLabel": "Other non-current assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherCommitmentsLineItems": { "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": "Other Commitments [Line Items]", "terseLabel": "Other Commitments [Line Items]" } } }, "localname": "OtherCommitmentsLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherCommitmentsTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about obligations resulting from other commitments.", "label": "Other Commitments [Table]", "terseLabel": "Other Commitments [Table]" } } }, "localname": "OtherCommitmentsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r40" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Noncurrent", "verboseLabel": "Other long-term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpense": { "auth_ref": [ "r62" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of income (expense) related to nonoperating activities, classified as other.", "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other expenses, net" } } }, "localname": "OtherNonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_PastDueFinancingReceivablesTableTextBlock": { "auth_ref": [ "r198", "r199", "r217", "r224" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of aging analysis for financing receivable.", "label": "Financing Receivable, Past Due [Table Text Block]", "terseLabel": "Summary of accounts receivable by aging" } } }, "localname": "PastDueFinancingReceivablesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PaymentsOfStockIssuanceCosts": { "auth_ref": [ "r69" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow for cost incurred directly with the issuance of an equity security.", "label": "Payments of Stock Issuance Costs", "negatedLabel": "Costs incurred in connection with private placement", "verboseLabel": "Issuance costs" } } }, "localname": "PaymentsOfStockIssuanceCosts", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquityParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r68" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 6.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": "Payment, Tax Withholding, Share-based Payment Arrangement", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireOtherInvestments": { "auth_ref": [ "r66" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of cash outflow to acquire investments classified as other.", "label": "Payments to Acquire Other Investments", "negatedLabel": "Investment in equity securities", "terseLabel": "Payments to acquire other investments" } } }, "localname": "PaymentsToAcquireOtherInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r65" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PerformanceSharesMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Share-based payment arrangement awarded for meeting performance target.", "label": "Performance Shares [Member]", "terseLabel": "Performance Shares [Member]" } } }, "localname": "PerformanceSharesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r309", "r322" ], "lang": { "en-US": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]", "terseLabel": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Plan name for share-based payment arrangement.", "label": "Plan Name [Domain]", "terseLabel": "Plan Name [Domain]" } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r15" ], "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 or Stated Value Per Share", "terseLabel": "Preferred stock, par value (usd per share)" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r15" ], "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", "terseLabel": "Preferred stock, shares authorized (shares)" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r15" ], "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", "terseLabel": "Preferred stock, shares issued (shares)" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r15" ], "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", "terseLabel": "Preferred stock, shares outstanding (shares)" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r15" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable 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, Value, Issued", "terseLabel": "Preferred stock, $0.0001 par value per share; 5,000 shares authorized, none issued and outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r5", "r28", "r29" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 5.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 Expense and Other Assets, Current", "verboseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrivatePlacementMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "A private placement is a direct offering of securities to a limited number of sophisticated investors such as insurance companies, pension funds, mezzanine funds, stock funds and trusts.", "label": "Private Placement [Member]", "terseLabel": "Private Offering [Member]" } } }, "localname": "PrivatePlacementMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProceedsFromCollaborators": { "auth_ref": [ "r72" ], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Cash received from collaborators during the current period.", "label": "Proceeds from Collaborators", "terseLabel": "One-time, non-refundable cash payment" } } }, "localname": "ProceedsFromCollaborators", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromIssuanceInitialPublicOffering": { "auth_ref": [ "r67" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the amount received from entity's first offering of stock to the public.", "label": "Proceeds from Issuance Initial Public Offering", "terseLabel": "Proceeds from issuance of common stock in connection with private placement" } } }, "localname": "ProceedsFromIssuanceInitialPublicOffering", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromOtherEquity": { "auth_ref": [ "r67" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from the issuance of equity classified as other.", "label": "Proceeds from Other Equity", "terseLabel": "Recovery of short swing profit" } } }, "localname": "ProceedsFromOtherEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": { "auth_ref": [ "r64" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.", "label": "Proceeds from Sale, Maturity and Collection of Investments", "terseLabel": "Proceeds from the sale of investment securities" } } }, "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "auth_ref": [ "r63" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.", "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from disposal of property and equipment" } } }, "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r67", "r323" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercises of stock options", "verboseLabel": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockExerciseofOptionsDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProjectMember": { "auth_ref": [ "r422" ], "lang": { "en-US": { "role": { "documentation": "Planned program of work.", "label": "Project [Domain]", "terseLabel": "Project [Domain]" } } }, "localname": "ProjectMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r32", "r234" ], "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]", "terseLabel": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r31", "r232" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "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, Plant and Equipment, Gross", "terseLabel": "Property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property, Plant and Equipment [Line Items]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r10", "r11", "r234", "r440" ], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Long-lived assets", "totalLabel": "Property and equipment, net", "verboseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails", "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r10", "r234" ], "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]", "terseLabel": "Schedule of property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r10", "r232" ], "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]", "terseLabel": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProvisionForLoanLossesExpensed": { "auth_ref": [ "r213", "r430" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of credit loss expense (reversal of expense) for financing receivable.", "label": "Financing Receivable, Credit Loss, Expense (Reversal)", "terseLabel": "Allowance for credit losses", "verboseLabel": "Current period provision" } } }, "localname": "ProvisionForLoanLossesExpensed", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesAnalysisofAllowanceforCreditLossesDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PurchaseObligation": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.", "label": "Purchase Obligation", "terseLabel": "Accrued purchases" } } }, "localname": "PurchaseObligation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsOtherAccruedLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReceivablesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Receivables [Abstract]" } } }, "localname": "ReceivablesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy": { "auth_ref": [ "r24", "r85", "r200" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for determining the allowance for doubtful accounts for trade and other accounts receivable balances, and when impairments, charge-offs or recoveries are recognized.", "label": "Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]", "terseLabel": "Financing assets and Allowances" } } }, "localname": "ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock": { "auth_ref": [ "r171", "r176" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of all significant reconciling items in the reconciliation of total revenues from reportable segments to the entity's consolidated revenues.", "label": "Reconciliation of Revenue from Segments to Consolidated [Table Text Block]", "verboseLabel": "Schedule of revenues by geographical area" } } }, "localname": "ReconciliationOfRevenueFromSegmentsToConsolidatedTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RelatedPartyTransactionAxis": { "auth_ref": [ "r299", "r396", "r397", "r400" ], "lang": { "en-US": { "role": { "documentation": "Information by type of related party transaction.", "label": "Related Party Transaction [Axis]", "terseLabel": "Related Party Transaction [Axis]" } } }, "localname": "RelatedPartyTransactionAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionDomain": { "auth_ref": [ "r299" ], "lang": { "en-US": { "role": { "documentation": "Transaction between related party.", "label": "Related Party Transaction [Domain]", "terseLabel": "Related Party Transaction [Domain]" } } }, "localname": "RelatedPartyTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Related Party Transaction [Line Items]", "terseLabel": "Related Party Transaction [Line Items]" } } }, "localname": "RelatedPartyTransactionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "localname": "RelatedPartyTransactionsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r394", "r395", "r397", "r401", "r402" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.", "label": "Related Party Transactions Disclosure [Text Block]", "terseLabel": "Related Party" } } }, "localname": "RelatedPartyTransactionsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedParty" ], "xbrltype": "textBlockItemType" }, "us-gaap_ResearchAndDevelopmentAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Research and Development [Abstract]", "terseLabel": "Research and Development [Abstract]" } } }, "localname": "ResearchAndDevelopmentAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis": { "auth_ref": [ "r337", "r338" ], "lang": { "en-US": { "role": { "documentation": "Information by form of arrangement related to research and development.", "label": "Research and Development Arrangement, Contract to Perform for Others, Type [Axis]", "terseLabel": "Research and Development Arrangement, Contract to Perform for Others, Type [Axis]" } } }, "localname": "ResearchAndDevelopmentArrangementContractToPerformForOthersByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain": { "auth_ref": [ "r337", "r338" ], "lang": { "en-US": { "role": { "documentation": "Listing of significant agreements under research and development arrangements accounted for as a contract to perform research and development for others.", "label": "Research and Development Arrangement, Contract to Perform for Others, Type [Domain]", "terseLabel": "Research and Development Arrangement, Contract to Perform for Others, Type [Domain]" } } }, "localname": "ResearchAndDevelopmentArrangementContractToPerformForOthersTypeDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r336", "r482" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 3.0, "parentTag": "us-gaap_CostsAndExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "verboseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "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]", "verboseLabel": "Research and Development [Member]" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCash": { "auth_ref": [ "r84", "r423", "r436" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "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": "Restricted Cash", "terseLabel": "Restricted cash, current" } } }, "localname": "RestrictedCash", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalents": { "auth_ref": [ "r9", "r79", "r84", "r423", "r436" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents", "terseLabel": "Restricted cash, current and non-current" } } }, "localname": "RestrictedCashAndCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis": { "auth_ref": [ "r30" ], "lang": { "en-US": { "role": { "documentation": "Information by category of cash or cash equivalent items which are restricted as to withdrawal or usage.", "label": "Restricted Cash and Cash Equivalents [Axis]", "terseLabel": "Restricted Cash and Cash Equivalents [Axis]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Type of cash and cash equivalent. Cash is 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": "Cash and Cash Equivalents [Domain]", "terseLabel": "Cash and Cash Equivalents [Domain]" } } }, "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesComponentsofCashEquivalentsDetails", "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails", "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails", "http://www.codexis.com/role/FairValueMeasurementsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedCashAndCashEquivalentsNoncurrent": { "auth_ref": [ "r7", "r12", "r79", "r84", "r471" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of cash and cash equivalents restricted as to withdrawal or usage, classified as noncurrent. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Restricted Cash and Cash Equivalents, Noncurrent", "terseLabel": "Restricted cash" } } }, "localname": "RestrictedCashAndCashEquivalentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RestrictedCashAndInvestmentsNoncurrent": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "The noncurrent cash, cash equivalents and investments that is restricted as to withdrawal or usage. Restrictions may include legally restricted deposits held as compensating balances against borrowing arrangements, contracts entered into with others, or entity statements of intention with regard to particular deposits classified as long-term; that is not expected to be released from such existing restrictions within one year of the balance sheet date or operating cycle, whichever is longer. Excludes compensating balance arrangements that are not agreements which legally restrict the use of cash amounts shown on the balance sheet. Includes noncurrent cash equivalents and investments that are similarly restricted as to withdrawal, usage or disposal.", "label": "Restricted Cash and Investments, Noncurrent", "terseLabel": "Non-current restricted cash" } } }, "localname": "RestrictedCashAndInvestmentsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "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]", "terseLabel": "RSUs [Member]" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r20", "r258", "r331", "r437", "r460", "r465" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "verboseLabel": "Accumulated deficit" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r96", "r97", "r98", "r101", "r110", "r112", "r208", "r328", "r329", "r330", "r348", "r349", "r456", "r458" ], "lang": { "en-US": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Accumulated Deficit [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenue from Contract with Customer [Abstract]", "terseLabel": "Revenue from Contract with Customer [Abstract]" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r151", "r152", "r171", "r177", "r178", "r185", "r186", "r189", "r276", "r278", "r415" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenues", "verboseLabel": "Total revenues" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r266", "r267", "r268", "r269", "r270", "r271", "r274", "r275", "r281", "r290" ], "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": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenueFromRelatedParties": { "auth_ref": [ "r58", "r468" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of revenue, fees and commissions earned from transactions between (a) a parent company and its subsidiaries; (b) subsidiaries of a common parent; (c) an entity and trusts for the benefit of employees, for example, but not limited to, pension and profit-sharing trusts that are managed by or under the trusteeship of the entity's management; (d) an entity and its principal, owners, management, or members of their immediate families; and (e) affiliates.", "label": "Revenue from Related Parties", "terseLabel": "Revenue from related parties" } } }, "localname": "RevenueFromRelatedParties", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]", "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Line Items]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueInitialApplicationPeriodCumulativeEffectTransitionTable": { "auth_ref": [ "r289" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information when using transition method for cumulative effect in initial period of application for revenue from contract with customer.", "label": "Revenue, Initial Application Period Cumulative Effect Transition [Table]", "terseLabel": "Revenue, Initial Application Period Cumulative Effect Transition [Table]" } } }, "localname": "RevenueInitialApplicationPeriodCumulativeEffectTransitionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligation": { "auth_ref": [ "r272" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue.", "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Performance obligation" } } }, "localname": "RevenueRemainingPerformanceObligation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "auth_ref": [ "r273" ], "lang": { "en-US": { "role": { "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Expected timing of satisfaction, period" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "durationItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "auth_ref": [ "r273" ], "lang": { "en-US": { "role": { "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in CCYY-MM-DD format.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails", "http://www.codexis.com/role/RevenueRecognitionPerformanceObligationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsPerformancePeriodDetails", "http://www.codexis.com/role/RelatedPartyPerformancePeriodDetails" ], "xbrltype": "stringItemType" }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock": { "auth_ref": [ "r273" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of expected timing for satisfying remaining performance obligation.", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table Text Block]", "terseLabel": "Performance obligation, expected timing of satisfaction" } } }, "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Revenues [Abstract]", "verboseLabel": "Revenues:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations" ], "xbrltype": "stringItemType" }, "us-gaap_RevolvingCreditFacilityMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount.", "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving Credit Facility [Member]" } } }, "localname": "RevolvingCreditFacilityMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTextualDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RoyaltyMember": { "auth_ref": [ "r282" ], "lang": { "en-US": { "role": { "documentation": "Money for usage-based right to asset.", "label": "Royalty [Member]", "terseLabel": "Royalty [Member]" } } }, "localname": "RoyaltyMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": { "auth_ref": [], "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Cash received on stock transaction after deduction of issuance costs.", "label": "Sale of Stock, Consideration Received on Transaction", "terseLabel": "Net proceeds received" } } }, "localname": "SaleOfStockConsiderationReceivedOnTransaction", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement.", "label": "Sale of Stock [Domain]", "terseLabel": "Sale of Stock [Domain]" } } }, "localname": "SaleOfStockNameOfTransactionDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SaleOfStockNumberOfSharesIssuedInTransaction": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "The number of shares issued or sold by the subsidiary or equity method investee per stock transaction.", "label": "Sale of Stock, Number of Shares Issued in Transaction", "terseLabel": "Number of shares issued and sold" } } }, "localname": "SaleOfStockNumberOfSharesIssuedInTransaction", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_SaleOfStockPricePerShare": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Per share amount received by subsidiary or equity investee for each share of common stock issued or sold in the stock transaction.", "label": "Sale of Stock, Price Per Share", "terseLabel": "Purchase price (usd per share)" } } }, "localname": "SaleOfStockPricePerShare", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SalesRevenueProductLineMember": { "auth_ref": [ "r139" ], "lang": { "en-US": { "role": { "documentation": "Revenue from specified product or service, when it serves as benchmark in concentration of risk calculation. Includes, but is not limited to, revenue from contract with customer and other sources.", "label": "Revenue, Product and Service Benchmark [Member]", "terseLabel": "Revenue, Product and Service Benchmark [Member]" } } }, "localname": "SalesRevenueProductLineMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationConcentrationRiskDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Schedule of other accrued liabilities" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "auth_ref": [ "r122" ], "lang": { "en-US": { "role": { "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r122" ], "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]", "verboseLabel": "Securities not included in the net loss per common share calculations" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCashAndCashEquivalentsTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Schedule of cash and cash equivalent balances. This table excludes restricted cash balances.", "label": "Schedule of Cash and Cash Equivalents [Table]", "terseLabel": "Schedule of Cash and Cash Equivalents [Table]" } } }, "localname": "ScheduleOfCashAndCashEquivalentsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTextualDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the components of cash, cash equivalents, and investments.", "label": "Cash, Cash Equivalents and Investments [Table Text Block]", "terseLabel": "Schedule of cash equivalents" } } }, "localname": "ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CashEquivalentsandEquitySecuritiesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable": { "auth_ref": [ "r354" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about collaborative arrangement and arrangement other than collaborative applicable to revenue-generating activity or operations.", "label": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative [Table]" } } }, "localname": "ScheduleOfCollaborativeArrangementsAndNoncollaborativeArrangementTransactionsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGSKPlatformTechnologyTransferCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsStrategicCollaborationandLicenseAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r121" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of earnings (loss) per share, basic and diluted" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r308", "r319", "r332" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements.", "label": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r308", "r319", "r332" ], "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]", "verboseLabel": "Schedule of stock-based compensation expense" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock": { "auth_ref": [ "r187" ], "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]", "verboseLabel": "Schedule of long-lived assets by geographical area" } } }, "localname": "ScheduleOfEntityWideDisclosureOnGeographicAreasLongLivedAssetsInIndividualForeignCountriesByCountryTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFinancingReceivableAllowanceForCreditLossesTable": { "auth_ref": [ "r216" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about allowance for credit loss on financing receivable.", "label": "Financing Receivable, Allowance for Credit Loss [Table]", "terseLabel": "Financing Receivable, Allowance for Credit Loss [Table]" } } }, "localname": "ScheduleOfFinancingReceivableAllowanceForCreditLossesTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/AllowanceforCreditLossesSummaryofFinanceReceivablesbyAgingCategoryDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": { "auth_ref": [ "r230" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.", "label": "Schedule of Intangible Assets and Goodwill [Table Text Block]", "terseLabel": "Schedule of intangible assets and goodwill" } } }, "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r8", "r25", "r26", "r27" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "verboseLabel": "Schedule of inventory components" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r32", "r234" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]", "terseLabel": "Schedule of Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BalanceSheetsDetailsPropertyandEquipmentnetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "auth_ref": [ "r91", "r398", "r400" ], "lang": { "en-US": { "role": { "documentation": "Schedule of quantitative and qualitative information pertaining to related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.", "label": "Schedule of Related Party Transactions, by Related Party [Table]", "terseLabel": "Schedule of Related Party Transactions, by Related Party [Table]" } } }, "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/RelatedPartyAstraZenecaPLCDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "auth_ref": [ "r160", "r163", "r175", "r230" ], "lang": { "en-US": { "role": { "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table]", "terseLabel": "Schedule of Segment Reporting Information, by Segment [Table]" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "auth_ref": [ "r160", "r163", "r175", "r230" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.", "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of segment reporting" } } }, "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r309", "r322" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.", "label": "Share-based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]", "terseLabel": "Schedule of stock-based compensation expense by security types" } } }, "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "auth_ref": [ "r137", "r140", "r141", "r142", "r365", "r367" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "terseLabel": "Schedule of customers that contributed 10% or more of total accounts receivable" } } }, "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentDomain": { "auth_ref": [ "r147", "r151", "r152", "r153", "r154", "r155", "r156", "r157", "r158", "r159", "r160", "r161", "r162", "r171", "r172", "r173", "r174", "r176", "r177", "r178", "r179", "r180", "r182", "r189", "r448" ], "lang": { "en-US": { "role": { "documentation": "Components of an entity that engage in business activities from which they may earn revenue and incur expenses, including transactions with other components of the same entity.", "label": "Segments [Domain]", "terseLabel": "Segments [Domain]" } } }, "localname": "SegmentDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SegmentReportingAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Segment Reporting [Abstract]", "terseLabel": "Segment Reporting [Abstract]" } } }, "localname": "SegmentReportingAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingDisclosureTextBlock": { "auth_ref": [ "r147", "r149", "r150", "r160", "r164", "r176", "r180", "r181", "r182", "r183", "r185", "r188", "r189", "r190" ], "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]", "verboseLabel": "Segment, Geographical and Other Revenue Information" } } }, "localname": "SegmentReportingDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformation" ], "xbrltype": "textBlockItemType" }, "us-gaap_SegmentReportingInformationLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment Reporting Information [Line Items]" } } }, "localname": "SegmentReportingInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationLongLivedAssetsbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationRevenuesbyGeographicAreaDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SegmentReportingPolicyPolicyTextBlock": { "auth_ref": [ "r85", "r165", "r166", "r167", "r168", "r169", "r170", "r186" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for segment reporting.", "label": "Segment Reporting, Policy [Policy Text Block]", "terseLabel": "Segment Reporting" } } }, "localname": "SegmentReportingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "auth_ref": [ "r60" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations": { "order": 1.0, "parentTag": "us-gaap_CostsAndExpenses", "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 Expense", "terseLabel": "Selling, general and administrative" } } }, "localname": "SellingGeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "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]", "verboseLabel": "Selling, General and Administrative [Member]" } } }, "localname": "SellingGeneralAndAdministrativeExpensesMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SeriesAPreferredStockMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Outstanding nonredeemable series A preferred stock or outstanding series A preferred stock. 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": "Series A Preferred Stock [Member]", "terseLabel": "Series A Preferred Stock [Member]" } } }, "localname": "SeriesAPreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r76" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Payment Arrangement, Noncash Expense", "verboseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "auth_ref": [ "r310" ], "lang": { "en-US": { "role": { "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Period", "terseLabel": "Award vesting period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "durationItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate": { "auth_ref": [ "r316" ], "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": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate", "terseLabel": "Expected dividend yield" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": { "auth_ref": [ "r315" ], "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": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Volatility Rate", "terseLabel": "Expected volatility rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": { "auth_ref": [ "r317" ], "lang": { "en-US": { "role": { "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Risk Free Interest Rate", "terseLabel": "Risk free interest rate" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "verboseLabel": "Schedule of stock-based compensation expense" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails", "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "auth_ref": [ "r312" ], "lang": { "en-US": { "role": { "documentation": "Number of shares authorized for issuance under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Number of shares authorized" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "auth_ref": [ "r322" ], "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": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Number of shares available for grant" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationEquityIncentivePlansDetails" ], "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": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Number of options granted (shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r307", "r313" ], "lang": { "en-US": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Award Type [Domain]", "terseLabel": "Award Type [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Share-based Compensation Arrangements by Share-based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "terseLabel": "Weighted average exercise price of stock options exercised (usd per share)" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockExerciseofOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-based Payment Arrangement, Tranche One [Member]", "terseLabel": "Tranche One [Member]" } } }, "localname": "ShareBasedCompensationAwardTrancheOneMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period.", "label": "Share-based Payment Arrangement, Tranche Two [Member]", "terseLabel": "Tranche Two [Member]" } } }, "localname": "ShareBasedCompensationAwardTrancheTwoMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedPaymentArrangementNonemployeeMember": { "auth_ref": [ "r304", "r318" ], "lang": { "en-US": { "role": { "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor does not exercise nor has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Excludes nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires.", "label": "Share-based Payment Arrangement, Nonemployee [Member]", "terseLabel": "Nonemployee [Member]" } } }, "localname": "ShareBasedPaymentArrangementNonemployeeMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "auth_ref": [ "r310" ], "lang": { "en-US": { "role": { "documentation": "Percentage of vesting of award under share-based payment arrangement.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Award vesting rights (percent)" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": { "auth_ref": [ "r311" ], "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": "Share-based Compensation Arrangement by Share-based Payment Award, Expiration Period", "terseLabel": "Expiration period" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Purchase price of common stock expressed as a percentage of its fair value.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Purchase price of common stock" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails" ], "xbrltype": "percentItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balance (shares)", "periodStartLabel": "Beginning balance (shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "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": "Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation", "negatedTerseLabel": "Taxes paid related to net share settlement of equity awards (shares)" } } }, "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermLeaseCost": { "auth_ref": [ "r385", "r392" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 3.0, "parentTag": "us-gaap_LeaseCost", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less.", "label": "Short-term Lease, Cost", "terseLabel": "Short-term lease cost" } } }, "localname": "ShortTermLeaseCost", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r95" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for all significant accounting policies of the reporting entity.", "label": "Significant Accounting Policies [Text Block]", "verboseLabel": "Basis of Presentation and Summary of Significant Accounting Policies" } } }, "localname": "SignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_SignificantSupplyCommitmentRemainingMinimumAmountCommitted": { "auth_ref": [ "r41", "r429", "r441" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "The floor amount as of the balance sheet date that the entity must expend to satisfy the terms of disclosed arrangements (excluding long-term commitments) in which the entity must commit resources to supply goods or services to one or more customers.", "label": "Supply Commitment, Remaining Minimum Amount Committed", "terseLabel": "Future Minimum Payment" } } }, "localname": "SignificantSupplyCommitmentRemainingMinimumAmountCommitted", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_StatementBusinessSegmentsAxis": { "auth_ref": [ "r0", "r147", "r151", "r152", "r153", "r154", "r155", "r156", "r157", "r158", "r159", "r160", "r161", "r162", "r171", "r172", "r173", "r174", "r176", "r177", "r178", "r179", "r180", "r182", "r189", "r230", "r236", "r240", "r241", "r448" ], "lang": { "en-US": { "role": { "documentation": "Information by business segments.", "label": "Segments [Axis]", "terseLabel": "Segments [Axis]" } } }, "localname": "StatementBusinessSegmentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesDetails", "http://www.codexis.com/role/RevenueRecognitionDisaggregationofRevenueDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationGoodwillDetails", "http://www.codexis.com/role/SegmentGeographicalandOtherRevenueInformationSegmentReportingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r14", "r15", "r16", "r86", "r88", "r115", "r116", "r117", "r119", "r121", "r129", "r130", "r131", "r204", "r257", "r368" ], "lang": { "en-US": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]", "terseLabel": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsMasterCollaborationandResearchAgreementandStockPurchaseAgreementDetails", "http://www.codexis.com/role/RelatedPartyMolecularAssembliesIncDetails" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r43", "r96", "r97", "r98", "r101", "r110", "r112", "r128", "r208", "r257", "r258", "r328", "r329", "r330", "r348", "r349", "r370", "r371", "r372", "r373", "r374", "r375", "r456", "r457", "r458" ], "lang": { "en-US": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]", "terseLabel": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "terseLabel": "Statement [Line Items]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Cash Flows [Abstract]", "terseLabel": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Financial Position [Abstract]", "terseLabel": "Statement of Financial Position [Abstract]" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Statement of Stockholders' Equity [Abstract]", "terseLabel": "Statement of Stockholders' Equity [Abstract]" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r96", "r97", "r98", "r128", "r415" ], "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]", "terseLabel": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockCompensationPlanMember": { "auth_ref": [ "r122" ], "lang": { "en-US": { "role": { "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares.", "label": "Share-based Payment Arrangement [Member]", "terseLabel": "Shares Issuable Under the Equity Incentive Plan [Member]", "verboseLabel": "Non-Employee Stock Options [Member]" } } }, "localname": "StockCompensationPlanMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareAntiDilutiveSecuritiesDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r15", "r16", "r257", "r258" ], "lang": { "en-US": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock Issued During Period, Shares, New Issues", "terseLabel": "Issuance of common stock, net of issuance costs (shares)" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesOther": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Number of shares of stock issued attributable to transactions classified as other.", "label": "Stock Issued During Period, Shares, Other", "terseLabel": "Release of stock awards (shares)" } } }, "localname": "StockIssuedDuringPeriodSharesOther", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r15", "r16", "r257", "r258", "r314" ], "lang": { "en-US": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "terseLabel": "Stock options exercised (shares)", "verboseLabel": "Exercise of stock options (shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockExerciseofOptionsDetails", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "auth_ref": [ "r15", "r16", "r257", "r258" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Equity impact of the value of new stock issued during the period. Includes shares issued in an initial public offering or a secondary public offering.", "label": "Stock Issued During Period, Value, New Issues", "verboseLabel": "Issuance of common stock, net of issuance costs of $129" } } }, "localname": "StockIssuedDuringPeriodValueNewIssues", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r43", "r257", "r258" ], "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "verboseLabel": "Exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockTransactionsParentheticalDisclosuresAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stock Transactions, Parenthetical Disclosures [Abstract]", "terseLabel": "Increase (Decrease) in Stockholders' Equity Common Shares" } } }, "localname": "StockTransactionsParentheticalDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r16", "r21", "r22", "r88", "r201", "r204", "r368" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.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": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance", "periodStartLabel": "Beginning balance", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets", "http://www.codexis.com/role/CondensedConsolidatedStatementsofStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "verboseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r87", "r258", "r259" ], "lang": { "en-US": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Capital Stock" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStock" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubleaseIncome": { "auth_ref": [ "r386", "r392" ], "calculation": { "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails": { "order": 4.0, "parentTag": "us-gaap_LeaseCost", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of sublease income excluding finance and operating lease expense.", "label": "Sublease Income", "negatedTerseLabel": "Sublease income" } } }, "localname": "SubleaseIncome", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Different names of stock transactions and the different attributes of each transaction.", "label": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]", "terseLabel": "Subsidiary or Equity Method Investee, Sale of Stock by Subsidiary or Equity Investee [Table]" } } }, "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsidiarySaleOfStockAxis": { "auth_ref": [], "lang": { "en-US": { "role": { "documentation": "Information by type of sale of the entity's stock.", "label": "Sale of Stock [Axis]", "terseLabel": "Sale of Stock [Axis]" } } }, "localname": "SubsidiarySaleOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SubsidiarySaleOfStockLineItems": { "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": "Subsidiary, Sale of Stock [Line Items]", "terseLabel": "Subsidiary, Sale of Stock [Line Items]" } } }, "localname": "SubsidiarySaleOfStockLineItems", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CapitalStockPrivateOfferingDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_SupplyCommitmentArrangementMember": { "auth_ref": [ "r13", "r426", "r435" ], "lang": { "en-US": { "role": { "documentation": "This item is intended to be populated, by the entity, with Members identifying each supply commitment about which information required or determined to be disclosed is being provided. If only one such commitment exists, this item may be used to capture such information; if multiple commitments exist, this item is the dimensional default, which will aggregate such information, as appropriate.", "label": "Supply Commitment Arrangement [Domain]", "terseLabel": "Supply Commitment Arrangement [Domain]" } } }, "localname": "SupplyCommitmentArrangementMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SupplyCommitmentAxis": { "auth_ref": [ "r13", "r426", "r435" ], "lang": { "en-US": { "role": { "documentation": "Information by arrangements in which the entity has committed resources to supply goods or services to a customer.", "label": "Supply Commitment [Axis]", "terseLabel": "Supply Commitment [Axis]" } } }, "localname": "SupplyCommitmentAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_SupplyCommitmentMember": { "auth_ref": [ "r13", "r426", "r435" ], "lang": { "en-US": { "role": { "documentation": "Supply arrangement in which the entity has agreed to commit resources to supply goods or services to a customer. Excludes long-term commitments.", "label": "Supply Commitment [Member]", "terseLabel": "Supply Commitment [Member]" } } }, "localname": "SupplyCommitmentMember", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesOtherCommitmentsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SupplyCommitmentTableTextBlock": { "auth_ref": [ "r13" ], "lang": { "en-US": { "role": { "documentation": "Tabular disclosure of arrangements in which the entity has committed resources to supply goods or services to a customer. May include identification of the goods or services to be furnished, identity of the purchasing party, pricing, effects on pricing for failing to deliver the [minimum] quantities required to be furnished, cancellation rights, and termination provisions.", "label": "Supply Commitment [Table Text Block]", "terseLabel": "Schedule of supply and service commitments" } } }, "localname": "SupplyCommitmentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CommitmentsandContingenciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_TypeOfArrangementAxis": { "auth_ref": [ "r354" ], "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]", "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative [Axis]" } } }, "localname": "TypeOfArrangementAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CollaborativeArrangementsEnzymeSupplyAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsGlobalDevelopmentOptionandLicenseAgreementStrategicCollaborationAgreementandDevelopmentAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckPlatformTechnologyTransferandLicenseAgreementDetails", "http://www.codexis.com/role/CollaborativeArrangementsMerckSitagliptinCatalystSupplyAgreementDetails", "http://www.codexis.com/role/DescriptionofBusinessDetails" ], "xbrltype": "stringItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_NotesReceivableGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-US": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled receivables" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedBalanceSheets", "http://www.codexis.com/role/RevenueRecognitionContractswithCustomerDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_UnrealizedGainLossOnInvestments": { "auth_ref": [ "r77" ], "calculation": { "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-US": { "role": { "documentation": "Amount of unrealized gain (loss) on investment.", "label": "Unrealized Gain (Loss) on Investments", "negatedLabel": "Loss on investment in equity securities" } } }, "localname": "UnrealizedGainLossOnInvestments", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r133", "r134", "r135", "r136", "r143", "r144", "r145" ], "lang": { "en-US": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/BasisofPresentationandSummaryofSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r322" ], "lang": { "en-US": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]", "terseLabel": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r322" ], "lang": { "en-US": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Domain]", "terseLabel": "Vesting [Domain]" } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/StockbasedCompensationPSUsandPBOsDetails", "http://www.codexis.com/role/StockbasedCompensationRestrictedStockUnitsDetails", "http://www.codexis.com/role/StockbasedCompensationStockOptionsDetails", "http://www.codexis.com/role/StockbasedCompensationStockbasedCompensationExpenseDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": { "auth_ref": [ "r121" ], "calculation": { "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails": { "order": 1.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.", "label": "Weighted Average Number Diluted Shares Outstanding Adjustment", "terseLabel": "Effect of dilutive shares (shares)" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r114", "r121" ], "calculation": { "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "lang": { "en-US": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted average common stock shares used in computing net income (loss) per share, diluted (shares)", "totalLabel": "Weighted average common stock shares used in computing net income (loss) per share, diluted (shares)" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r113", "r121" ], "calculation": { "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails": { "order": 2.0, "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0 } }, "lang": { "en-US": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted average common stock shares used in computing net income (loss) per share, basic (shares)" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/CondensedConsolidatedStatementsofOperations", "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": { "auth_ref": [], "lang": { "en-US": { "role": { "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]", "terseLabel": "Denominator:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract", "nsuri": "http://fasb.org/us-gaap/2020-01-31", "presentation": [ "http://www.codexis.com/role/NetincomelossperShareEarningsPerShareDetails" ], "xbrltype": "stringItemType" } }, "unitCount": 11 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "205", "URI": "http://asc.fasb.org/extlink&oid=109222650&loc=d3e1361-107760" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "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(13))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(4)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22499-107794" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22694-107794" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22583-107794" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22595-107794" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r11": { "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" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22644-107794" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22658-107794" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=109234566&loc=d3e22663-107794" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1448-109256" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1505-109256" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1252-109256" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1278-109256" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e2626-109256" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=SL5780133-109256" }, "r12": { "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" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=121326447&loc=d3e1337-109256" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3550-109257" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=6371337&loc=d3e3630-109257" }, "r124": { "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" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e3842-109258" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "http://asc.fasb.org/extlink&oid=120380238&loc=d3e4984-109258" }, "r127": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "http://asc.fasb.org/topic&trid=2144383" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70191-108054" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6828210&loc=d3e70229-108054" }, "r13": { "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" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "http://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6327-108592" }, "r138": { "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" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "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" }, "r141": { "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" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "http://asc.fasb.org/extlink&oid=99393423&loc=d3e6442-108592" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "http://asc.fasb.org/topic&trid=2134479" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8657-108599" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8672-108599" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r15": { "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" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8721-108599" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(j)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r16": { "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" }, "r160": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8736-108599" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8813-108599" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8844-108599" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(3)(a)(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "29", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8864-108599" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8906-108599" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8924-108599" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r18": { "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" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8933-108599" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "34", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8981-108599" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e8475-108599" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9031-108599" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9038-108599" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "http://asc.fasb.org/extlink&oid=120311839&loc=d3e9054-108599" }, "r19": { "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" }, "r190": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "280", "URI": "http://asc.fasb.org/topic&trid=2134510" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4647-111522" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4428-111522" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121593590&loc=d3e4531-111522" }, "r194": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(4)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "11B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953423-111524" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5074-111524" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5111-111524" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=SL6953401-111524" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r20": { "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" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=121611835&loc=d3e5144-111524" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "http://asc.fasb.org/extlink&oid=27010918&loc=d3e74512-122707" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "323", "URI": "http://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571" }, "r204": { "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" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(3)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r21": { "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" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)(4)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121646688&loc=SL121648383-210437" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599878&loc=SL82895884-210446" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919244-210447" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919249-210447" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919253-210447" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919269-210447" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919272-210447" }, "r22": { "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" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919230-210447" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121599337&loc=SL82919236-210447" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "79", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82922352-210448" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "80", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121647567&loc=SL82922355-210448" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922888-210455" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "326", "URI": "http://asc.fasb.org/extlink&oid=121582814&loc=SL82922895-210455" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "http://asc.fasb.org/extlink&oid=68051541&loc=SL49131252-203054" }, "r228": { "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" }, "r229": { "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" }, "r23": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "360", "URI": "http://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6392676&loc=d3e7480-110848" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6392692&loc=d3e7535-110849" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "410", "URI": "http://asc.fasb.org/extlink&oid=6392692&loc=d3e7535-110849" }, "r24": { "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" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 5.P.4(d))", "Topic": "420", "URI": "http://asc.fasb.org/extlink&oid=115931487&loc=d3e140904-122747" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "http://asc.fasb.org/extlink&oid=121559207&loc=d3e25336-109308" }, "r244": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "http://asc.fasb.org/topic&trid=2144648" }, "r245": { "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" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14394-108349" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14453-108349" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14472-108349" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "http://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349" }, "r252": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "http://asc.fasb.org/topic&trid=2127136" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "15", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121548805&loc=d3e10037-110241" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12021-110248" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121555522&loc=d3e12053-110248" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "460", "URI": "http://asc.fasb.org/extlink&oid=121596127&loc=d3e13051-110250" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "http://asc.fasb.org/extlink&oid=109259400&loc=d3e21463-112644" }, "r258": { "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" }, "r259": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "http://asc.fasb.org/topic&trid=2208762" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130531-203044" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130532-203044" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121556615&loc=SL49130533-203044" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130551-203045" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130554-203045" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130556-203045" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130558-203045" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130543-203045" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130545-203045" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r28": { "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" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130549-203045" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121604090&loc=SL49130550-203045" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=121551570&loc=SL49130690-203046-203046" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(i)(1)", "Topic": "606", "URI": "http://asc.fasb.org/extlink&oid=113356391&loc=SL49131195-203048" }, "r29": { "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" }, "r290": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "http://asc.fasb.org/topic&trid=49130388" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(ii)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r293": { "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=118255775&loc=d3e1928-114920" }, "r294": { "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=118255775&loc=d3e1928-114920" }, "r295": { "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=118255775&loc=d3e1928-114920" }, "r296": { "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=118255775&loc=d3e1928-114920" }, "r297": { "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=118255775&loc=d3e1928-114920" }, "r298": { "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=118255775&loc=d3e1928-114920" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118255775&loc=d3e1928-114920" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r30": { "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" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=118257860&loc=d3e4179-114921" }, "r301": { "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" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(f)(3)", "Topic": "715", "URI": "http://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r303": { "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" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=SL116886442-113899" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4534-113899" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121326096&loc=d3e4549-113899" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r31": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r32": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=121322162&loc=SL121327923-165333" }, "r328": { "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" }, "r329": { "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" }, "r33": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=115993241&loc=d3e301413-122809" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11149-113907" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "http://asc.fasb.org/extlink&oid=120383193&loc=d3e11178-113907" }, "r335": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "http://asc.fasb.org/topic&trid=2228938" }, "r336": { "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" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420387&loc=d3e23199-108380" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "730", "URI": "http://asc.fasb.org/extlink&oid=6420387&loc=d3e23221-108380" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32247-109318" }, "r34": { "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" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120406818&loc=d3e32280-109318" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32672-109319" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32809-109319" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32840-109319" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32847-109319" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=84230637&loc=d3e32639-109319" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "740" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=116825942&loc=d3e330036-122817" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "http://asc.fasb.org/extlink&oid=120385591&loc=d3e38679-109324" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "808", "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "808", "URI": "http://asc.fasb.org/extlink&oid=6931272&loc=SL5834143-161434" }, "r354": { "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" }, "r355": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "808", "URI": "http://asc.fasb.org/topic&trid=5833765" }, "r356": { "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" }, "r357": { "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" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "http://asc.fasb.org/extlink&oid=121559654&loc=d3e5710-111685" }, "r36": { "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" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19207-110258" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "http://asc.fasb.org/extlink&oid=117815213&loc=d3e19279-110258" }, "r364": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "820", "URI": "http://asc.fasb.org/topic&trid=2155941" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13531-108611" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=121572278&loc=d3e13537-108611" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "http://asc.fasb.org/extlink&oid=75031198&loc=d3e14064-108612" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "http://asc.fasb.org/extlink&oid=98513438&loc=d3e33268-110906" }, "r37": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918627-209977" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918638-209977" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977" }, "r38": { "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" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121603541&loc=SL77918643-209977" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918673-209980" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(3)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(4)", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918686-209980" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121609121&loc=SL77918701-209980" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "http://asc.fasb.org/extlink&oid=121568110&loc=SL77918982-209971" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "845", "URI": "http://asc.fasb.org/extlink&oid=68069686&loc=d3e32049-108421" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "http://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r40": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "http://asc.fasb.org/topic&trid=2122745" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "852", "URI": "http://asc.fasb.org/extlink&oid=120604989&loc=d3e56071-112765" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "http://asc.fasb.org/extlink&oid=6842918&loc=SL6314020-165662" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "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" }, "r41": { "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" }, "r410": { "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" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "http://asc.fasb.org/extlink&oid=119991564&loc=SL119991595-234733" }, "r415": { "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" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "926", "URI": "http://asc.fasb.org/extlink&oid=120154821&loc=SL120154904-197079" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-10(a)(32))", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=120398226&loc=d3e511914-122862" }, "r42": { "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" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-10(c)(3)(ii)(A))", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=120398226&loc=d3e511914-122862" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-10(c)(7)(ii))", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=120398226&loc=d3e511914-122862" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "http://asc.fasb.org/extlink&oid=68064819&loc=SL6806780-109447" }, "r423": { "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" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.15(5))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878" }, "r429": { "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" }, "r43": { "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" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(11))", "Topic": "942", "URI": "http://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260" }, "r431": { "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" }, "r432": { "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" }, "r433": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(5))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(3))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3(a)(2))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.15(a))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910" }, "r444": { "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" }, "r445": { "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" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(3)(b))", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263" }, "r447": { "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" }, "r448": { "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" }, "r449": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121643868&loc=SL117782755-158439" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.3,4)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r451": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r452": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117783719-158441" }, "r453": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121639165&loc=SL117819544-158441" }, "r454": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r455": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r456": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r457": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r458": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r459": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(1))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "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=121370832&loc=SL117420844-207641" }, "r461": { "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=121370832&loc=SL117420844-207641" }, "r462": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iii)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r463": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(iv)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r464": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(1)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r465": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=121370832&loc=SL117420844-207641" }, "r466": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "http://asc.fasb.org/extlink&oid=99380617&loc=SL75241803-196195" }, "r467": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "210", "Subparagraph": "(c)", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=99383244&loc=d3e12121-115841" }, "r468": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.6-07.1(c))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401555&loc=SL114874292-224272" }, "r469": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "320", "Subparagraph": "(SX 210.12-12B(Column B))", "Topic": "946", "URI": "http://asc.fasb.org/extlink&oid=120401592&loc=d3e611197-123010" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(3))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r470": { "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" }, "r471": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "210", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=120413173&loc=SL116631458-115580" }, "r472": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "740", "Topic": "954", "URI": "http://asc.fasb.org/extlink&oid=6491622&loc=d3e9504-115650" }, "r473": { "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" }, "r474": { "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" }, "r475": { "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" }, "r476": { "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" }, "r477": { "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" }, "r478": { "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" }, "r479": { "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" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a)(4))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r484": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r485": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-13" }, "r486": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1-" }, "r487": { "Name": "Regulation 12B", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r488": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.6(a))", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6676-107765" }, "r50": { "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" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=99393222&loc=SL20226024-175313" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669619-108580" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=121641772&loc=SL7669625-108580" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=116657188&loc=SL116659661-227067" }, "r55": { "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=120395209&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=120395209&loc=SL114868664-224227" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1(e))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&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=121566466&loc=d3e6801-107765" }, "r60": { "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=120395209&loc=SL114868664-224227" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7(b))", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r62": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "http://asc.fasb.org/extlink&oid=120395209&loc=SL114868664-224227" }, "r63": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3179-108585" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3213-108585" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3255-108585" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3291-108585" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=121566466&loc=d3e6812-107765" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3367-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3521-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3536-108585" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3602-108585" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121586364&loc=d3e3044-108585" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "http://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4297-108586" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4304-108586" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4313-108586" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=d3e4332-108586" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "http://asc.fasb.org/extlink&oid=121583591&loc=SL98516268-108586" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=84158767&loc=d3e18780-107790" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r88": { "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" }, "r89": { "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" }, "r9": { "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" }, "r90": { "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" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(k))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(m)(1)(iii))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08.(h)(1)(i))", "Topic": "235", "URI": "http://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r94": { "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" }, "r95": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "http://asc.fasb.org/topic&trid=2122369" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21914-107793" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21930-107793" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21711-107793" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "http://asc.fasb.org/extlink&oid=115929471&loc=d3e21728-107793" } }, "version": "2.1" } ZIP 102 0001200375-20-000040-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001200375-20-000040-xbrl.zip M4$L#!!0 ( %J'9E$!DP@I3.P" '",(0 1 8V1XN+?K]_(K\N3Z6 \ M^L?W^@?U_7?_]ZS>8'7WW>^'I MF^_J9'S\W>_CR9O!6]S9F7_FP?CD;#)X=33[SBBCKKTYN6MB@IH,[GA5< >J MYIT$*>R ,1IK"):\_8]7=S%1KA'D"*:X PKC#E+EG:P]D0TF>C3_4>[:2)QK MX(*D09<G?P_A_?'\UF)W?OW'GW[MT/[_-D M^,-X\NJ.4=K>&8R&@Q&WK_S]^>>YU7B"SCC]>/C[/QS_SLZ/UBFE._-W+PZE\GYZY4@:%WX_F,J_ MQ_,;5\FJCP>/3T>SR=G'X^=W,67ZX=7X[9WS-S_WR-_//G_SGP"],YO@:%K' MDV.<"<<;WFY'F1WC/WZGZ>!SWTAN4-_YG]V?#^B(CW'G^H,K//C\WZ(T=[$6QO+3C\<\P^_:)W?X7Z>#M__X_L%X-!,?L'-X=B+?GA:__>/[&;^? MW9E?]#/'L[F@\8KF!P?N[[4">+'X_GKWX_=&[W=__ZVCO]2_J9[LW?/%A M_&'_B?Q[_,*^_/WYT8L/C]3N[\\'^P]_^?#B\)'>/7Y\M/OP\>#%X0NU]SBJ MG\U+.0?YW0^_JI>'+]^\.'[TX>7A;X.]A[OO7AR^>??R]7#PXO61G.^Y?.;I M^]T/;]Z6)X\'^SC_SFUS+C5X>CF'O]9[<\\LW+Q_*9Y_(/;[^[;7\DK?,..%UW4C#"6I]M ML"YJ%]SW/RD!H3F4X'Z\]_:L^_,VB?R?G'90ONC<#5E\%U MU60;7=H1-2W2FHK;R0E(5 1H<<>9O:;O?_K%WCJT"Q4CGWX_NULD>3B6,QX5 M/+L,^H/3R>2*.3\:E8=R[!;SO\+<7,:I&,Z?CS:?_W;,X_L[NOR1J[UYFZ37]SNPU_L[N$K M)^QXO_OZ$ MTOO]AV^$'8_.Y!SRWJ_NY<-7'_9_WZL+=LQ9\NZ?XNFQ%H@[04?: 1_%W;N@ M=YRJ:%$I3E9DVA=Y!0,&0.5:LB4(OB;(CD4I:/*L4O5_08\S,?/ M[- EU.HS2)0P$C0\PTXF3#N4DE,E9LBF.9 OBAF .4#0NC!#J@J+M58[KM6Z MK'.ZS [)P.^.!D/)*2>GO.5$EYS0'SE1/4;CC$21DM0.:! A@>(VG,08K7U@ MQRUG_P)*Z)*#,\Q)@05T.A7P*F#*&=$G]U<.8QM/.F;'X%(\4=Z2-5J(X8+? M ?:P@RKEEE+$$*HQ)H4OC">,P2K(7$TE0.^35O)2T:(SLP9?MO%DS=GQ*9Y8 M+,D(<#M05!9!ZGDG.I&F$DE$D19%E/,7QI,86#A7G8/"HD -LJ<:HT;EH]*Y M;./)6G+B4SS)Z'6-QN[84*IP@JM$EH@[8NFHP '$X+\LGK@2"WN1+:PCY.2S M\21:0P)+3L$&MXTGZ\V.LTOQI!H=- >W@[;-_%5K=I"Q[*B,V2GM535?FI]H M5T2FJ"*\0Y $.5H?)-=A-A4#QVU^LN[L^!1/)#GUN62)(A3=#H04=H06DI_$ M6A5S+?+;%\83RTIR8F\L&TE:(Z-E%$\""I.DL)BW\60M.?$IGL2$*H").P': M0&>PM)-+D'@2/9"-K*M ]T7QI!30D3!'+0DPQ)3$Z<2D*#2QJTF=4\)_&KC> M+ ZHW0L.'/]VO/?AU_>['XY>OWS]7\,7A\]?[_V^=[3W\/'Q[L/G.H$SR'_Y_.SE[^7DVS O_S]A=T[?-2N>[Q[_-O1WI-=_<*TZ[YXM_?D MT?O=P\=ROONO=U\/Z^[KIV=[K^F?/I!15HPZ4(R2:D;8R3JH'D@GQU(Q?G9YY\?Q7@RE&2S4PC(]/>#2=XWQO,L'1*VZ3&??//AWR M#,_:2_?>X:3,__J-IS,APO-6,#,5 I"\BZ_$O[3!<+G*CNF6#GKOX,(E#(]W MS7\)9,]?OSC<=2]>__+NQ<*/G[+W;O]6]O7GPH M;_;DNGL/AT?[AV_>[;[>&^Q^> -[A^7-2Z'B_I/G=??!)1$1:T)-WN^X*(X M),I+P-!AQ]F"XMQ="!%%1'Q4$1>TV7J%/Z&!^1097JDV@R&/7<[U0BRW1887 M\.)P^.:%P"B>6TET^/#R\!=]W2NT68R]U[_"RR>/S-[KIV9/HL3>ZZ.C_7;= M-E/RX1?[XG!ON/?P-_$*]R3V_!,=!J.+V8F<> >2^/>8*^Q8%U50@FAP\=\X MA3M7JT%[$ MO:3.2$O?IO.<#)KTW4_ M751F*7WQN4_O?;S-3V=V#62M"C457?NZT-PV4 M5TYQY^K=_W4$<-9R3=D7"R4V5Z 4D.=21<0E+#RZ3B=8455J&PKBHB(YF.> :G10&10S0!DX_. M.6-MM:4AJ-,Y@O+#%L%_CV!;$W!#!-NART+0F^QT"(&LF%X,4>L,ECT5IS24 MW$%NT5L$5Y;E7,T.@\F2(5IFIR$;'U.JWMIYL572B<]M4&]M\&8V>$,$EVB# M3KQHCJ;:&BMPKDG;H(+-HLML<27T/PX^YRGCA(Y0'A*_Y>'XI)WW? 1L$P-C M]#DI*P88@<#-BYH,:55+*LY2V(# V"&DW43*'(K#*JE1@@S!<;9D1;]6#-&5 MJC\[/;"%=*U#I]=*E:PC%=$Z7&,L)EI/606=D_6Z_Z&S8RM=?2Q-DC\JJ$YP M5:"L3T:\;$K9I!*=\:Z#6-J+@"4.S4HZGBM1A!!JA@3*6(=1&<.H.@A8O8@* M3(:#]L'(4P.?7<)J2O4ND\0&S:4#%](+.S5H+>G"RGL#E%(**:,&R4'G Y%X M:=YTS3SNQ^G]BY''1_\Z;>O$Q\A@-J8WR_>W5P>$ M_7(&A+VE(E)5,LBV),B5A,%0B"F 4QBLV1AH[I4R:!/I.'R&@_)T] !/!C,< M]@2F-E\$2J*8235B=Q"T, MX*/ M$KM15E"I2BR'7=2< ]>$E%0NQJT.GZZ>0(B!G4Y6H\%%U$'V=5=)5K,XYD7/%&A=:YEU$>V\,-!WI["7!A" YJ2[06A!"04)5 M;%11OD[+N?-G'5.%MR3MD:4.2R$H$524)% M1&>,WSQ .QE)Z ;$CXM9:RF/+ZO#IC*&IQM04-8 "+O(,(%B-\NV+Y6K*^JX%6UL?OZRE MDM0:Z%7(V!:+YJC;)B@$*@%["WJQ5'(CH.G&QR\+IN*3*6Q!949P'J($8J.Y=8_$VFJ:H"C :HVO/@@^UI""'E1QKY.KZ[Z&.SIM MBO*5V.M66)*"I9",(E.*XQ@V#]#.:A)6#RX;]H8EP724P:BFGI%*$5&"@2G' MS0-W]34)JT?52GJJJTNJMMT"VH(:XQ,B$&M.12VFA>(&Q,A5J(7EF'H8TEF.1T M,9I;(%36[,JT\JBHF@Q,NR425TL=-J4$-$] MN %#K&AU(*LA(R%IRFW7M^Q=2=R''A)K%UBZ1S5*1AR2CA)T$E@OR;#-5BY@ MLG5BN'6.JD2A!:IK*1?:\N8'K8\73T[DD9WMX?'EYSZ7[]=70R&;_E\FPR%CK,!CQ]])Z&IX7+X\GX^-[Q6%[[,.\?>__L_)BS M_8G\])II=NGQ/7CX/UYKN&7NST7%S;A_37_\S=Z?\G!>3?#X#]TJY]_Y_,V+ M<]RX7:5!G:)P.WF/;8N[;)G:Z+L)E1@QG0]%V(NA"-L[8SK$-USPV1%.CI'X M=-8ZZ3T8BW'=_AB$O?D8A/UZ?DSXI%G(Z%5[Y?,L^7C(KW+(%W/%)R$%&6]S M*8!M(WH74F$;HPK,O%A,'R_"Z?R'-<@#KAGMC0/6M4/_)BCG+=FOHW%^#OGQ MRRU69&GKF2PIL87L7(2@@[-<1-5D2(4T\O- ML3ZU#7\T^G!V?!LMLJYDB%? _IHQ#*>SJZ9U]T]0JT@4A("60L18M7*; <^> MQ.GA_<%X=L03/)E[U;X %(PV(B S@Z] IN1:-9>V-70.J"KV<4'@GR#U8#SA M\Y>_5KFM33^[;M8?86KPZC8$]1.C#NN_E(;A4CEYU)#=C M:R\II)/$; Z(NNW9%C*R#^)T+ #''"WVL83X&_,]W50I%_98C"_>J5;HD6,; M[^!<*CD?Q0'U@#A;W],MA5I_%BL"-&FO@6J29,X&C[%%L5CR!H2OK^D*V)'? MZV44*]90;&W-?.ND90KF"FV=4P+--3O>,JG/WJD;3OF:2(N(MLEZ"!+:)#FK MA-DXY8-)M?\!;FTXM3+OU%'K_ZS;CJ8ZNE@@AQ ]J%):[8^SWJIOO$=UW[U3 M-YQ2'JO!*"&N.E QM"[*03O6;+0BZD/$6TL/T4VL$>U;*]MB%&1PGA",1)L4 MC,Y5:^K#Q@1K;J7=X.J*=FV3EPPF .8808'R/EOK)&6&U //OY96VHW/K1+( M#3$7%CD:N@O;@<3%1K6P<2DS>.8MOZV*:,?6@&^XT[ 8K!>?9!6\G$R&7$ MA)&#*ZUS"_E>=ECZQJ)'-[)#LW6M13LZD9.2&[3N#YXJ*E4DB4]=[ 2SC1[] MHI"M)J18L E5B+%D=HJ5%^DJ\<35OHPL?L-.P$E.69ALS:"A)I=,-,9IK9US MWO=F#O1/$+PPW$>[C^YMY*1"1T.&8O)"ED!*EV;Z"* 1BE88BJ="6^+T*'IT M-#I)WF(I,?CL18>8Z$H)RIKD.3?]^DU1J)<(EH EA\ I%P4YFYA"(JSD K!+ M,?<__F]\].A(=@ @5M1$DGLHQ^CFVWE2@A+(ZSYTCEU3XGPSN0=D*^$#-%D3 MA362AN2V^9I).:"%7K0*7YOHT5$- 1AG3*A&>0T%4BN\U*F$MI897&^JYOX$ MP;E%WGMV[\%&AHZ.QCM=T+ID7R1.@)A\)(<>E ^V*K+0AUJ%=63--Y-U@/>& M U1EC(62"9-S$-%J%9-AZL-LZY+XTTOX3&S#4J0L%X)D=<)B:^N'E;)GOYBP MZG?8W^R@T=%2#QU"U*R<84P8=< M(;@22XH*L[/1>)=<'R99UR-H=%0Y5U/U& ,B,* *B0&TH!6-(&C1]+&][#>V MRK2;#K8J%>^J0N6:VD@J1TM4A$$Y*HO9]H XVU6FW5*H,OAH2+%&!0YT5J: M4;:BULY0+QMD?F.^IZ->C2):C8F<7>N>G<7WD"T Z U8(Q*V!\39^IYN*91C MB-DYGD_2%W*I@A9_Q#GY$HA4_\/7VJS\6^FHZ^JC6$I6>X)@5-MV.Y06'J*;6&.\B2J[X$AKL))\QQ)1^:JC.(N*>0ZI!)RL;%R3BY)$-$F;9@JV,3HT9&<]-9YZYW6,0 ZGZ!4AR)!Q/J]"7V0 MD]OHT2V%1+ BB_8PQ$4R36&.2^!;6]9@<\0^;)CWC3L!A1+ST1KGM0/"E'-@ MIV,N(&EF+-#_^+_Q:Q2[D1V83,IHC$T8P>N28R@8,KN2"G/: .'X#:U1[&C6 M/%<)%&1$M_JVN9)XGUI=#,K:H)#+-T6A7B(HF4= U[;U\QET2IE,=,:8G*%U M2:/^Q_^-CQ[=R(Z$/J3@$<@&<":VI4I9*4.^DCKOS;@E3D^B1T?5>SYZ'SCJ MX"1]!1$@7H%SBJJV =,&I*^K7>&^>@11^=R::C(H%@0I&O E6/DW^J!*7^HO MUVW9V88G'H;(A"0&+38.E7Q4E /6-NQ /BTZ>FY9TX>XT=&*$P=9%(?X%_)0 M+6;'1:*'$ L;@,2U6\E:'24;$#V*I,CVTITF"-(HIJ- MC4D$:PU]*:'N/FAT9/XM)33*:I,RI(A)LZ;<%@X21%;AGT^[#?6SLQ,N_]X4 MSPO9G_,Q#D:#T:MG/*GCR3&.B/?S,H+K'^\G1/_4,;M/(MXK]467GJ -S2%SI;.#D;">3GVCZKH MXIV_DQ2! 5"YEFP)@J^I]?X"X3EY5JGZ+<&73'!]X<:V!%\)P=N67@%:;SMF M2%5AL=9JQ[5:EW5.71-\A:N\-\Z63)>VM"X$CYS >!=UIK:06!RY5\DD)*9B M4L%O@>#K@H4N.3C#++FBE;Q1IP)>A58<@^A;/ZN^8K&$=9(;YWTZE:KKPGC& M8!5DKJ82H/=)*WFI:%LH:_"E:\9O'.MZK1^_QHVL"^-C8.5M=0X*0QL29$\U M1HW*1Z5SYXS?^OBMPEPNXUM[3FL(:Z ,*E*TOE7@E:P O"7]33)^7RMO;8![3(;"H& MCITG.AO'NDYEW[JPSK)RVGECV3!@9+2,XOA 8<*D,6]9MY4_MS""'+P%YQ-' MSF ]HG$.8PT2=EVJH0\[6US =T_.4 ;#T]G@+1\PG4X&LP%/'[VGX6GA\G@R M/GXP/CXYGX^@5?UI8OROB\_CT^#:':#2TR&$_\N!KYDC8!$\1P3H+ M1A0"N6;;A20L4(:P!?>)MJ\;76/ZPFTV8# M45ZIR]7F$G!?X7)]\"X"!0*(P"E'KN"2SVU=,MED>I#6==GJ%U\N =OU9>7AMTR:U:M^"R( HOP=%(%OS7)TLAATE!=T M5!NPX\Q&DZ:C/NFAZAK;OGI4H0:7M$;V16/;O7D*;;&4DMQ(8 %'VUK^&D=9AN#3:QL__W).?B/>6D;=VS)N Y.S2;0.16? M$R2P7N<"GB-I*AB,9MU_^;1E[BJ8NWH-5QI);0XQY @NQ^B#S]Z[8BE1KG8[ MQ+ E?W( MW,'. -9D Z@@YK9>G]"ALD2L*UE1T O/W&+!G,RM1C6M&YEO0JB#TY.3X=DF ML<7L*'-#MLP/-6DI<5Q''R&'DCQHY]#ZV IHBF(;[**GHW;ZG"UN'6??OTVV MN#:/?S.VN*5-^2<#UJ;"P43YJ;5PU+&8&A.GA!E<__/Q+V\*LB7F&N36/SL_YFQ_(C^]9KI,IR?#<<;AI6'6_9._-\3Y==8? M6IN-I5B_,82@E ?P"*7J" H< 4#64(.RZ\NT3ZON%\/?]ZX,?U_R!@_D^TZ0 M9H?C\P7YC\>3_=9@?7K_K+F.RX%W('IB-A[Q_NBVBRRWEK!FEN!-2C461B0' M!3%'G[T%$2UK9P3(Y] 1&X";.V M.GIFC,;GVI/AX2T_5\+/U8\20ZH^F.A!10;,/K/. =!F"LD9?7U;L'4<+MYP M?CYX^#]>:U@G\BVK#$91UE0E2ELPP.+\7 I 2#8%Y!+C=AC@LQ=?;'1WX96N MY?.?KU!=VFQ:C_SQC4#LH.7/\@8/8M2U*%5-U@70VZR9E&:CK<%@G-K:SY?; MSWR:^SY.N7P<&=O:S ;93$G1NU!UK"[,=U\V0,KE)(&(1?7P7/"(S2P$S]9X MML:SL@0@7#3T_VL-=LT>OD*#:=*$11N&BF#(1IV1/&8FIH0?IV+64/??J"1A M-I'G\FI 5U;)K*JVZ*LL\:L=YK)J5E34X$!KGSU@=(F-J;YU'6>L62U$1ES' M@8LM0?Z$('%YFR$X$\4]%%D?,26+_Q*:Q>3ON@CL%HC.A# M JM3=,%"*=5[5AH_3DM^J],^O9PJ*3:I8JP/T5?1O#5:ZUPK033(UE'ZQJ=* M>CF]P-5C!*>KK@6(($?0U;H0E;S14!(;:F+_.2( M.(% J\*YX(+>0?E,,K+Q7W7-O[&JZZ@6\:M5%RQI,R"?(MG$L482RQ>6Z-QJ MZ+(@2EBPL?TN7_M#EB@>:$^9F'N@:M[ZF([DI&J*KRF2"E"):T2$5 M++NB<^&M!^JT#'-=/! I;TS5AJ!YH$1152$.4_80%*F+TC"XR!$VE"Y+R 5N M:.&+0Y>3"Q2KH@_6HY?\+D@&4'VI-2&&E"F[K87?HH4?3?ZRO^:ZV+@Q6;7% M*M[G#)DKANRL)R)D8[F>JXR+V9*XCL/$:V#C LB-1_;CTJHK(KMHHJ$:5(8" MF%RMG@1+R2H4N=K_<;E5^>?5C[]9GVLFUW;?JH*8%1,SF+T$67!&<5^V]U@# M[%8_SE8I6R^).P364(I@4P,'7ZW-*E0'_1^368G/[&:S"Y]30BT.LWHP@2(R M6U<*6Y TJ&S &.FJL.N@/7NUD5*I$14"6\$AVDG,R&$-8W\7U'4%V*\OI M0\D&M4U5_H 8CE%8ZPM"1):T7Y%MR[P M0:1\07?NQ]R%'W.]@V-O_%9>':Q@!L#=W).YY2CWD$/6NBI"+38$$%,U;&H. M-H.5-Q8VM 7MWUG1%1R^9H2KM2ZN$)3-'KS5F).X2@NZV!0\Z/.(XM-)BGE].S(LN!RVZ@PL)*XAR59EJ^SM7[U"MK[VN>T>!->#)$OV)(]&B MT58RV@!#ELS0@4LVB6>IA7E]>;(<'&Y,1V$;<2-<*\9[/IB^N7]VGT=T=(R3 M-Y>71LTW=N?)HW^=#A:$'96#<9V]P\GM#K NCQ):AQ 0:HB5H$:='"5K1+F5 M /)O[(E0^WS[P(_>97R&P]E9;YU!]XHP6W(9V^;>B% ,Q91+X& 56!O.EVGV M>RQW->AU5$W)I*%5R I>4'1(Q1&G%()W$%*(_1_-71UZJQ_/5ZUU*J&"SSJUXA;E0G EI6I+_T?C M5X?>ZL?C337<)E"<:&60W H=$J58C:#:]M58H'>QK48?AQ6?C^5NUKI>X?:+ MW-+-]^!87O,!\,6 ZAF Y0/^E^HJ@ M6[U.-RZF8"!!(''LWF>;3!7Q1SJ@9UO/1^MM[_SX(;X1C_+L""?'2'PZ&Q . M'XQ_GI5U].V_GCR>R-'/\.P&ZV>_>@#?+F<4+B6%MI0@F0&#C1S!$G#.L: % MTGI+G550Y_/G>LZ#XWPZF:YD3X$E\4E.R/YP"%.7O'L"=_N,J\E,DG\DFN+/).6T!:T1U5T;1N(5%,4U=Q_*?EW M*=5+>4D58@U1N\((QH4(%&KFD+*Q;(SOO[SL$,X.=J7SDA6$6BL: TP9;)V]G1 MN#P=O95PVF[ICZ\R7]]6;3QD.AWBY-Y4E%L>RHT^'5%/ZGF"=Z+\,SL$!^ S M*MWZXY;L8XG!7@1=?^&EMS3J.XVNAQ)_\U#BE[4B$W0DS%%[;A6?28FO2HJ" ML(LTJ:X]UDRT=?DSW?Z61Z?\G(]Q,!J,7IV+GS#-N!P. MCN40(:.\.JTBYN6]@XNGO$#_Q]LY\0]EW,[3H-,7V\3?[I4^LO32 _RB?&@H M)RS/6HP^E"1HNKC491-!L9O)E?9E'Y.H5>VA^7>L]$87O=YJ5("YY5:C2PPC MHCJ4Y&DB$K%MF$(Q)@T8"-F*<;NT->GEFW3J0,;W_D]E.78)8/#]ZWSKUR$X47E%[>D.&FVE,OA2P5 MR9&49K"N_1]CU:E5J=8J//88MR;R[TSD_GAT.GTRQJ&D1%OCV$CCP-(Z<#AP MC@G(*-3>EBR4,V684$AC ;Q<8:<-Z84FOHE;M>*VJN 6/6P.$I*%"K#D@& M,CBTE"E52"60"(1>+*'=:%9MZEC G,+&=#,6L"[.'5P4.U.QV&3 .)<*9,3H ME"L^D:4>5 ]LA>P-_'H'=;)14*Z87"($(5AB#\(H'YRQ27OL02'#EEDW8%8' MR^W(LRW9.,V+47-6-AO G'(,R<7>UE1TDR8LJ:#"."L ."^1PPD6)1*Q5\"U M%N5TI/5%Y=,&8M,V^-+^:1//;W$HGY]>S1=WQR,^V\7)&YX]/AV56^\_LJR> M6S8BFZK;1JH0N49G.)@"L;)U0'I]>VZM*SC+;,5E(9>B74U9')JUR.15]FVF MGQ/;M!F6T][LB;5$6T6P2(QQ,8*GBLX803P7JPN7 IMA+;<-R!(M!.49)0RV M0MOR1+(4305J\6B(@_5K'%M:Q-]_-^+)]&APLBFA/L=<:N*8Y'] $]JV?\:$ MJ%,MT;B\OG#<8C2Y\;4?XV#R&PY/^?[9QQ__4[Y-2Q;.?FXS/U?OX^-!3T9^QCSW'_C#3^_-BD& \.?MX3$_LF6IP M*8,O! X*Z1044\B2B7N!"N+ZV_/:HK1,N51]1= F.D60'.<0C$&5(9D2 Z[Q M ,D7H71Q\,^,4SX:#\O3X_E^W^VXWB3F0==4)0UW)D"J(F\M6JXN))5<"*UU7LW51S8;I??V:Y7O M>[D'[>/3R6@P.[W=)K1+-*I"!JR/NJCJQ*AL1$N5$3)JK5TR&V)47:*US%RJ MQF24JR5(IFW%B+ H&+OO"J)>C"@_(4N4![5Y'0^)_MT)!]]->%I7P1@LRE- M1$X[!*,9*3-+SNM,,>RQ!R,D:X[5$NVJ[:QFLO.!0@(5?IO*_]X"W/%UGOGS1#V6>"]V30EA7, MR?3K:#";/C_XM6,ZW7I;]V[HY)T-S+% 406P$D*M)2/JK&TPQ6[IM/5.?TZG M4WF@"RZU-'8X;'?[D2+'C-/3"2^R@$L'7)SKXOV+W]O)/C_:D(I3D!256L%8 MS"*NM8T572[>$/=@%._OCS9\K0E<6KLU9V9?A@,5B"L"6[5Q'DQV&%BSQB1. MJS4LSSUR3MTK\,WF7_>1% ID#363#A%\C5BL-@&RC6U+A%Z1M4=4V<;IO]D^ MT:@44L0VT9*"CYPP%S2V&JN#TCTBZ[?LF]4GMW?7T.?LR[RB&+KK\M5HDQKG&@2HG*U[9#L;.7Q>,*$TZ]NJ[!5Y]>,1-_<2/32C(0]>I^TJ+FV_ =T#BYZCC&; M4D%K=5Y:TS_;B!OF3Z_6]"QK-RP%'&H*Q7H#441]4%ZI##%1B681V"]OP;S& M-%C;P+YI1+RVB>N7;#V]))_5QFA316_=?'%!R1DIU)B"=LB@2H_D:!\YT_]( MVXDWIB,;'_%$K_CPF_-27Z\];-#]Z MWS#?S V*H09)-I*.J8*-%I75KIK0_ ]"P/-@&BZ"Z1;@KXH[-P2X';JT=4MNRRVL^Q>IU6I&R^DB, M;=@CEM9<+ -4P%R=9HO@@52NU*-(O"Y =A-G(3.E)+EO:1/_I?U<"_I<1&@I MGUR/G.\Z ;EZU^K*?,9'V:@K)*X9'2-A4;446T*/7>MB0[>#>U,<'OVYD M9E,5Q1!B,C9%<:./5Z?N7K;ZV#%?<,#4V+P!GP5!\H96:N:7/%FT3RAGR%P];:W^KA7=,1$ ME,&TC8(K23KAN0;PWKGHM>IYW+L\D?MQ_>$F1D!YG,UU6G#6 ]J(6A,IR2FX M:*ZV3S-M:X)C-[&PU0Y+U#/%,T!"C\R<3*V*78ZN5^N8U@3';J*B"Z!<:"O0 M%(/#A 6) Y/D%EB*R3V/BAW9X^KCHS8ZD$\QM#D31QBS+:T\U%CT'&+8G/@X M+T Z[PSU[/[^1D9)Y;4)WCJ.8HG6!TD.8TXN5N]40-*;$R57BV8WL3+IA$YA M)I&J ,#RFY/ :4.P6@#M<3.6[FVS@TH3"LH9RDS*B8*EV%95)M*&HDO$M#D1 M<_6VN?JXZ9U-%9&=2PI*2)D-IFJKKLFX5"X*DONP4_N3"7N M,SQKI[TWD8-?S6Z8:,,35*OE(U4'69@JV^V*1C+H"\ M!7AYY>ASB7VY-OQV>N1V3ZI:*+ EB$D[\(ZSMN1UJ::X6C1#CTC5_>*;+:W7 MA=9B-)==M&O9+E.ZNG=41M/"@T(.F7 M TJ$R;16&"X4S/YB;"1>T#JN[Z*S/FB\>'. XW+69UE(\P:5"D!B,I3L-0'$ M*A"$*"]M >Y],%P]J5 7MH: C7-@(T>,&((RUE&4)")M2;4-ACVDM:T,N>H8 MA;C0*EE2UM5PK!A4,KE/!60;2>M>SE> -XK8Y)!U (T>15UYQ3I'\9T4^[2\ M@3+&(W/X,[:W@8HK1; $-* 9%DHM(IIV2AVR\(7XOIM#7 M>)SYX#1/!V6 D[,#'/)^G=O(M29-D\%;D4 246@N%6]_&OV&0ZS7=YC\FA;3 M.ELQ,H MN/CPGVVO\NE,3*<3N?'/;]IR\>Y-3GDU:(:B7>L 1V2 L\\$K1"Q;<$1;;54+,1R86MZ_68@E@:;5OH 7PU&^.ZV,=/+Z<];M2\ZYJA;-J@$ M0$DX?/$BQG7"(WZ'P_'\2WU>FBX.W:_/%X*8 MN18L4+5+49O$I#4%'8V!:U7?VMR^7?^-Q/#F]=7:+*EU+NCBQ;*W'5A2\;B.Q5EGE#<(L2U#-NPI>LZNC0VM<:1?9)BO)CP?U6W?_W+F>3(9 M#.5!^665=1R438C40_*@C82%G8:LG+5&]M: MYF/T)43T9*V27SZJV36>E'TPX3*8/48:# =7AJH.>7+\\_AV2[2:-OK[4[!7 M\XJ*L61;B$4;)5MS #$.C/.&.YET/Y'XE&:_'0_?#D:OKA[4$VQ"\MH")82, M4("3*2J$R#K[UO#8G^M]P69G[4$:CT@^,9F/]CX?3-_,"I'MO<3#$ M/ ?J#Q^[Y0J5:]C]17JRI J5K#!E24B21"1@ZW/B4L0)5E-3S7VH!>O4&2XQ M+%F-"DF[UN0(M!B>"3JT@?7$[:?4H\4"'4#2?5T^8YO_T+F4[$#'%(UV/C%* MWH^F5-]/2^HPF"USS+Z@$VGAC;8%3.O7;Q%"#H6S!#B%/;>ME8/4O;6YH@,: MPS: U]-RJ $7RY<*C'0^EO;S^/I5"1&6X/)(QKP]/[9'LY.)[Q?/[U\#>"G MH\+'([GP8F>5)Z>X6);5$S.D$,%AB06U!Y&3F*,E6]&98K)*^1RT-9:2SWE> M/O!,*'[6%L1.D3YM<7,^-#*=\>3!>"@R#5_-*/WI]PF^@['!S+(?OU0%Z=UL5-'UP8ZN+N M?[R=$_]0QNT\YWN\+]9@WNZ5/C[72P_P!A"W].I?'8H!OMT1%\[_C6O46F+)1=7:K_NXOO!\>GQ;9OTDM+$2$85$[TA ME:#U C#9$#F5/7BML0\[E;6'?CB8M>IV\:^#MX-RBL-/>#P<3(1_X\FRACK_ MVH5<>G7Z^V!V=*]MCO621TSX[.<'FQC-E0'E5!*9# H8'6*-M0;6&;E&2CUH M[+IE4><-94%%<3JB)6P.8#@ER.Q=E51:M$58-)1=\Q:D6Q9UWOI4N<@&JS&2 M(@*UYN]&N="Z&NJ:E8[KFUE\\^2YE:3%5RXE8PK""^!DLY- U+;,J<43&;^^ M]7Y;/BRIB/#2:K_YQ?_=8K_YFQ?GN'$--252!,D1RC\:O&3"5LC%SK:M)T+I M4>NA@XN]7^^?3@87B+!@_&$SU]>1O;T;#(NIS3;GQSPY.V KJP( M7[S5%J[^587J#;/#T70\')1Y6OI4ONBUFMA]81&V@9N+;WW[4GWU/8ULE+R. M4S"M<61@C)"UR^!=,""ND7O UBUM5D\;AP70*XHE$!1#69M6O,UBUM5D^;G+"0MBI* M* 1!,Z?@ SNMY)5@ ?H?&R^F,N9K?][R<'S2SGL^CK^T8M#5.]@UHV\W,3I0 M: VZ0DBE KF8?)@7I4036TF*W=)WY3Q:JLW<'XQG1W+]$SZ=#>AFUM-+(D?G MLHNE[6:C1&P"2@@O%FL.Y%)-N"7RUB'>A$=,CKTM,:$*0J*VD,.0>$:O*V=( MI?\R1J MC>0;E?HP\[MU#!?SHLE!]092#0H2:*P.G&?G+!A@%WJ@4;:QI>/I TG32M31 M96-$VL8D?@"3J)2:K,L?MU!?9PIM8\NZD*FPFYN:OL)28>+3!JL]0 MU0J\A^0S8!NCL\806^6+&&W0&V*9*T>S&]MT$&NQB6)6'L#:Q#KI:@6^K+3W M?5I:O"UL6G&6LOJ%5L&7;$BKR+Y"Q91+UE9)9#'1QV!<#]BZI4T'J^VM,REE M3C96D%PD0O!.'!VXZB.2Z<'*JJV3ZT@NKWX%%X%QH;!3 0 \$(; UD1%"BNA MUSU@ZY8VJZ=-S+6Q@IV'V)8AM_5^HLJYF)PU$_<_-FZK/38X1A==C'8Y:-8! M4ALI0")BE6+%Z&+>TG<[5KJE4S U>_)?+6(=YH M.B4EG0T8773;U[B@= M1PY.HKHCP%R\4$E70P[EMQ[HPFU,[3BU4*74J)&UR>!]1 T1+/:NI I&:HH82Q&(S027B4J**^9ZBEP[D/#]JUCN(@M!HO-F*K!#"%B#$36 MUE*+T>A"'W+%;6SI5IYX$*$;2\Y<$.9M,8>I'5?V6RVO' MY8XV-['R)VJ5=;(B-DI"@$P.B7W57+$GBG'+Y;7B7R6G*Y@UK'Z&H&'X.K!MB8&(3(,;6U628F77N@,;9<7CLN=S21%KA" M<*AJ(B#QRY!"S%ZE6J$&UX?- /O%Y;_:>6ECN+SZ<8Q@8^4/+]XC&IZ.9T)EX\!;S<#4TOLVY MQ[6B<0=]14*JRF -G#38$)&K*CHQF8HJQ7 M[5O'C="W-%XG&G]9QG=EV_:O MJ?0DZR"J[+)7$+3&X*(K%6S$E&*!K3?>3H[TP!N[F'.FE)WH82BD,;>](RIF M,%P1KQ<3;;WQEL;KZ(VCR E;LBXQ P24-$]K(W1F4RHIV'KC[7!%'[PQ4PT5 M+2J-"+9$-%4E]+I(PL?>PC^?KCM[;[+J\AE/ZGARC +HH]&'L^.-Z3DZ& E- MY-@_"D"!3$(K$Z:UT05-81M/*-$^L=F+>KC["DZ@ M9X7B]2'Y!(9\MM%CRLD$"BHEM[Y^8NV7A.^-W_+PZKKPOG@*](A5(@4Z3*"- M23,V!RAI'];5#98FVDE'K3#D; 0-8VZPQ,;?I\ HN M*[N^MG+QY!\/1J*AY,E_2@JGS^8/X!E.9P]/KV57GSOCD\GQ-/%KT(!Z^.9G?! M_!#S_O!N4V=%=K=3_]_W\T)]^G)[@Z* MC>ZV$7F>?+_X\,7[-!Z.)W?_7S7_\W^J?,F=BL>#X=G=_WTHB$^_V^-WWST? M'^/H?__'%$?3_Y^]+VUJ(TFW_BL5W(D[[@@EG?OBGI<(QF!?.EK"QK@]\,61 MJQ'6PDC"!G[]FUD22&RVA(0H04[<2V,DE:HR\YP\SY+/ _IQ6,+PC?WFA7^- M>+S!\I\_AC<==< ?K6B:7SY$7'CQMC\U=O:WMXJ/^YO[VQ^OWW,%[_;C]IM/ M>SO[.]L?B\W&5K']GS?_M]EXMUV\V:W7=SY^W-EM/.$CX*D>X;/N'T6L#;J= M6K&U_F:]P)!1=>]MMW7O:UQX@^[):Q*O7Y6)>+N[5__?_T$<_O&OB+-.M],X M;<V?3F**C$V,ZWWR]U;6G MB4!2/&MME/=$_CXW6]WO?^&][P>D?NJ.M[\?OE/'N\=U>H#_;AX>N];AN[?' M]?T/9X?O=FACJW%4W_]T?O!Y^T?]\Y]'C>,/\"_2:!U<="]VW\7_M@_(X>>] MHX.+;5C_O-?KMMT?UK;?-@_T#V'@KS_["A_$:EM<_;U\T+MY^ MJW_^! ^.[7F\_K?=K6\7!^V_VP?[1]_J%X?'C<\?V,&%_>[>_4W=__W9.L2M M[^:X>W:P7R?US_&^]O>:C8L=6,RE3:+KZ\MH$@^%"RW7@6-HIIUE-DL$6O M'GEC\= [%\^KNNY]*W8[_K=?W:;I#@;=]FM>WND@[4R7;S#=7J1V$.^XI4_Z M_O7E+W^X9O^DI<_CME%^)@;N\ M_(C9UTMF_WW@;K]&XQ; [WT5KJ-[7_O95159AY1.==G?RSL>WG5\^C20_V^- MK%U^X$0[%WGF-3XY*]!UYFCY,+@Y),.1GGX];/::NE5\ZC1MU_FB_O$^.H&_ M6A'#S7/1)%*&P0;QT_&AH^**C]=M&=UJ=0>F>W87QWPXU;U(IZWS/7_2[0U6 MDF[>-LV[3_RPO7U^T&X<[\9KU???-AM;EASLM]J-BP.T^RZ^]OEM^[#]]KAQ M?##ZS-_Q;ZQSN'\2K_EG\P#76;SOL_KG'=BX<$>[GP](X_@3C:\='7P^;!]\ MKN-&2_[X:W]S4/\(S^)_OU#BJ3(6 >ET8BJ*@=%*@V MXX@$AT+45/_[/TI0 M_L=-LKHB@=&*GW\Q1WPOFMG4K[;%_C MI\W&?K&_6T3QLA\5RG#;1*38W2L0>^5^&_YA]VVQ_W_;Q83"N5(WFV_VB_AR MJE1U;:Q*!OB]9+A?,OT2E,--J-^C'+J]8G#DB_]> JX8"OK"=YQWQ6,RP6N7 M8E3QBD=.GY][W?.=NZA@:"IM#Q-05I(('JP[SNH7.U\DDT%23("*]B^@/"): M!B6!9RHN2XS^;C7U[?OAYAQSN;Y]%44+KQT>MP_8G6+_XP';WOYWMOON$#H^_ MW1(E]?8.:ES\V3J(SU7?WXZBY.OY[KN_VX?[D;NVOL7/;M/#_;_;NW]?%R60 M>X>400 QR@"U00%EC05$8*LHD5($.1(E]#F+DOV]S<;'G20]JJ5*U#)H_Z9% M^G-1,KA"W*4J";UNNQB.Q?P_BT%W8=>:9F.MT B_Z;;;S7[R4Q>A&;?,SFG2 M#J\7K_?&-+I=NIO?QF]KE%^VDO0YEPOIX@MGP5(D// A:)!(#VA$':!Q9!%5 MPDH24A@" 4(%9-/[D9:OU^[V)7VY_W^5]V8_^MK?\U^;_<1I@T9\Y<6M_SJ, MM@R&@L!HO""D ,72 (D,!(9:*B&F(FB>R,GYLV:_-F36G8Y=KQ 0IN/75]MG MV@[*%5!T0]&[FOE"]XO^B;IG,[.?+A!.%QV2Q#1OW8,+,<<[*<,ZI->]WO" M\'7/U)#-(R^-^O]$%57F6[]))]=ZYXF^5I+<+VW#KS_J6_8B7K-U>+Q]'HT+ M>KCUC1ZV_VX>7-19_ YR[6YH_&13W^^^]V?7\'IN_8W3]J M'W[^\[A^T8K/XX[C=9OQ'J_;A@Q;C+4&F,;=@ H4@-'> XL1#8Z&@#E9V]CR M+?U#]_SC&X>SNCH6%(XK5_8->^)!S_3LT7H3C/OZ;&>4JF-+0*ZPC;%L&.Y< MP9!P9X0F&&AI?)1G@0$EG00H'9?'0E(GZ=J&0 !*@952/P7BHO>:Y6#R[O7[ MJN3WHMLKRM,RQ?%IK]EW35NZ)J*^:T[N!>7;>E]UIWE1_ONWS$\K,,,[ZWOK M']>+[?9)JWL>I_@ZG12-[OIO,_C5[A/L=R6C_4P9W^DO>B2M+*!XB%;&<%U0 ML7!5B_ ZD6KQER7K".-'4?;L,90]8],-[[WXN4T[PP;X]:WS>A@=XYZ9,:#7V MMY/$P%%>L,,M&V5"J[6[M<.&*2>'1XV+;72POW=\<#.]A*7&]^=+NN2,.\ MX!6[I$#DROA01@NZ5->[O??QG5%)K[3S9&FK>FRU"8*4@L$"[ A-"4("J,"C MU48@BG9:G$0=5_6;N-KB_'2:.KM/\L9R-P[?=R-B6X?-DU5W82X-A1^N4,A8 MRJ8- A#B!*#:J135(L P%"?""F2"6=M0%'(RN]M$56K53FE1CQ95\H^<]"*O M-T]TJ_!GWIX.HA:,?X[&M>]G[TCE)S(20I$881H'R%1NC@=Z1ZJ2E#J.X_^S M7PQ\RY\<=3N7.32UY QLG::Y+73/ZR)E/[XN7CTBAR>ANAF_:F59^\%9!;!^ M\>V+TU9:Z@T0*JH>BAD%DBH).$-8Q4%ECD7FY>Q6,O1OCYGN]%"=.6&#K",E%^\M%NN"+=X)3=BZH-.E ME_S"KSL:^7*VHHHHR@I615K#?XQ>2HFG-UY9J<#,?G/0*G.HMK4]*MZT=+\_ MA;IZ >/2T^EF%S(6O>%UG^4X-48I>.7RV3ZS1[KS-?ZA4WP^:L:_[%TQ\"S! MZY\,Z>7@P#0T:P^=F)4:XH_G;=-MO9K*E'O@8KQS5*>;I-'F=O>7/0N"6-*! MJ;&V'2F8YI=__K^>'QG_'>ZA>- MXT:[\:Z.QI^Y=!5UX]4.-B"ER,PW-2J*!Y\ !A%^W% M@*.]R!4#TDKCXM\#0C3B8NL_'Y>_Y)^'1'JBH[4^RJ[;(<#+7>12E*WLH9AE M(V8<^C.:,ASG!4A/*:!&$R!5_($,-](I[0FRT50X\D5#]YW^;_&NU36Z57ST M+6\'12K\XP>_#D=,>7STB0ZE['13+7,WD.QF? MOWE=O$*CP[1'NE\>?G2%;K7B6]*9[N22^>]I,SED!MW"^-$;XI5'/IFK@[G= MWN3!W)&/9L*UEYZTLO,<+#:Y2E,/K%JWCE M"*"B?QK-D_Y1-YT,NCS^.CC2@_+38Q=T\4-?O^GR/&?YX=$C_58K=,<5K_#$ MO'>AH?PTUX[T(/3_DHRQUS'Z? 7; F%6DL@N<,IGP4!Y24!7EBO' S$ M8+.V<>#[-R%^U\GE95=UP,-PV:@&T4SWL%#ZN+V"&]UJC0^=]G3Y*A!PD>@G M,D^[.1A$PBHWHEZWDZ10Z[SP41:=%SM)(6E;AHFW]$ 7Z=3X368>7V/2=;YW MVO+#>:.0)=Z-3'G:TF/J_@CVBU?I5_$')GA]]*[!4;,\AGF2CF$NCJ9[]]/T M\/:OB-?W?WLZ1IT8[S3<(X)]>8S*OD ;1]$)!@*+=@B53@!C @+:&N.DEEAP MD1EU9D;-O/KXO!H)3!>M>-^^T-9&7NWI1(Z)6WI) =[YUR(N87#G"_UV).3X M+;U+F15YIQT'X;R6I&^\7!2(:8R^%E][W1^#H\N7UZ,(]N6].1^:G;)Z2YD# MM';?O:T5:W?]L5B[]Q;62D&[=L\=K*5C]>-] &$#\&40=5*5KZ_P 76,UN64 M9[YGNNPZYHL_RD/Y.E*+/_?^>&,@[G^U.N75%D4U2W(!E4*CQ':BM*_=WOE= M">%)Z/7>C-ZPD@)DZ S:W3HX.SS>@0?M'=C !ZCQ[N_6[OY7TFC_>7QP?/CM MX/@H?M>G*%"^WG0&T<;QVW;]>*]Y?/['=+8L/VHUFHQWO]]WV MC\;^VZ/=&X?H-3/*8B\ ERPY@ZR-=J&B #/MM#12^%1@[:^[6;AZ2>%3;OC3 MIF5>4T53/-44\=M5 OCF>,*'V^)HUI_?+-,_9HGDK](<-N[2:B]@"E\44#\. M1>\0I%?*=_C/D/,&POEC.>!)0)!CQ@71,_#'-(%J_G3^O/ 3 MOUDZ-W2GNZ\9[HJ@E'&3J $[W3+L<=KW]U5,[O;*KVB=I^_\T8S?&+^MZ,1' MZB;7VO=FOY229=.Y",XH,%,9N_3FU.C-Z9[K%^D,=]/==TJ!O-*_W>E@*Q[' MQSM=6Z,97+R/T'KI\5R\_2/?:EVNFN)57 NEHW58370*M^?]<:8#WZ^,@_ZI MR?UC&N55YO2Y*E7_^!*'$A'&(!#$4D #3*7@@@)QD /G%A-)?RWL:RM02I_1\\2/]& 'U;1D_CKO!:: M<$>&4)DZ769.?RSO8O=T4&YF<5>+4C?JU_AV^+)@?;:[_^G'%R^U+C.&M.-P M5.$Q$ ^PD,9SQ;'B:FV#J1J6J";'%>@OIW=CF'+>O]Q8QIO3__Z/Q$C\T2^F MSENO%=WQM-P?C+O1Y/6D.]0WKWL^I75\][?:OHZ#=&7X#HX_HDV_VSH=W/[( MKSK%#G\>]<9FTE^]UJT?^KR_]OLCMJB]DQ7N.=_Y\\.?TW7= M%6N_C(RF)YJR<=1,!U%GN.ZR#^]>UJ8OAF7I5_UQKOHL%L-TRG0P[FTDVF+8 MQG35'^^RD[K9.1H/\&HY5Q=[^YMU_L MK!=O=QJ;C3<[FW\5T8+9W:MOIM9N#QN[)XF$+#9VOHSYN!NS._O;]9%7;/T1 M@R!7PON.YPOA,;.W]'*_<3@BT?P>5;Q/%J)?*XYZR<;_GU^;%@A&:7;E<2ZK M?PY/&[WZU-&GKCGP[K=__:YO6D2/LWH?,?:7%\0,"^)--XKS3@I&Q-_*K;), MT.3C/4%V9.689 MJBL_C6I*J+[1_:/B;:O[(^^EJS.S(@-TU:<1XW3"8A!O9] M[D'J74Z+C-*5 MF5XU'TI7R,^)LY^S FM.1"NKKCOZ:\D4_^P76\V^/>WW4YY4.L&^V=&M\WZS MW/;'U)*X9YC"F]ZSY_NGK6QEK^S\$_YB2(=DTJG HE.T3.M)B9!E?ES)(O$/ MK:-U9E"]@MOQ:^S46YG;BTTQ62JI)_[N6IBF5QK9X-D-5(? M[U\YC_B-\Z\<[.[_W_;>]:RF^594SF_*^4W/B&7YVL9?_FLTYLL= MLBP@FK?(%9H\)E^,MD:;F3,JL>S4VD:RP(NWV@ZZO4P7*S1O+X@N8W#/9BB)9ZI_Z91>\D1S)Y+)"T\Q>3M@R1Q"JL>K8 MVL:6#_JT-2@^G:3#_+[3[/8F."7SQ^K,Y OBCQPGJ,:JDVL;]7C1*$J"CUID M(N*8B6-UIO %$0?+Q%&%58?1VL9N6?ENIS.L]Q2ODBEC=2;O!5$&SY11B55' MUS:VSXZ:IIE3L5=ISCB7"KF*B,@3\UT4R/6-C[&@=.#K-97:]8X^AF@ M;E7&GJI>5G5J+TY?MS#5'IB_8",6)[>K-=ZQ3&>I/C;+QZ8J7;90 :1^E42$ M)TL;I?_]O+S1]86VY-O<&?AV@=;O.; UX_PL^=ZG*S%9F9N=JFI+M1_B6MFA MBM_J3J?8/^J>QDNXN$2VSZP_&13OH\5<5CHN-MNI>G___N>XQ2-W9D0^2E%$ MN0Z5>DA11";7&<(++U^(Y+K #^M+^?/7&%U\"NRK&MQ6=%U:5W$JC<86]Z.Q@*EL4!JEF9+1MMO7WN12!P8W:ZUWD?K/?G]QV?E*D\[XG'7%>JC=[?^G.*1;-+X=RGFO,?I,S3WPH_S?KQ"]G MY=]MO(VZUQ>Z7 .O'[0(;CSU@^;HL:^Q( P7Y7]EQ>+_>]K\ MKEO7M/SU/7&JAX?%"JSF?\SUA'_<=*A4Z='N[1QRVG0TS[XJO7)Z[3$-CLN_6=[O+XV!V]T MKY=:9_V=FEA<-0\A3]P\I/Y&M6W[;6+QN ;*/&\5[K/&5KRO MXZ-VO;UST;AHM7>W[%D]W3MNA/IYZO&VG7J]_?BB2 B040L(5AY0#@.0VAI@ M Y-2(.$\AVL; M48XK>:CMQ=<_LA1#<#(A:YJ6=:>I:T1*7B AIOB<84$2@] M,<2CP*W'7IFRFQ%2"!.4::E*M'1Q14L.N4A*Q@)HM 84*0$D,@PP0Z$0G L7 MW-J&@C6J9(5H:4$R?B6TWY[O#WK-LMEE4G^UP@X%_KW"'L\V#G?R[2JSTL/% MTG7J&0]\8I_,,3-P3./-A/213C@<=P00K F 8B>C]"$0<$@I5 $A0^3:!B=D M7H+Y"<@?2_=,:^2^=$P^7"ED3"X.D^-]WWCM(<,<6(LMH!82(#%'$9U42.:M ME5I'3*:8>F4P^9(U8WA[W%^T7/6Q]M&=/R M6<4]GXE]XH"BX4"% D'C*<4L&"# MPJB)AV> D&S!)<$)?S,39@,@L]@(5V)^--2&&G8(! MPF%,6P)ED 4L[AW.8J*L3RQ$:TK.+2>R^Z&RZ%V"G,CH711Z)UP/CGBO1 !0 MTP"H\QQ(K2!0U$B)K)5[ ]TJ;@:MYG%*3)7: M_RQY:PFJHVSS=\-GFAEK%L;Z.)G:*XT7-A@ N?. 6A_)RB(,"'/"$XL-I'IM M _-:9*X%F3U3HV.%?!LO%_%+4"H9\?,C?JQ1I%"0:*H!,BPBWD3$:V@L\(Y3 MQ7E 6B3$PQJ25E)O!^GA@/;\"J]+.&ZE8BJ:HE$:/ M@$%< BF,LH0K);AM+2M:=54[<[2VI%1W_L$,]OY*(*TACU?*77*:9 MW4-N#3_(_/80?MN>%"/*2FB%8=&>(O%'8! 82!!PP5ICJ5'2PM*-PM2BHL?3 M(>8Y^%">-P4L,=,T4\#"*6 L<;2F%B+G 7*01XDCH\2AP0!+&7(.FU3XG#I+B(^XC46F)@M N 0AJ <8$!3&3<9# FA);E,W!-+:QF6C4B(0MT6;Q0 MG"\C$I)Q/@_.Q^*#0T8$Q"@B.* HAD19RKB'-$:AHLZJ%:Q M<,?#VFI4J!IK]G$\G>"X7@OR=I'H1K=C,TL]@*4^75,CF/M@)0&$$!IB'80E1ZHR!_("A^H-24EP;F= ML#D-H[(X7HS"N/"]KBLKPV<(/SJ$)^(HVE$"$0864I(2-PG046@ @:W$E@@5 MIS&=DY 8X3\J!.*7X+!(OX-N *=]/XJ?%*#8/?$]/8B/4+2\[OOY#Y\\:VY: M@L:XFI"_TGR4D[8;/O5]R4V9FF:B)GLMQ9-#'ODGNU0JG#4*6J! M=8X#&ID&:!04\ Q*A63<.%!RE])<2/3Y0G11!T0R1!<(T0EU(*@SVGM )(\0 MA<8!XY@&'!)B/";:HK+\WMS]:U?/[]!N.M?R3W5,I!OU\."\/![B_WO:/$G> MM^QG^!G30"NU(T[SH"@U0BD(K16!&">0#](LY&#(<%K>MW1GL-EQVY6<46CV6IE%\+312;6&J 8>+@><[$?B#% M7*MWR;!#-%H3P'-# <4L&AS&"& 4#2X0+:E(]7S9W$<\L[^@LN!<5&@A@W,A MX!SO_S82)!8F $+*,]B: \,\!IK&^8(^*GE%UC:0F#NH4#U?P J5A;A[ZW_P M&=BI3H=7;23^\7B/_UQ8=FG%+S+CSL2XUTIQ!F9=H- !%(2.O8[/HACM666NB#MQ^%=3FV:K/'5;)J]\''3M MMZ-N*PYL_Y^CD[GWNINF&(J).2)Q%ESWU+3\K4FZUV9>A-W].'?Y H*1H[)' M16N\1EX_:"U,&R]YRFN\I*K&E_T]BA-]GAIZS&/ /S.5==<3/A^' M"RL73GN(L+I6DD@A&CA2 3#H7#05/0;*.0P84M8PH1CB.%5MI>H9YMIE(GJ6 M1+3$%E:9B.8CHHF<02:%T90#I+P!5!$)M-02R* D# 8)GT)XN,;QW%D"%8T3 MK("LZYVF6HW==JJ@KM/0YT3"IQ-#V^V35O?<^SW?T@/O)DSM3$L ,0H#JE'H0B 2&\@(4@*0M$ M& YX_"^@G'J0\N"CX?:]ZSJ&O,RT'S2[94@[(9A.:VB M:^*]E7ZLN^IX9M]654IX7A+6>::KA]#5M2IJ#VL#,!@C@!#5 M#A$='')EFT9&*V029\?6RHF-#.'%0GC"JV4TU,(S$(R(YB37!FC&(6 DB$"\ M#-3I5.0?P2KYII?MU7K*@EU3*H[KQ3VSQ^M1]<9][0PF2PEFEIJ+I:Y7\8)2 M*&(@4 9B0!UQP!BC0>".:2=(E!IH87T,LE^CLNA]C)*?&:?SXG2L)@@GEAD( M 8(: 8J# =)9!Z#1VGCBF$/)?Y&=%T^#M"T??%SCKNCY[[YS>BN9.ILTR_-* MO(G?E^[DAFN?:H2#A1)9;T"]\ $'>T M(V4Q56L;[+GZ(*8IZ_&4/HAA60][^Y#=/'Z&^4['KS(K+4%>Y+CLG/1TK2:8 M9T9YJSV0P3% N:(@U;X V&)$'?/$DDA/&-;HPIJ55:8&Q@)]$R\7\4N(D63$ MSX_XL2!!7*) H]% M%. PL"!U,0!B(43*L2)PRR:#ZQ&Y*)JC56O1L3JU0&X MZ>$H^YJDD(F]'D7)GH^*>CYRF<0'LM>UHETN($(9(L 20:(Y12-[26* QEIZ MA"S#"I4GL>=WQ6;G1V6QO 31D;'\2%B>Z.%N+&=0"^!YRM"(V@-(G_HF(PNU MHT(C*Y,C4\EGZ!VILM;XJ]OY"@:^UWZ\#-"7$--]N@S0S$\/Y*?ZI-: F N. MF :*IT;N<;* 8BGN@GR(\D,KSFW9!1K"*E5;R*D9*R-%+L-66H8+2M$QXB3-O/I WKQ6]"XHK1[$%SAH7>5-#H"$U M@"#E1?QAH++)/,.\2AVILJME]=1/AN_"X#N6/9PH& 1R@,EDO4"1/*6. 6[B M3/+(O KB$KZD2I[29>>>/'U+F9QS4GV!,4%.F9)FHJ1KY>*L%%%&. \(9Q!0 M#U'I2P%($8Y"V<=8F1#/4YH#Y6'\Q$4X$'"*PC$>J4 M,""5QD I" --_>TIC% G-<96)J]LI$TN;V2TB&6)XR?HH##5\SYUFX?9;_(% MQ-?>=-OMYJ#M4_>'U.\EQ9KCK?N.31U@7C6Z U\@]-L\+5]N#NWCR*FS?O-U MI]GZ?VN#WJF_'4&_>LK-CKOVC)E/I^#3K]>=,5 (%@)@GE% )=% 0XL!PDXP MICGVHG3$WJJ$]D3-?!Z^_F;9X_/Z>]SU-U%-(SAI"<* :<, =3YU%=,>!,<" M@\3$"3/WKK\7$!FXWK++ERV[W1KOG]\MJC2X#T_M=H*+Z>8+[?]R[S M]][^.1[OF%>"YV&F]O4MW5W93+\+WN[?8^#E*A[+]UZ]2/ MOWUDS\#,?[_DO\;6YJ#^9L1_;Q0\_,\1M.V_._JS.MT]_H .CK^B^L4GV-C_ M\[B1KK7?BF-S]*UQL0-WW]7/#O<;\7YV\'\N=LZ^B,"]H9Q'XDS]@[QT0#,* M :2$8&44CUOU;0PPSBO()6;@59+A!RA@!KHQ5-I>'1E!8(((F8%D1P MP:/^@^OPKERD6W\H3G2O^)YFMCCQT:!-<_M'<>_Z*U_O+XZ\IG;&7%^5Y1+L M;YX.CKJ]R-0N^V>>9#5^0%^X7UM.+K20:M]DL5X0+X@&B1S00&' M;%1L%@F@"(O_)-8R'ZU=H3"NWF)R(U$15 -#3N#DF3YPQ47:)N!08 MB3NE-GIEF"GO=15844%*'C!R<:]3$%"1CKA@* #F@GJK&%,4K6VD+.]?ZZXI ME%FS)) RYM4=3_^5F]0UO^?S)TLN['L=FJ6W)]M!L\)QHIZO$MZD ^D8AY"R M+BG0J.S7ZZ0QP3JI:*[G^_Q!NYA,I0S:1P3M.+@IE"9>* ^TA-'BT[)LJ,V M$XIXKU4JMUE%T"X[KEJ],%R*\7<[E8C!#6\EAT\6A]'M^W5N^VW4M3OG=?QG MJ][>^Q;'YSQ>@QYN??J1[BE^/VN\^W!^$%__S\4V_8*-E$%8"JQ+9YDD\2#N MT@Y(Z364S%GN\-,&X/+RJ?#R<1!YP8("B 09-PCO@%8V-:,,T4#2U!-"EAM] M6T:T9&))YE!))9;BA_,ODC"N&75 &1Z7(K'I-R: "D%[0UV@E#V-#R@OII5; M3!8Y%^*$ TM2MV5F*)!*20"M2H=\(YLEAV*46@^-O$5:N^;U]_ M?!',>HT\!L&9N/8L5\!X&GF-6"M)Y!N;>EA5?QUE(JO"8N).>X&C5H21PVA M$NBX4P+C(,2.8B9M2MF2-2EN5^^\E\CN#A 6>E!\]"<#WS:^-W2W$E@KTA99 MOG7+V\F74'H)J5H1KWCBXQ=\]ZWS.8*,+Z',R\,%R;U@S6&)!P%T'$M4G*DX M)P%H[@*@/C7ZBC,"4"1KBBA4D;W7-G*3K^>+RL4U^0FEX<95"Y7+[BG^E.#:C+>I?KKZ2>-9>1\G9:?S9C@EF89FHJ%KC3 X9YP2A( 6U@'*' +2" X\4S9 MJ; V9FV#,E+#BE8H9R$G&E5%(F3T+AN]8Q&A(.:(ZM2$*Z2:U(BE>!X%CBEO MI7$6B2CM*14UA7-/\2>2$M:>MD];*0TC(BWZ@X\VZ;=WKQ!'M3TS4UG">,C7-1$W7NEY([J"%T;1AAA) N=% ,T$ <4$* MI8.')JQM$(YK5*E;U'2K:%5V.ZP@FA\N*C*:JX#F":%A@U3"<" B<@&EB@#) M$ 4>$>R9-$KSA&8:T0PK@N:7UWZ\?T?QJ%P+NJ*^C,E*7]OE5&5^FHF?/DRJ M#<8DX4AAH!U/,0XOTM$+ 0B-A&6E)!A&?E*P)A?68RN7A'Y.B%^"_R,C?G[$ MCQ4)(3!.#H6 <&,CXIT 1@D/D(&:I#*GW)4YIZS&T-Q]/U>L ?D*:9:)MA5E M#L8T&F8AQ:+O9;&J^8_^\7B/_US(>[FM.S8[+E/YG%1^K4.8Q4I3YQ%@2$7Q MAC4$"CL'F)>$!J$U2JXB1&0M;L$+"HA71KW]PIF4N2YSW1/V+LEFY1_2H.1QO[,<@]\'.K[QCE-J$^-I?41S;^D\@\OR\MX7VMIN.W[U M>*#;C$X\I%U]*EKICAE9!SG._WA;^5Z*<.7H=G1'=LL78WQ#V5/ MA'L/YHV^&(MX9R?=?AGZ?]WS+9T2J?_XT72#HTOVF_C4<&&]AN./:!-OX'1P M_T?:NO>UV2DG2UW?WAYGJ!&<:JS)C53QB9_IYDOB)-)Z$X1WD0PH(#OM:M'_J\O_;[]6&)8S*Z(8K7 M143CO2-XWY!M_,OTXD7OF^%9/K9\1-R:)G'G-+WI.G_6[->*G8Y=7\BC5O(A M+_'\9A+/'Z]07'1#,>H>']]0^>=Y]>F2JGZ[]UY'M# B%/DDS'#/W>]TBOVC M[FF\AHL+;_O,^KC)O/>]HCR85&RVXR8^Z"_BT7ZQ/J]?B \W[+2%W=@(X\BT M]$G?O[[\Y8_+SNW-3OE\Y8=NBH3(R&/*244M$NV,O%NCZX]>7B]?NJ%GAJ\1 MNLX$OO=EN([N?>UGET7QLI0\Z+(_?XU(FF]VM6Y63'797_AF*]%D2$YE;=YM M15P]DYKFF88L\S0V]"U6'?J3CWI1W=;C^X[ZQ7;<[]SXL%]!8&V*+DJ_M!!6 M=&@:\2_3CLR+6>9W6GN_M(^K/=')S;VH!Y[-3%[Y@4N>Y?D)XGF.35Y4BUE4 M*]V3]M?&3?G0>_Z[[YSZ_L.Z%LX2:%]D7]%\DZMUD\_C ,FO/8FC)I%==VH' M16\(K7F2:9\X"CCE \\G_3A4OK=]9ENG:8@W^WT?_\_M MZ[/JA '/1V' XW^WZI__/F[LU\\;%SL_TOMWW^TU#[?^/DHAOMUW?[<;^ ,Y MG CI[1YODOKQYH\4+CS<_P!W]S]<''[^0 _?'7ZK[V_CPZT#6L<'9X?M=&\W MPH!;]KR^]>]6X_BHU=CZP.+SM ZWCK[%]Y[5]P^_-8Z_7AP>OVT?;NV%JQ#@ M1_CCB\$>:I5JK,^TE[9H_*0DHOH:'5/4N;4?4ZY M52TLM7C:8M$L-!('$F2@W@2%B( BKFHLB&-.9"_6ZM!6X\V$%XM8Q(2R.NHJ MYP!U46L9%"P0C%(>-)*&F+4-55,R%XY[QOB6W"A(H@21U%+FO8(46P2#4XX1 M*[+;9[7P/7;[(&NHI\H#PGF4)8Y@8" C0$5&#Y@0[:R,9A2J,3:W&94!7EV M&^&8#I1Z10T5S!N2VL23H(5D+B"8_20K!?"QG\09YZ# $> >:4!)_*&BQ0$L MI2HXCQT3?&V#P!I$<]L=&>#5!3B/GW &2>L@HCY(Z; DW!HHD%&$H^Q86"F MCQT+G%#K69RV(#D%5!@#-,(,"*HQD2YYN^G:!F8U_!RKPU;:GS"L?C)R'O0? MY#U82 6 E28N12V'-+#(7I!"PA6.=H92!BLG&>8LNQ96B+@^3K@6%!<*>0,! MU8P#"BT'BD;3 R%)!4RZ1-@R@D/DHB(XJU(0)%/#=,%=YDE<,298&Y>,"(8J M"C%A6D*,O8;9*[%2U#"9C*($@Q0#1(V,U! P4"(5OP\X(.>A91Y&38-J"BZJ M>4ZFAF=%#4Z;:-YB; -15,>U Z$-AC@K+);<\NS/6"EJ&/LS/(R:ST9"\)HX M0*T,0&HL@ ^8P3C5*!BUMD%E+6X$F1HR-=RF!F^Q%X@+'#4#Y88I'; +G!G+ M"$'>94_(2E'#V!-BB=9<8@ZA;OL84UWA1I_W2DD_EF$Y^ M?NIOEAW]>6_:R_0"ILG9#>^Z75>6QO2][TWK^Q^[+9?WYEGVYFNGX:2S2!(. MF!$I_=%1H C1T:Q'UAEN!#9B;8/4.,45RGY\X:ILZS P3'+ 6> VFM^$ZRBQ60WRN=LQ9!A7%\;+]*YE&"\*QF,G&M&$ M6&8UH$)A0.,&#+1V 6B;SL;Y2-+)4A8U*?-N_(QAO$Q/6(;QHF \=GA1I9&G M5 !B4@1=$@ND@ I@2W&0S" K4T\-7,-D[M2??*9HL6>*\EFB*ICZE[,3*6EK M/#?;0^=C)J89B&EW\M008RJ(N%A!W%VBM8^A!CK.)D#<2HV@DYK"DICBWE*A MG,2<=+S"YGZ&\@*A/)&*([2*V&4 "A\M?J<"4%)#$((5.+"X?!5*9:P$6E3/ MU8SD"B)YN?DT&I">;GY+QG*"X/R1#$1)E,M*PR,\010Y%+Q(Z?BSJS*EE+:)GV-62TN MN@I!^46%^#_Z5OSCUUKQU7=\3[=*!X!V[6:GV1_TR@9I.=Q?!1_ :*+>#:F5@*"T(E6.&SQC2 MR_0%9$@_!J3'3@$<;-0<*;66$P^HY@H81@.P7#*)K6#8ZC)^R!?5RCM#NH*0 M7J93($/Z,2 ]]@XHB9G!#@*G<8HE(@YDM!.!X-AQ&DQJ2!!-"EXC,&_3SQC3 MR_0.9$P_!J;';@+$O8JRBP.BK ,TVE1 DA25TX$:ZX4-7I4U1Y%\AOD!E?8. M#$N#V)^ %G^Y;]D&!E,TT(JI^9JI9JB/O;R:6&OH)-K\XA:"UC@/E M @34>@.T9Q(X1A#!J9P[)R5743JW33$K2E8H=/&"D;_LLP49^?,@__P*^2&J M$(\0!1KK "B1%!BB)2 R6I*0.N5&Q3XXG=ORR,A_CLA?]G&$C/PYD-\8[_G< M2F5-JBN.,(T_M ?2& B8<(9JJ*@C;FV#RUK98S.2V-5\)K'9&/:G1A"<+5*]5QM\NDTFZ+G8[MMGWQ MJM7M]W\K0J_;OO1<=#NYP.G$0+U:KLNB'Q\X_C8#F^U>.IR&4_I7G-!,:#,1 MVO:D^X((ZZ%U&CB*):"8:Z!]<$ Q)GBP2G"1I$P-\MM]4GZK7-6A7)!LQ1P7 M&=L+Q_98K%#B%+0JVB4$0T"E5, 8S0&.,M,2I3A#987U1>4Z9'A7']ZS[.\+ M<$_D_?TI.&#"5<$Q7^@LE,:A[>+IE2/ 5Y" MDL5.A&#/]P=%LT1 +KGPB!Z(Z]RST_D>QSV=]1J2S^5,9 *:B8!V)ET,R#(8 M4O5$#ZT$U'@!E.11D<2MA3D5H";I_.:B(B4K&@QYWD!=N*L@ W510!TK!:T] M=C8P0+F(2B$Y!*6D-"J%( D5 07E4XN"*AW-S$BM7DY"1NJC('7"JC?!4T:# M!,ZEU*-HF %IK0,J("4)#T*XM*7RN:L@9J16%ZD+,,XS4A\'J>,]E5A%!$80 MF$!,W%BQ @II#@(T(1UF(!CIM8UHMU0(J2\A(6!W<.1[5V<6:D7'/ZRRX>J> MK7JJ2/\-9U^:AT:WT[WN],M'J!["//5)L]L(H5FD!, D0H BCU,#=0D0M-Q8 M*"W#K"#A:X/!VA\ ,VF0;M8X)V(BKN0YPL:( 100!JK0%:< V4 M0D0$%F>M/,*#*@+:EQ'UGLS1-SYT>WX4 2\&^BQ7%JB"]3YU%L\X>>>RB7"S M??JV,6_RQD>OF\_S6^]V>GVFH/S2[_C9L==O\KV?T_CRW4_..JZL;,R M9P?-QH,?K@7G-876(@[B?A7%BTF>2@H=D-1Q([3GR SS_\4\3)@/,:X,L3QM M4#]S1F4Y8ZR=#!0A[A(6I/)J@ KHHXJB!!BM%6/4DKBUI(+LMQ.**WH",M/& MRCHYLAYY!MPRF=F@XU[B"([6F$TY2-X %20"4FDEF8*$2%R>5Q!W'%O*@N2% M,\N3G%?(S%)A9AFK%L:\% 1CH+@D@#HO@12!1A$3;6,D@@R(E^<@L)0KP"PO M(4GC?:_[O=E/F(_X*5X9W_&A.2C+-_PVOV=H=9W33WM"8L1B(R?TOX>3DIEI M)F;Z-.F#P9!:3QD$4!@(**<0:,L8X,(3Q*/ZL.[L]99Y+)JZYB&LL'A'A/J33M8$R ME[+74AL>S($1F(9HH@<6?+3RZ.WS,@O.1,GJO.4U<^XR?3VUST M-I%)+*EF*A @E$_IQ-X#2:T#02A&!/)2Z%#FY!!8>7H;>04O[V*THGG)78OV M[$]QC8F')?&)7/?4M/RM#*1YOB'?Y"YRX;WO?4Q3O5A_-;XWV69;]SIQW/J7W_OOM+ZN) +,$F$*B?!MTC6:K=.!=W,T[_J)!_$Y,N[L _#\^'AI/K&MX>K,C#P+(Q]O7GG%&A>; M/[XX2*()J@Q0F$19B%@ DL( /.%2&.R087)NO]C,L'CBHR^9X%X*P570XY9I M[8&T=CY!:P1C(T+@0*J4]:0PB[06!# $ZA 48LSJQ7C=,K=E;JLFMU7:GY=9 M[F$L=^71B]_9V/R""2+&, R43YT>H)/ 0$V!\$YH[2RT:'ZO7J:X3''/A^*6 MYB_,%/= BCN?H+BO7Q1'3G,+@21E62/M@3(H *TL9Q)IB#V9VVNX-(J[.[U3 M_22]'$YPX[1M M?&\WE%MS)%T0>(J8@[&Y28 NJY3#X+#@B3 M/-AHCD&/US:8JD'^#'.%,KX7>U0\X[L:^)ZH'*RA9'$F@8MV1K35D00:LP", MU1(+Y(SE-N);UK"\7?(OX_LYX7L!IZDSOBN![XD,.X(Y)?IN*YYYA6=2J^B%&7O9; M=)>9;B:FJT^DA>VE$\B8[S2&*^ M3R)C?%$8/Y_ ./\;_XH_+J\UL0ZM3ZU11_R\\2_3^WWC:JU7\V-+W$1P MVD0^>E]HFWQBNG->.L6Z@WCU0;<8'/FXI>A3UTR>M;B7N-2KIORMK'FHTY]# MLZ,[MJE;\;[C'\KVLO<^\^B+*5X7+-[<2;??3"3TNN=;>M#\[O_XT72#H\O= M;>*#0^9X#<0]Q,[OU(6_>^-CMEOI:ZOI$_Z7#3ZX,S^3/=?+G[$6F] M"<([;1%%SDA*-&)8:XB,YI1^21UF1Q\ZNB+0D[C1 M/S^AO0(3[@:]WZH<_[ M:[]?'Y8X)C>FX;X17 (>*H *<>DZ?];LUXJ=CEU??>C?]Y"7D'XS">F/ M5T NNB'^JVN_'75;SO?Z_RR&#:4K_V2O/EWRUF_WWNN(($;4(I^$(^ZY^YU. ML7_4/8W7R8>.(M/1)W[^^_.4/U^R?M/3YZV:G M?*[R0S=U8.3D$>DHN0Z52KPS"E"-+C^BI/62DFZ(TN%K1*QS*N]]&:ZC![Y& M%'_0)W]VLVI="+4R]TKE0^]G^??*R?VO5NM>$5K'?%46 <+K')&I+GNW&8?A M8DXT_/*MZM9;[W#=##GLB7PWMS@>#O?>,D!=[J[WAIAG&[)>]\=-;]=JC_N\<=$X.MBO ML\;6UXN#X[UVO?V)'> _CP_;VS#^C>V^^_/X8/\#NAE3/=C?(74<[^7B&]S= M:C0;[P[.#_=;QP?M1OL@Q6>WOM'X^U%CZ^]0/X?G99;W1_CC"T-6$VDP" AZ M0'400$*G %%.4X8P8ZFF"E.U^.MC-P1=5-F!)553G@_FE>/3Q?7-N_7\*TIO MMSOG/9S;;A#8A+DV--8R@\W&8/"*P0B7UGCG@;4* ^J4 5I)!.*?D%26&\3Q MV@;/Y)7)ZV63%R?6(1@(\\%1R9S2 ELAE: ,:D'P(H19YK4Y>0U?\9J57A/+ M?=1CC .*%(J\9ESJ96SC6E!20K*V$35:#?FY3EZQ7..^9YM]GP(+PZH*W9,T)U,%0_.YK7G.7TOA&5($::XI8\1 '54 -S0XP0*3 M4]18N(/0=OK]4^^V3GMQ[-['Q^B.3F65+^X.I_9RSETFO!D(K_%F(I9@J U> M2 L("I'NI*' A!#_*0+U1!'/53I_.;>QFL]>+AG#__L_$B/\1YZF:D_3#%*2 M8JNQ8P[A*"5E_!_T/IK.%OD(8ICQ->9IRW.O>N%?[I-4]]WZHJH'1PPI([1/?Z>ND#7+\ M*_MT\C3E::J>O?HH(8ZITV8VW?%I?U"6D=KOCBL[O-=-M],9%7,HC=J24M], M,.J>_^]IL]\<^(^^][UI_= WO.V^[537J7T[&4K>!8KN'D]BYH+"#E0W@I MB>= ,DR!88$AZ!"RW*UMH)JBN;3_JI%!YNR5F*;EADLR9Z\H9T\&7G#D;"F- M )9[!*@+$!A*,?",46@YBC]H]5A[2:&7=M.YEG\B,#>Z'> ?Q4S,_HWLALK3 ME*=I]S"(O)@_6!LZ]]<8"1WV()B%E0"*, 5-< M1R.1$"GPV@8E.3"Z8JC/Y+P2T_24Z7.9G"M)SI.V'W=8E=TXC8C,3*W%0"&$ M@$;(8 *]LAI6C)Z7%!M\4L-O7Y_%BZ4JQ479P22:?(-NV52X3!4K^GXP:)6= M%%):GB_/CLZ3E_>R?6;W%SY84F)>^2V)%M]V>W'J/S<'1^E8[&3*3 MW@RDMSMY<(Y%"X0':T' ,%*>$ YHP0,0&D5%(Y1'+%+>'0W-IJ]^D+W>*R%& M\S15AFB7ZRK8&^ZI^]U,MH]"MGBBXJEC-,K(*"@9!)2;J"^)BU-&)9118'*) MW=I&I-W,MJL#X\RV*S%-L[#M8]K^F6T?EVVO%<'A7LE@/?#IS#)EQ@$9Q2Y0 MQBL6!$-0A@KQ[4LX/]>(5GNKV\\'YK*/.4]3GJ8\37F:%B;;D$4!8T6=HH'R M0)01B$AMA+ F&#N-;)N]'FOU'WR4?U(T[6#6Q&NFRUNZH.0 MBGG!E @4&2>%%Y(::1@WFF RJJ@\SS&#W*MLKH+*^YN#>O.*WX+4B@CF 156 M HH(!UIC Z06(D NC-2\[%:&R:)J,DW=+/$IW<:/"/'*T>GTE>)G>_@5Y;7; M$N[AI)9KP2^8NAIC::8@<@1%+1:LE@0H%11UCTE-',!-44>A\<(N08IG0YB:TL19C4G'D&0:I>P]( M37R $L@#8I QV"ADF4_]R4@-WV%M9EK+M+:RM#:+0TU3:@5R- A!J--60TRVW)GH#@=L>*S1 9 K11I]EH8E*E$)!"*. LI4A;C[D/:QN$ MXUI\;?[DA6 *AXI#2-'9!.4."M"%)1C#A5:QL*UB1<5&&-QZ6U4?S@\BY& M*YF7G'4WY?W28_Z@MTX\)8F/XKJGIN5O]5W+W_F,O[-<&V[GUM=L!P];Z6D8I'?RF!@K]O7(%L*9?AUS=BZR/']Q* MTK/<&)$X5BU]TO>O+W_YPS7[)RU]_KK9*3>3\D,W01OO[H\?33JWD.E0J M[3.CJ-_H\L-7T7JY!=W@EN%K1*QS*N]]&:ZC![Y&%'_0)W]VLVH]*L65N5YXA,==F[]UP,E[3IJEMOO<.8&'+8$PEK M<:>P?M-MMZ.>+A7M%"'_:8:LU_UQ,\J_6F,RKL!0E!M6.EX.FIWA/T;E&(H\ M6*/!LO:T?3H\>K_E0],V!WEH1L4)NFFA3!J+_RR&YN*U$;J;N1#]"7.M6 ;2 M/<-SU/.^B.PS..H7ON/B KJ9AH34@M;2;0%]W>R[P_*K^.(:9O!,DZ4US3._ MK+';;$?H+(JF%O367^0<7MHSG6['__SJ^9U5>N=##^Y-[:"J",5/DV3ZYVGK MO$!3\_JC)LQ/S6;/,L/4!.XT(]YRB:DD3F'J/9=(2TBLT"'YR)&"/&>8WG*1 MU\\;%Q]8O ]4WS_\MKN_UVZTX[VTX^OX$S[XO!-?/\#UXV_LEHO\8HKL= M_WLXM[V0(-_2& Q>,9@15#@8&*#,FO@C0*!3!V/O@F0Z",V97D"::2:O3%ZK M35X.:X)%D%!P1%DJ_20]=D1:'"CS6"Y"F&5>FY/7QE6[/-?0&\: ##(J,T,4 M4,X8(*$5!C(M&([*C%)8$XIE=LOL]@S9;9:T4PX]8X0'CKBGAD.E(8L63&!, M2>B@NI_>%ED5O+Z%^Q?:9[]EFWZ? 0MGQK>@. MVV \=>&*9Q\\8$ZK:)@Z2#BCT5K52CDE2&#<&:4I2<5X(L4-B_'$7Z8[TKW3 M[Y]ZMW7:BV,W[%PRC"!,=CBYG'.7"6\&PFM,%O6GW@L4H :;?C;3-(.6C/J#$1J5!(H3 XR,)H*C$!G%4AMA M(6ZW5LGHKC:Z,PFOQ#3-0,*">4(9,<%:284()I7^P(1I"3'V&F827B$2GC3\ M"99*..8 X4H!ZJ+-+P450#"DA4.4&TZK1\,OH1' GF]Y/6G9S]&P[V77V*VR M8;\[./*]3&"S$-C'"4.>>*.LPA!PZC&@5#F@7"! *X8"]5%*:K2V,3=UY;+8 M*Z$@\S3E:/$UY MFJIGKCYM;&2B1>=^]_^S]^Y-;>3:^O!7<7%.G3U393%22]V2,KNH8D(R._/; M0"8P>][DGY2NT(GM]O8EA'SZ=TG=;;>Y)!@,V-!3-0G!=ENW]>A9]WEQB-"' M_LV@J@<1=5I]L4/G._??:3[.)^[(C;[DQI7Z[SMGBI-!?$HT[;5*\#)*<-YP MI5A!4ZDU0R;E"C&N% MV0LAE\H3"JH;$E*'ICD91L)H@5B:6,>LY-*)]4/M!_*\]'-K>^Z1A/E8?86' MA7I7G5'9C+PS*3H#-^E$AT%G[":3G@M2%9PS+@8?M]Z9U6?./)![)GY+@,37 MQ>AY]9Q_(-R;5W$X/SCY*(U(,+>ASK&.H>8>V"HUH?=.!DJ+23216SMT/7H@ MMB*\$8;+=IM6G:.X LO"M53T77FI'AC_!/(RY1M67 3E;PK $83ALIL E7&B3T@RE MCDO$M/=( T5 V&:<$*""2H2*II=+9BW=O[ 5XQ9MVVU:0^VL1=M[1MNF>B:I M49@D#%G.&&*49$CAA",JJ)1:6DV96A^\?0XY;D>GQ6C2&9_!>#O#4>'S2<.Y MVOI26]M@NTWM-FU"4->C:&1M[NC2A.!HIGY]VS_[:)C#GH78 T4U$ +LD3#4 MHDQ9ZDB6>LN2K1U^N99G*[GK+;DMP&[$-JV[$M8"["T =JYQ?=O_2#4VPOH$ M<9VEB$EGD:2,(R,%Y9S3U%.W9@C['-QB!V[2R0>FZ+O6[]6:^-IM:K>IW:9V MFU9$U90DCB>66BDRQIU32B6,92E.?&)XNGR$/MQ6;^)E]>]BW!K EZ1C\_85 MJ78,Z#-'20(J+S.>()WR-%1^$SXAGCNK0ON*RZ'WK7 ^&>%0TXRI0@:R>>S\%'M=B]^<@-)ZZOW:A#\9KW M<'Y22'9E+F!"'<\2KFWB"2.>*9>D*4E=*AF &9X]W) M?CXO-DNX2HWE2#(&#(1I #MK"6)>:"-3I7$2TE%$EXI[[X*Z3F;>6T_B1E*^ M=HC:=M#Z,4^[/;2U;;)6#& 'C9H-6MB$6X>D2 "VL@Q^\B1!5AEB,8<7C6@[ M.+?P]>SABS.=$:I%8C/#$JLUP8G)1$8U7/0NXZM@9BVRW1G9YM0LL8YXC(&5 M<6=#-1J#I$X5_*139I0V/K.A(Q;K)KS%MQ;?GB*^+1,4+K#,I,2&&*,8$U8Z ME:58)XIQDDJ27 ]P;0_G1T"ZPSF',SA),JPI\JD #@?)Y5ZG;1?G%N0V&N26"6H5FI!4T22UCBFMI,TTMC0U&?%90FU+XM8! MVN+_1P'>=C\R1VQJ.$$6AW8H.L.@JJW:/_A SVBL&=&?36%%>FHX=B_J'WZU^7C84^)K=\CCUKZ[76 G93K)-.00DV\[G);U)VY%DLS7$!Y^3[;/5ZN"+L+N:Y]7(@7+T\ M!_";#B#.Y'3<<4#[[:70X 2OZ"@M4L0;&5K7_&R54;4WB9R^R9R?U]KM]D%R M5H52*WKK#_( :AUF4 S<]Y_>OG.=WGG;](X;!UVO"<+?)/'C#S68JM%YA]P8 MVMNLC_O)^A#2"QEZ/3$6"JLKK1BG1/DLL=3YI')+DX22-NMCT2O]Z#Y\]?@V_ M>T,^_/WZ\\&>_7SP^RNZO_?JZ\'QG^G!\1^?#OKOV?ZWUWY_WO#I[&,FG2%6 M<)1I)1&3F""9D@SQ),/>>0M[IF+.AUA9%9"GG?/QK(-MGFBDS>TA[7F$TSP< M<.$9< E"F?:&(BM3AICP&DE!'%*<$Z6Y428A#Y#KT6)6BUEKB5E&A0:.3"NJ M$J8%T5XPP[!D+J.,"+T*&M;"V1WA;-YLP!,NG9,,8<)M1 M3'U,\.!=&;2;%M1:4'LJH+9,7H?-9&(=95@[Q=*,B<1D*7;"I(1X+/WUJ-;F M=3P\O,V+&V6 ;IE0'%FN+6))EB+I4X*,L0H;D@I#?,CJ2+IP1=UC5D>+;"VR MK25=8T)F'%#-!+I&*!:.:NJ(SXQ+G-2TI6MK@&?->E!4VE"Q+46"60_ZIR)( M2&Z0PJFT7G%%N JY'&DW)9MA.7L.E75??74CDX]CP\G8:;)3#,.&M TF[]LM MD#G#5*9 ,A+#+&;*TR3S&0?F1A.#6:ALEV!,8F4[^.%FI5/*%DQ[TQ&LW5N8 M1F%+WT!\\;#.K2$EB05Z-RPCSEDM.#9<)-HFUJ1-\53C[ M']6;NA9F5P"SC8ZC5JA$^M !3SO$I$R0DAK^F2A#M;=89'1K)Z67->16@-=; M@%N)R$S6XNRZX6Q3>_>>LH0(B8B3 M K'$,:2RC"+.%;.)A+]\NFY(^QRJ.;]S/:>:ZKDZ4R-[.^V\;=ZUKMKY$VK< M]5#P==30QJU6Q&LN@!Q:H(G<@#:N91;B7RRV5FLA\=8.Y:OR$Z^1S^2)"VW; M&+'=IG:;VFUJM^DAM^E9.+[ZPUYQ[EQ)JY%69=FB_M -QBIP@]8!UAIUVFW: MB&VZ&S2MWP8]K'?CQO$R-VE!'?79"*8O&UCZSOUWFH_SB3MRHR^Y<:7N^\Z9 MXF00GQ*->JT"O(P"G#?\)%8Q[3"V* 5M%S&L'%*IY,@9ES)!LE19O;63=3%+ M+ZG [3W7 NC3W*:'=5ZT,+JA,-IT@^ ,&X=3&>R'"6+&2B2=B1$^:2K23!#A MKP/2)^\(Z>?6]MPC"?-!,4#N7G2VUMC0VH3:;7KH;;H;/#W@!LDU5-EN22A^ MNT@HFF$4/R07+:]8AE;JUPRY' M"[?W60N43W.;'C.PK,7+M<3+IAYF8M_WJ^CH #Q2R%K\EP.+K8@1;_W<^.0WILK",\(NK$;(%O25 [["94A82 MQU)'.4IXYA%3:8ITW"ME!/,<,] -8B^T.U0#:$W0&\%&VVU:&Z1=&X_KN_*^ M/2Y:(+X7()YKZ]+2C!%&D56.(482@82@# F%,^R<3!7' ,3=)+U,/ULH7EL9 M;Z%X([9IJ>)7C^.U;:'X?J&X:0C0 E09R@(-%ARQ4"Q+,$%1FC";29>ETM"U M N/GD)1V I_KQBW66BM>;K=IG:;VFUJMVEEG,XE+DN<9$EJ-$MP)B56QEK& MJ>+.:'$#3K=\95.XT-X,3-%W_X9;K:5KR]"UHT914^VEYBE)$+!Q$7IG@-)L M$_@C2ZC*)/44-FLGP5TL+Z?B+EW3M)7?=93?%>ADK?P^J/PVU:W,A*K1.D6) M]0;!:0!93N"?TG&7S4S/>/F7LYS(5/'4\D] M(]H*[KA@6N@TTXHFL4SQ'2U/;7.O.U4I/MZ=[.?S /^46RY",3GB"8*-PD@H MYI#-4B5-YJG!H:*<[";TLJ/U=K;C]:B]_@-QO_4D;B3E:X>H-R^_OO3\-Q3= MKM#$;@UM;9GU%0/809.A\<1KHU BLY#JB3$"/8L@G5*?@@*6,L56T.9KV6/? MPE<+7^L%7YYPRX3&DG@9L_<H!K6W\] M(=SCD<48EP0CB4>6=1R/]"DIH4RI?E7"W(MR*TAR"U#XIA*O./*)JEA2>*$IA[[U#/-B$B5:TG<.D!; M_/\HP-ON1T$S(Y6D2)@L0XQD*1*<:R1P8I1CU%('V"9Q5V"R*22N\C'4 ZD. M>NL5:E:)88^D;_ K]8V71;\/ M:D8D^C<(E;C)DHV*LXO1$9NU)O.R%S&='^6#3E7YHEVA:H6,F?:G99&#/>=S MDT_:I:G*0!1P3CI-Q?D?G5)U7EBAJ^&*L+OH3>MEV+EZ>0[@-QU G,GIN.,& M%L[/Q9 M(E=TE!8IXHTTX#4_6V6TTTTBVFXRY^>U=KM]D)Q5H=2*WOJ#^,Q: MAQD4 _?]I[?O7*=WWC;-\<;!<&N"\#<)R/U##:9J=-XA-X;V>TTP>,;1N)3@ MA/A48L\8L/UO?^07O04?]CZ3@V-X_J=77S_ 6 _VWI## MO=//[S^=T/?'^U\/CM]_V_]T\FV__X??/V]4/))>.JJ\0-YJ@ICS%DDL4D2R ME&<\,XE0>FLG95VT-M#VO-P M*K,MY"VHMJ#TA4%LFWM8;BW%J&'9"@K*2:.- 0H3US, ?FE^/ M:FV\[&B<5)HH; ?!&<9?QRWD%2R>U MM\C6(ML:S'J9BK;88I]P8KU-&<52,LR\Q1G)A->&NY:NK0&>-:MT"*IMEEJ/ MI LYH-(QI%5(9PHZ1=DOY+&+=#Q]XW_FA<]N"VA*@=M#L?@":I<1:6I00 9!&0YU7 M@CW2C'%J:*9)QK9V)+]<=:@MZ+S>0MS6W=Z(;5HF\=0G@G*;L40GC- D)*(* M8ZU)7(H3:6\ M,L1Q\L8'!L=MQ"\ @ANF $3;"Q.&,*IP"C8_4)":H:D():D MSF#* 8)9-TM6E;C52G<+PNTVW;(Z$Z M)QE/!.,LTZD$5+8^2[5)*26N!>%- M N&FDXU-?L[=#9\ MW@6%UUFQ/YR>L0%2##L^$ Q;)C$99YBC!%DNC!< 7 MNUS7I*WBO]Y"VS9;:+>IW:9VF]IM>LAM>@[U[5_UA[WBW+F25B,=&NC!9.<= M]%K?66OQ:;>IW:;U4U@?USO2:$IZ7,Q+.KQ5N7TSJ.HY1*U67^Q)^L[]=YJ/ M\XD[)D$)\2C7NM&KR,&IPWG"G62:\,)R@EH8FTY"F25#F$ MG;;2<)ERY[=VTBX7=(VL>"T8M)C]9+9I39TI+6:O%V8W?2_6.VT4-DA++1!3 MH:^&9B[8,I4W%&NCS?JA]@/Y7OJYM3WW2,)\K+["PT*IJLZH;+_>F12=@9MT MHLN@,W:32<\%J0KN&1=#C%O_S.K38A[(01._)4#BZV($6_]W/CD-T>.PC/"+ M^.IO%]&QQ;UE<&^A#D-FL+':(P:J"V+&&21E1@'UG&%,&T)HNK5#&%^/CH^M M"&^$X;+=II4W_'@Q!*-__NPLKTHP&_5>93>0S\+/ RC>QD&UTKH$A)Z^!*?U60)GM-S M_WIW_N%O.P0ZG!WL?3X_2%[W]H_W&7S?V<&>@3'"'&$-]G__X]/!\;O^X=Y) M^O[;!P_/#&'6W%NJ$4D51HQ(4'J9$"@5U"8,>XDU!:4WN1RGN-C;HS7(KV_4 M[UT3'$HS%,P^OM3*ZI*RV@@*EE(G&>.("!X*%DB/E*,>99G73&*AN8:[E';Q MW<."6S?;NDCU%;4L'RB0/_K!6K&]I=C.ZUSZC&'+<88L32EBF2!(6241,UHH M 3^EEL =V8KLTQ79=0T/>UUA[SK1J>>0U7UT6HPFG?$9C+98A)8->EG"#I,,8*4>4P391 ML%=;._QR]%TKN^LMNRW$;L0V/:9KN(78>X+8N?+U[20]W/UHC'#.,(VD-QEB ML'V KQE%.H"LD)Q2EZT9R#Z'S/\#-^GTBG%;'+NU^+7;U&Y3NTWM-JTL1I()8U(2 72-D"[%=XF^;>5WC>5W!U-K^D2N&KH,Y-Y,J\T1ZBFC& M!6(9"7W6$HVL5)1FA'MITJV=%K5:U'J>J 7J24:H%HG-#$NLU@0G)A,9U=I( MN-970<5:0+LSH,VYF&!2)-BG<')$ H#&$Z1-8A&C*L'8:.>P#TTG6#?A+:RU ML/:$8&T9BYK ,I,2&V*,8DQ8Z5268M!:&">I),GUN+:\(:T%N#L#W.&45M)F&EN:&E!NLH3:EK*M Z+%_X\"JNU^U#X!?BT,TI13Q!RE2*6> MH"1++=/PD@H=OX%Y=U,L-H*S50Z$>A354:81M%;M'GR@9S06#.;1L<54]]SB MBJWO$-M1MJ-LBN8O$P5OK OWP!_U-_75Z"0?H%*:7XA%+F <7#.CZ@;<^:<> M_7*A M!]/.BZCSW@#9S$Y#CG.LJ$5DQJ0J#&Q;C& W](M;[ MSK^X7\]R.SFMJ4'C@]5RX_E'E(8Q3"?7?Z3:J'"$Y'=VZ:&7.[M06ZKQ9QA\ MY!A4&*<]=U89PHC5@E%%TD0I3#1PCD5OUATYGE]%0G3BD1TY]1LK#!%^H MWIDZ'V_]LK@LL"87MN&Z%5SQP;[J8VL@%?S*;7I96/XUD^+K1 MUK+YLBF;1S.)#*$ +]7XM/.Z5YQ=+Y_K,I^?_JIAI]O)!YWCTV(*C[/CGY<: M>;P+Y@@2;Q2804\-Q^Y%_<.O-A\/>^K\13Z(XX@?ND@" 43F4K*-2TFIXDBJ MYU7+I#5\K54;B?B^I?Q-KGVM>\]EHAMRMBM'OO]UU)Z3X/-;O38'\3J M_)!ER$MOO<(*4)Z5A]&(Y8^.?IDN ;_I[,/;3L>=5R#5=C&$9T$=NN$2/:KU MX^*LKXO-ODK7NXHQ7J?>7:'AK?=&)SC!JYKP3:CV$UJX"T%L&QW5=[,Y'P[= M"!@RL/-@'/D"%-B-7]PEDN_'9I);J6\WC1.\RPB_KP'>/9NNM!:+=3D0RV75 MW3F@?-TF>G.S^%4S?"3C]\VFMHQ?SRHMO4T2XZEDBGN-L?&:6L--(C*3A4CY M!%>1\O##$XZ4/SRJ+>%_]/;W_OA\"=G?^S/Y<&S8_O%G>OC[_AG\ M[OQ]\N[TX/@_O;DE_-79P>_P_;^___;^VV?V_OA/_/[307[PR= /_=>?#G]_ M__7]WQ\^'?Y]<,D2_OYX%\/_9Q\^'7PZ/#X]/=A[E^\G;Y*#;[;__N]]]N'3 MZ],/_?WT??*'WS^O_'HATT5([C#Q&FF>=AS0S@#>>ST<^V&;E@>Z.:13"QNF=)8X Y=0E^%U:L+\S/._5RZW#UG^N)7;V\OMG#P2 M@H4QTB'+7*AQ[$-6D4\05BX)O%(E3 6Y)>3.X5QK2B#7G3#L]@L8R[=XSCON M:V@3Z#JH$U<)%1X!9>RH\=@!OT1-WCBH(SE5 ^[;4YU,1Y(>@'ZT@WX,@S_F(MHIJAQ.DM08^HF6&E$X=*!.: M9JDEGB8Z-'!-Z)U;+JQ?U<^-X"._JV"?&G1"E%4Q5KT0B#8(Q.8^LP_UW MF@^_VX?AN:M)*R8E%#"CL53.N'@R, HT/_MMJEMSTUF+RJ=ZG% MJF6PJND%]$PRSF&3' DV#^8Y4H(F2*4BH]8:HBR?%:E<(^VIM7JLG_>LE=S[ ME]PYRZ"IRI2F&&6&.\2DHTARPX/5 _O$&(U=8!E/SUNV[N0BIFLBK4_(<5)Z'])3$2G2_A;UYV=B:%H660*%9=8" 0IE/L85= OZ@&6**4=!U M$H*XQ(QC;E*-[=9.UL7R,A*U1HNG(L$/VC*RE> 52'"#1]",, 7LP0JB0H.2 M# E%**+*4LI5EFCAMW;2+A=W]GJVUHK;>4]ZO>(L.D% 2#IFY&Q>AMW5+/H9O?5V,_EVHJ-JX\:O2EV5;^%D&?N9!%W3_^%5(',8" M>Y,B@!M09;1.D<;$($(YSCS!3-MT:X>US<&?KKRNF$%<9TYLI7B54ORM(<7X MH_-:"J[QL!D8(-'SKC\2RA4U W)8,^+0SYP MUOR-K>5O!F84 OWV7/GWFT&]7^]FV]7>2,NDK1Z_J2K)5LV8N .FR!'66H+2 MZS(DO:(HXQE+G+%T=N^61:RC-*P^<:47V/D3V?":RAG.= M&:*0DT:!!F@LD@YG2-E4N"1EG!JWM<.OZ-?Q* *[2OZX 73B);PCK'=%&UL' MUP.4WOD1_M1[\G<^.7TY',.=] $6K%>F5C/V44JM 0QHCBX,L6"; + M*ER0;>TL%D+%]M-=DMY%(5A3]]<&\(N_!CKO]9QMF"N>F;MK<4(=PMH X7# .D0&&T=2EX@$:PL[N+7#NN**MM&MJ6)= MI7DM7%ZMZ-Z'Z,Y)A34L=4ZDR#IM$#,>2(71 ME4>(63A"F%MW:H2)^HWVL# M>$7P\ XFQ>BVT3//0M]9>53N9>!I[$.+.$LASE]-LL ,,1G5*:()(:$ZL$#2 M9@I):7BFK9 D5 >FV5VH0FN9:*E"*[%WD]B&6\-)*91-D3,@MB'Y#CA"D-U, M<\LS)W7@".3N>7BM[>&V OAVY(8JMW4%M#(FIIBC$(U[!Z_'QJHP M:\8@JEW:<][!GM@J.6!W8 _#3D4#:0M4RP'5^R:U2"Q/,XL%4E0$:N$I@MM% MH=122Q+-0J?XK1W8N-8*\21%^ $")EH1O@\1GG.-3#'C>.(1=&BCOG= S5>7#>M?:(=0C# MK'?E;;DI+00M!4$G3?: J4A=2A4"GH 1"[Y4H7D (YIYAJT"W078 [YD@M+,>,DUTM@YD&--D$X-2#0#/N%3IYV*36 2>9E7 MM$:)!Z$4H^DJ*J(^!^WF<<,N7_6'O>+NIR;._GN>M-T"U%( ]7G![:&U M7QFIHO2^:$JMM$H./*\;!@;0S9* MCVRY72U W1*@/NTNN$:\HYYG$BE*& "4"&&;VB(EC.?:,Y-J%?I/47P9HMH" M9T]%K!\WM[05ZQ6)]9QW!) .&5PHDS24FM$9TC)3B).4&>U!EU DB'4FUDFL MGYF9HZ0?O6)P@B9NU+\S 7D6.M$JG2AWQ:R#8E!%S;2P=5O8>M5D(]0(EAGK MD%7>(B9%BB3.!% 2J@W12AE'8UO;Y"X!GZW)8WW%>TV<+:UXKTZ\&ZFI-',R M324*J(T8)10)ZBQR"=.$%A%[[ M-K8]BOD$-O0E[&=LJ&6=_>W\+]A84+)F8?*S76UA;2E86R@2"OJ3P\X()"F3 MB''.D;+2(^V%Y=HZSI(0I\JZDJ^@T_>-96B#3"O/&!<>A?.TN'!_N#"G.\1C M0E/ED4M"M*O 'JD,5!LFN.&M'=(64&P +*S+)K ?_X=>6!QM?H#NW M:X%3S?U&FW*KWC8WU2GO99#/J5O2V^G(G():V"E\9S@*A'AR'DO"A'Z,P] L MK'49KH.U[JTZCYW;CHM= SLSKO=*6NM(6*LXE'C-+ M6(:82>$/S1D2A /5)41Q904'XA(,=4G6^@F?IDP_9,12*]/W)].-FG0LHRY) M*:*AWA.S@B'ML$36,2D=P5(D9&N'=BE9DS(-SZD7-)QX&+P==_RHZ'=L/AX6 M8]5;,1G96.?"^C6%KO?K-6S7$2#2H6\Q:S68M5">CBAGF 7BH6BJ$0O->73B M,N2T)Y(*12UG;8/HIR_5*R]3U\KO/\$7IP @9N 31C[,QTU,9(KZ_!(X9.MCWL;XM/"X7K MLK!UB4A#N3J/6,(Q4L8[Q)VFDDAE-;,A8!).WGKH1*V=8^V(Q8W4A5:(5RW$ MYPV_O*>*:XPPE1@QKE,DB *Z81)O4B$]9WQE2L+:VC?6/NIHT<0!Y[\SAA,? M3!SYG(?6(V$H"X7P-)))9I '=8EGRDB?T=;:\?0E_-ZM':TLWQ\A.?CVYT=LE)0YU(LBQ%L)LI8M):I'A*$'*Q>;Z!SPMF.??5C4P>VF$6'@92F,^=8ABUP^?E#7S,?E4+VGK8 M@L-R!UY5>V/;VVJ9V^K;0CU&EUG8*2$05XPBQJQ'2I,4^> 'Y-0*&9+X4GHY M5:>M^_Q4)/9!8YM;85ZU,#?#BS+.4R.1MAZH)U8&2>,8TL)G+'/*81%:7W:S MY#+U?"I^OTUB%_EX/ 7V&9U^INCWBT'%,?)!D-!!:8CNG.63T\YPE']1$]<9 M]I1Q;CD$WU0;^09&E:O>VZGNY>;0>YCJX*1%M*40;:% HTF%35,ID0E5 M&IGW'.F$.402GDJ12,M=VKH G[Y,/Q9%:05[I8(]IRII:JC42B)G7>C-S0SH M'5C!.1,T)%ERHAWH'?C*4,.GX19<=Z[RLAA/QD!%8DU2>W^).MFBU%%HM%&H$A2EH5@Y9EP -T4F@(82&BM&>F%#$S=IU#*EL M+27KY[=K)?;^)+91A"@#(65$(R=8BAAE(;M;2.130H4@GF0IW]HAR0I*$+4V MD"5M(-61#U:/GHLU9H!5G\2NF^,.ZI0N.5>^]LSBGA\XKF@1BZJ%_W=8][>@ MX)A\""I/M5LM&"T%1@N5$BUQF:290\[+X&3)/)*4% (:E+E+,HY8H :S# &GB:(FFI,Y8#V4\S8 UB323U M.5DCWCE3P'#.8R#&:3&:=,9G(6QG."I\WAH>'MOPT+"9QES.5S%[OL6BI;#H MSQEI@'E\I%*Q)!2+%S:P!ND$DHX:A%.;4*8,9XRT1H>G+\+WFO[4"NL=A/5\ M+JP^9 P;I!($Q8LA/"3A9^>@U M%1O.=R9%9^" 19RJD>N,W632BRZ,P"^JTB_J3(UL:X!8J[(O[\K=.RY@1T.C MFM.B%U;X=3$Z"AOY&VA$]F71'[K!.!J46E"[)0,!;0BG6ABI$J2%%(AQ%[4A MAS+%E,"&.VYB-9@DO0QKK>7B*4CX8U2];27\@6A+,$QB28BQ AG*+6+,$> O M*47&$-A=P3"(>JAK+=(G:/'8I+3L896SU]'GG9^J'.V?._Z*Y*4V2?O1D[1O ME'4Y2SQKLRYOB60+%?JU%=AYS1% 6HI8J.LM>2CIS:W-TBQ1--%!_Q)M'O93 MS\->4W[3XL#]X<"F401;$U"R-9.2KJK2VEK M<[!7P'+RJAUMYR=;-:3].4:<@L1T2PH4C#)?0"Q"Y$BH_3]RX\DH-\&4$UZ_ MBYGF*:'?VE>F"2 8_G\UW\]WLZT,+^P.[.(O&N]\"VM2V,N]BTUO&O;IU5=S MJ@8G[AUHD*^\=Z:M5KX*N"_4=V MX83<73V\7QA]!-/04T*5->54+9:L-Y8TJN((H:00&3(<6T 0FB#-!&AJA$J? MIAYS*[=VJ.Q2<6=>]B" LB)+U#KSLI#8) J?/S%,,I8 M&YUS#58R(3..M3-4)2 )6#BJJ2,^,RYQ4M./;P)$DH22QX'(%O&60KR%7@JI M@-LN\P9IBA/$G&9()D['0BL 3S3)6+:U(Y-NLE;5&-KHG=6*N, 6^X03ZVW* M*):28>8MSD@FO#;<11$7K8AOCH@WDHP4RY13&;)&$,0R29"R7")AO++4:4VD MV=I)61>8SAJ)^#,P*2U/71R\]%W2LI+"?]="W+HMX/_>W_2?"K)[IA+ON+)) M:EB2.*&IQS[U3#,B4A61_8Y13RVR/QRR+Q1V5DP*1D+&EE ",2$2I SS2'B% M$YUY*Q.VM<-I-R%W)F_+"M CF\!:'&QQ< $'4Z$)215-4NN8TDK:3&-+4Y.! M(IM06RJQ+0YN#@[.&2Z6+&'")B@35B&6*(Z4L!:Q-'5.$DRPQJ#$TJ[@;%-P ML**_]4"J8R\BR%V-D;^L_W^YT_4 '6DNE?7<#[:#H< MEI'[JA<:Q9M>,9Z.RI**@=[[7G'6R0N66N]X.]A?*:GG#J MC1%(*Y(B9IE#6EJ*E*9)@LW*F:+O.I-9LNQ= MO!-/##6OFN%30YRC+#,X*\RS+$0LR4LBKT M3J7:8RI"OM[6#B5W;IZZ?C$$+=H\2;2Y!X[6HLV=T&;.T3*IK7 "(RY]:+DN M$Q2Z+""X%I(DD1E6P=[[!(,9-H6BO9V.S&FLF>I#4O 01G8>PQI"F,,P%C 9 M.1,,PK%BNS(&YCX);.Y"O\O*;JEO ;]/)03%Y[R8M("\-R NE8[4V5'%CD1$QW]I)5A8TWYKH6AC:,/K7PM!]P5"C70_V6!+.D:)4(:8D1<)S MA:1RQ"4N$ZD,:=5T[8QWOTP"[8&_;?YEYY_PQP6W/TO*(C##8IR'\;Z(Y>'R M+^[7L]Q.3NOCW?A@^24O\/PC2H^+WG1R_4?Z:G22#Z*#7BY"E''!OKQJF27X M1T*;A"'RV:[$Q6G^>3H+CQBJ$X?TR*G/2'D8ZPO5.U/GXZU?%F<(T[NPHM#V+A;QZ>NXXM>KXAEC^.QKLL"C3LJ MLOZ!R7MYC'*HPQ]N& ,]2B[&)X^*4*\1A5P M/08\[XRGYK2C^J6Z,CXMSD![T<47]V*E&U>NVV+@#&Q@3PW'[D7]PZ\V'P][ MZOQ%/HC[$#]T$6Q FN=G?!N7Y[Q21*OG5R]OQYP5S++>+;AVW'J\,\4/K;[N!B/L?NY*4:CE/W-,PZGSY\/CS^T#_X9KX=[L'G/OUYOG_\GGWH_P&OOTH._G[=.TCVV?ZG M/]E%L\Y!_\_T ,9X\&V?'1[_T3_8>_/UX--I_WT_CHV\__LO^O[;R?G!WJG? MSRN3SA$^^\BQ\(1RAERHD,>(RY"0FB"64&]3;VP6>Q:0;KJRH*R-*/+49KBU M&6Z/D>'60MV*H>[;#.JPUHH+8I&CA@+4A0*ABDI /BXRR[A)O8_%6 BCFY+' M]F3Y\^95RGJW:$_M=J+[:3")G!K6 M7_;BMA/1Z;O)0Q_"3SA!\*7<\;1%(0 M30GW#,%F&<1\AI&TWB-*L/'$2F$="8UB,KE.D6-MI:N-8TFM"*]6A.<$R5I- MM 0-$ LN$6.$(Y4Y@;"BAHB$<6Z3(,*I5AK3K'>M)I;&T;4+P0)I]^I M#79[>\$-GG%]9:^5//Y^A[CD*-?T,%P;0-X(ZJ9Q;H\1PMVYYK]KPZBO'/4/ M0J_7>J;?F_TC1&E_9^GO/>S_9B,\C$N$TO"^N^YN/.FX'97LE,UW".![6@OYR)]LNF:+^> MB?;1CT6[$K=*4,6C2-S5T_SIKQK#?KX\^AO*6[KUPRD'D&E@#DD>X&J\?E\[ M9+M3:8\'TSX\QZP@^?M" UL5'0C6*2T?AQ-;OS@UJS^_0YV4_>@S;U MBAPO=^40\HHBYAS*=*9! 6-J#3-+/>4FE);SP=39W>#KDU4DH%:GAK,#>." M:B8=QE8;9I5@S&]U'.C+PX 6HRDPT#WXYR@?UKEI;RR2PN#L__N;%D>)$6D&5Q<901C.E4WB"SWP3?1_7;8CJJ M?SMRWHTJ,(XW3S=>/?'=>4B F^IQ;G,URF'\L)7J8N[=.!]??U&MYZ[\[6*! MYN*+&W4[UGUQO6(8)SQVO5[(99RX? !KCSI<0]Q:6"=:N8WIY M=">%PB8=T$9C)N3838*$P/2FP13EQML=^*(O.8QY]D@5,B2_J/$$SL!$#8>P M@F-XH(EE5.)7H-#]<1*>UX<%'L$9@!T)8SL#MCR"LS..7>U@$"'GTL'YLVX$[Z33,,I2$@368 MJ-%Y?;#"[^S45%XX^*JA&DT&Q$,5]D=UAK"2SH5E MC1)[JD8!,*M>A$'=F4XB*H)T-_:Y3^[^K][2OKHH1.%.PQ/# ??''C2;\^G.'[J_,=*_+ ,(:APUY]:7HP;F^%PTU MVTYOL&17:&%A2Q&-G[YHQ5,@FWDPB?S?_Q#.?KV7<=_4 E =]XX;P#F$K8YY MT/56GG>&,)M@VRX1&\2@'Z1@+N?QF,,Y<),\S+K\*5R #;!./C?E[D\ P/(3!R<%A16SW0L'3O5.BA&(6K]"MY$:YA9@ M 92S$@MZ(%ME<:8%V*@QKI?K49A,6?0I+L(7N!I@^.-PH1#^:W">1\-^.*UJ M D"H05F&\WL<[\'%X133"?QK# L9LZ'G" -?"8'\5=H'B $SD6H1%#M#FQ% M'^X=.-B5T(%TQ*LRKQLL=T8%7%N@J)S"5Z+)Z:B8GIS"3G: ^<(%&MX1! *. M7-&'=XW=?Z?A&8,3V-O1B1H$%>?4]7.X]-LVGT8H P8SJA0,.]PMY6+$59S3BU SK^4 M4@Z7GE$3U3L/&P%?/O7*@)H7WEXM)PPMMO4=!P@,-2: M$SC(ZP;PXF-9P( MMU\ O3+P1Y!:9TJ(C;L27%.F%,VX/P%-5 ,'2GX2:1L\:#"CA@6PHSY,W<[V MI1SJN 2;"KTBH,ZW/@RIVZ!K+02L'@)F^,BP%UQ5JYN#+.;C2#N693'R0@.AB\5BDJSB4)4:5L7T*#2&C8-#T/9G/'4 MA(GY::_C^KJP>O"G4H&1"(9*Y?F-W 1N;W+*ZG"K K8Y4Y[HS>XFS=LL?F\RH\?3&JPMS M KR.SS2J,*\%M[4^'BIZYS1P_'D6HH=;AR@ MTGFY;A76=H)PP]U3WS^5Y733;H^_P];EDY(R+YCF; L6#WAY5&>OM&-6%K;A MJ0+)-FX:9P]8?*[535Y+4 MTBISTBMTD-&%K^N4 111HYV.2QVR"6X+1E=8G2\Y2$4U\OP2MYI=?]?(6-2- MHNDQ0@T 7>F]J)!IP>2[X;WH< 1E_<"HZXZ)B^*?N'+;[/.[] M=#2(IV42:'KCP5&;+;^RO/OB=!X-*9Q^> M'\)]HXDZ^MXCM8''JL[;>M#'\^\[KIE_.&__+D]39_<$U*2(Z#\U7%X'Q9=@ MZAP_A;/UJ% W6][*!?ASZ7R9K>_;>)(ZN[]W?KJP]/4'HC&W\Y0VY%&%?7[> M*UUYMK(@-S6F/S%T7;O+_@K-H+[??>YZ,3?P= K?W3EUJC*:UGGV6!XO9!1]['$@@6S/_4FG,;3CA8[@"J#GA M8V,8P0@^4]*I\I.=^J N> 1\493VO/@#_";XH,HH#+A5^_ ,[TKOVF <(F Z MX3B 3M137XK X?Q(@6(S,!63@G_DH%G":M4*7?C"!=M ][*#_^KE:Z[.C#56 MG[KH&IN[*CH_;1W\?K3UCH$D/08$SE=,B3'$/&$(TDES' M#"H:&9:I D+X=552&LX]+%CG:#Z3HQ!^&QY>1:K4MU1\X^*=%E;1YZ-H!@VK M5G&9@*SE.:FI>D,S_,>X ]AZS.!)3"2_=O8.=F& )[!8<3)_3 +?RJ MRIT&<0EB%GA;C L+KU2CN "'OUR( FL#LA?16%Y8KB=6]?[*&, ?QO1=B %4 MJ4NTQ)CJ$"[(C4@P99C 1S.9<$$V(09P06/6[F0ZJ-"Z!)V6RCV$W:9Y@:I1 M\&N%@)MNY6[7>0&;,5+#2&]JT&UX"ZO M@"S"T%J%4EGC'?^*U+-S5(%\N'/*&+'.R[W_#V6$ ML-)(7%T[/YK6_):!12P#R"8A$J'V2@U/W>"\![=-,0">IP([^']_;8'Z!W]% M:VMP",(7Q%#6N>G;YN.8BQ?(0VG,*NMKQ#%%6T3T(8Z"]SR\,!Y77PXG9 !3 M,KFMOCHT=@B12>5ZG8^*V4*/5&E*]5]A;MR'&(&:E;2.#KE%=R,BZS7/8YC/_*?Z\C!44FU88%> M+O* JTT?%:LY5I^=5=G.5#&?T6]Y'?@?6&;C^.61X-@X$?=0)Y/X1O/ M$1S0$'!:1_3&**CJ^6\7Z7W%A6!<_;BYBZ.IQ]"=': Y^8/)7(@X+$4LL-+. MI!Y:R5[A"(15A_/B5.3YMJ8L32X>-8GFL02EH1@7_1@=#8MXXF8GKI1'W0ND MO;+[UR?%Q(#<'^8C7I]3L2[7R6^PMF=14]"@W_@0:5('Z(]KK6YF81Z[DQC* M=KEWR<+%_B"SBD]\$3IDY>8&\WS;B,I[51+,#5.WGX'/9B.,Y,OX;,)[ ^"' MVS$JBC4?K<-*9T&RXUI[C%X59S?9C_,#BTTYJ7ANK[#-1([Q'9-,]<_K#3&- MC]ZS,:;[76O,W_/5N*7]Y>#WH_@-M1'EAB:42X$'UQE3U@\ EP3U@\@%?EO@ MI1L(ZV48;_"L13-2:7H[ SX9NI>%6CFYNP9IZL->'JE9$E*9EN/B^?PELI;R ML%U@\'8T/6EH)?'(:@!D>'=)K)_(M;)V*N55W@'8AW AE-@YW\RK5Z]66R-*W4%'AZO5PS& @,(CH?J@.B>TT'QQB:$950&;,$H(E"0INU$ 6 MS@;\.PS9NF&O."]]2E?,*N0RE-_3&0^=":DEP4@<0M-@*0)D19:I9MA7Y7V$ M]"Z'0IY7%(?O3G\>;1&AE@L]^?#@I0&X"^3S8N7N=P M9GGN.16O8+B"^ITS-?Z1TGUZ/G2C!?6W'U3O2@'[U]O=F0;X4X2@F, Y*L\@ M/!U4\Y]C['$X3^.U4]4OF4348%!,X6ZV(9.R)$8+P6>5CAZNR%9AC M&6.Z&RX? %T5QQBNX]HSCHA_'.AO(>#*UT4M:ND3/.W#K M3 &/ B%:&,XE-Y#XKI4F)+7#\AH#>>XD=CSOTO4J1,985P2 MD0DO&V>X0=*%@K6I3_4F;K7MC8V&"\"\L-.1 M5><_V.6]:6G0FQ2PS;O!63/;]UUS&N[AL/?/;Z\9['7*,&PG$XC;E"*&A4): M8842 YOAF$L84UL[&;Y85@(4\7,0^K"8$7K4?"%+%M*OE[C*60DF@"+NW[0W M:T"\ $-_@*8\MQ6?N1C E@=:-0A)@&Z.=#?>S&/+)":D8N)_Y4]KDS+#F!6XE:D0PW5+MXI]2CK[-MH-YC?%R%T M+VKR57?DVCT\C'=(A?PG'.D0=V-#FJX E%YT<>;N+[SZTOW,D6X9)2_M.VS M#\,MJD[FNFC67QC*C)D,IZ/Q5)61#+.:##]X<*#[C1"! M\BC7_$651').0^:J)Q G!4>RB%DJ@7Z7*2@EL:O5DGB28GY!/)'7.2/F#H@X MO<#I#;" J+K&@(;H/)O]*IRJO,KNOL$S QTIHXP:PVGP@H1L=_YJ,R8?.@%F M(7JK.L^1D _S89Q.Q+%HYON^6MN-R5ZX MC/+!E7H_L._ 9/,+OL&0/GI!]QG/A,=<\@Y>H_A4KKN9Z@9/C!:%^0/$.98ZK,>5ENI]1?RK#!6%\BK/=EFT-I M&YZE=4V'$QAKF[_](&BT71^,ZOSV=5Z>NG"L9E:O$',6SD6E7 :BL7 ZC1J6 M>UE5T[EPI!K6MYH0+"CNHP!7)Y43?>91+MT"X68N.Z4K$K@T;H$'EW41-\-GIJ;L'^\F^WNO/J:P M&\:D'#'MX0]A-1(^RT(_,B-.XS (7;O#Z"KIZ!)?8XU4/N9Z_7WWUE' >_8*UHK9X8];+ M?^TEI.:W3WXQ.=NUPOP$A/G5&3S_8R94:C76H6V+1XP(@;14#DEG*7;46V/X MC86Y6Y_U,H4NO @WRW08CLWF'IG=F2VU/37'K[[N[_WU,?%.3I#N-K#!)1J4/E/6O\&I!\?E2+T?C9 MVL;A&><'GW8_4NFHQ+&4JH,P<\P<^.)9&*$2BAF4M:W+0/[PL_] MH.HWP/M"&=48*U&;PF:V=Y7WHP\B\N=HAUU _PL9! U[;6E):YK15#!+W" Z M>?@J?C=Z1AM=H1R-N(RIG96:GY6;+!ZO!O&;/ !#"ST6VA2T$9\6L@BA6^=;7(9 MT HZTJ"8A/ X94SPBX=2@E4AWQ"JNYC=8:<-8W>,#8XQ8%4SWGK2JMJQ:HFN M>F\]]\%BEE8W1F?F_:8.H;X)#&3K M P/'9>3\S(M:5KI>,,Y4U1L;]>G+XJF+%W*5,#W/99L5@YR'7#?$YU_%F8MQ MM%4.?7EVH\%M<$4)R>A3*4ZJ:,;9D"J_>VD>BQ5MX$8;38=U$G53=.I*E0N? MG0TMG*P22^*[ZJC&^<2NF]1VY_5T%&"B7X00]@L?KE/B*X&\5D'\:>O=_ZG^ M\->]K9_GJ0*5:7V^QKJ6EX"ABZA\$CS&@UBY+43(S3*K@K7QAVO2V*% EF_N:CX_D(<14*A/O'I(+8GKP:?^4XOPKT9X^.]J;+F'X1Q^=% M8VNLO[3A926R&K$79.0*B.\VG+B+Z&Z"WS*"^PS1RZV&+_-E>9%-"]=],YA= MV=V%F\0W[H/YI765?/RT=1A_ )DK7ZYOM]E&A:?-RV>%6Z]^2[W9H6-](Q>G M/RQBM7W3*\9A>ZHC],[9L^ 6>!F]EB^!CH>EI$BR=T86+3HJJVU*9#^P\K?]J8N(U99PVIC:_"#E]FH5PRYG"]@!&@1 MMJP*/H(WP9NGP^;[8N!Y'5*UZ-8#3:R7?YM5$5>?BII:E'791R'3J/[JX&N, M<>F=N0FUUPBE"$(8'#CC?HB(B,:LBY?0Y-)F@I+9 \$*)KS)O)I:@C=-FF+P M^^R.NH9X]O+_3G,;9FV**5!P'1MAA.HB,Q);=KNPKA>" &/#F/.2?<8]F03. M7];OCY;.".4E[H[KJD75KE4?+-U W5DYEM,J?&%VZ2RH*_#%L!*V.^-T]SY\>I7N[YWVWO]]\'G_VP>__^DO>-9?'['-A%&"()6I$$"0$"32U*.$ M>)RX3.DLL1>+W#B#M23:\-1JYK"4-$DR2WE*$X*-9A=;\OT6>J[%"-;2!C+7 MG8^F_7Y5UZ&Q2YWY-G7J?;I%_[X?#_/"M'PF,@9'37O-+-4*,V:(\")UV*?< M;NW<\T&-ZW3H+QS2\_+/9WQ0SV$.'Z7-#+<90? _'%27I$B)3"*29$ZF0M L M41=W%$YVBC'WCB24646T]^$'ACVAC%!Z\:!NIFWV6NEZ"[PM5"=W\>5YQUIX M?0U-TC]L1K'0>_M6M*%AQ %-<*C*J/A+]+Z,PXM9=B8T[8GQES-$&LY7]:H\ MA*@X1'P(]8=^W]U]6Q4QC%IVF4(1B-]HVG.UW_NDROV8D:4C!S1_KAB]^@I4 M*]B!7Q;]?EYZ+'[:.GKU?8H9!*4K5P^ M =6:U*E4Y9K.'_V#!\ZG%"Q6;FX<+8]!H(2[ [A"0&MR(3$^&!I>A]AS@M'_ MFYENSEULHA#TR#H3H'1A4]*->2>EC>2:F>J0=PH';7SJW"3H5%<_(^K"\: " M(8]!$;/@L27F.ZE:@D83IY["3P5,_N+.!S=8J; O5+&(*]6][>YWQHW[O"D] MU7U>IJ'GM2#.[ VW5@GFP8LA/JK[ < M9LE5ZYB[F^]!!1%5Z.,L]SSN\7<.6S1>!D/6L#HV91$EV#P72J, 9]HT'?ME MI:0"?,)&12&J==\Y*H?$"P7XYO.JSUPQJ*OAQX-" M'@6U6XWLN/-; 7_-4M-?[Q[]-LM-#VHI?.<)Z'Y1/LMC'SX>^TG-FX+$++[H MGH$=S6.WD-"OS_6:X!X,M'.M&/Q( MQP(H'=Q%$=&+*),ZEM.Y_?5W!;4MRKMG'#*Z8M_SVM._%&7JUG=8Z(59(> \ M,340!-\+CL- )93]-*WCD$J@+.V9H\!G(YH.5+29Q1O7QBS/V8U6>@PCP'<\ M0&OE3YV/J\:",(U@,:@O\XHZS;QF3:-=J)VQZ"BX#4> -Y89Q24/C]?Z> +* M^&G1"TZ ?\16@I/SNW]!Z:\:GW;\0A?"I9Y2$K":?->K$>A$H'[U>N>QFUL9 MU_ME9HZ=%<\(H5*#\YF-LWH8+&5>V$ZC/U4H*3(J67'YO8W5O_'(ZS,4#Z>M MLK%#]_':BS>_S<>SVWQ&55]<==O7H4H_;>T>_05Z4B )B-#N/>>4+5E?K,%8 MW@S&D]&TE!W4>1D\E9/.OXOH>OOI&(3/=&B2_?RBLU\2B3H_9_&=@45>^^_B.0Q''('BS#[Z9K6-W+78XP']HT%06 MU0I#/:F'.M_R;8 U]EZ5S5B*B7^HI&E*%.-X^&-$?HAV$'EO4!^Z^##BW!1 M^F5G"-$,4+W$4C=$;;J:!/V8U!PO$(D:OIU<<@W(&9TA M(85%0C%),I7RU/$G86K_:QQYTFR_-\P$&BO9V^44IBL,X$WAO- M9M$\..M#/!W/,A5I/9E;8^%FG_:K6(99B&L5B%BRT6 :"U=#?X8_ MM9FCE\^2Y[L5_>[.XM3*0.JOPS";1>/'W-H9"69$CI,RESBRC#+48_;H&/I7 M6NB#0A+>-!Y7%\UL6E7\0=DO,_#J:@IUU-]H7G2KBM:*)7E"98Z8E%E5Y"RO MSSH[KA^K$U5Q>>50H\HT+\ T*=N3QVBG4*2X@;&7R--/ 7!'\9%A#6]D2"JC M2RX;DW[NQH23P:08Q<6?7?$P^:K\Q*09.P9?!]M3ZF[AL<:,ILXN;F#4ICKJ M+-S;\PB6+ZI777L-FQ4,KS!E@%4\=G964%)]K6U6H!%,IE'Q+)61,F3'YC[T M;JQ,Z<7"%L;P[!!L5;ZIS#% M(JV5D,Z6OGNQC=JU$;V!E5="6"4EH)GUL13E[H-&[5^(%[Y%>/W@7DAP^*.0?:-_("Z1GDC7^3*?E9-2^TFWKCW'1OT;HYJQR-EW>[ 1CVL M,BB,YZ_OUE+PNACM%5,] 4FNWU5&:#Q']G>\^U%0B1,M4D0H$#]FTQ3I1"C$ M=0JZ"&?<"7?)*)OY1 F'L8.=PT+(1"K))'<,MMUB=Y$MOKYXG85S/]N1VP0' M_7@$BR/6(;:.,Y@83YCP3FCX1"CCSX7':8RR6WO^]WG@<<*E.ZY@SEV"# M72P 7]T?;MYYH-&LN8J:#A?^/#E--S(0ZNS*29"N4.(EV*K*ZB8Z5K:*H085 MKZI-6D[!E5*CW3_&5UU?VYWCRT^L"R*5P1M%O,=+DA &&!,Z)C%(O+X]9F[P M4&VZR9]B%<) O'P9*@LD=1:4&Z/-9Z7&Y[&NQT5E%R^#8,N!P9T:R6:,M!Z6 M+6)@SB=%N%O-Y]339G/2G8YK:LO7$AR^O*=Q)Q9 MY9F:!T<>^\U=^<4AL6SPIXNR*=+9Y YU9SE@55'#E\,:G,3VZ;,X0 1?L1'Z2#ZJK]LJ6(E?<*'67D6YIQ:^_^#0/'=/*=D.-G1^J2>#%42N> M)>_!!^&3@R(L;6#NP,^J6Z>!44WE+@RNS*_X*?_RP^\,FSVJZMX&9P-\(FI? M(2O0SY("XY;5;LJF ZNB+:/R'6K4]'0TOC&8.P *\V+>IJ,J>AD'4;[S_V?O MS9N;2++VT:^B=WB7 #S:5C;+II,QWP#Y$K%AC+KV0#YM/? MDUE5JI(L;U@82:Z):(^Q2E65RWGRK,\Y+W45C3U33I;9=BH6RF4(-$M]V>V( M2$;B"X?C4'<0J5T0\"+C+W#'Q@6?!]=FK)V 8 W" M61W-7E:O/:NC7]Y[:CH[(/\74 76*!>@=H[*VG-4*PQ%ACMQV=E&K =>51G6 MHE$EU]1]L,!6M[/REZ:\TY8BH"-X7@5M#5\;S,ZLV4=JAPTSM5]Q#.?X]P4Y M*L6]9S5'=[M7%^W:B:UKATH55_W*F53EH8X M,;24B'7 /S<*JI[3F9DR$UT_2N'+KB0UAC8HFPT"^[$DTQU7#I..)[.\14=\ M:\2$\V(RGCE,.@_MGM\E(M3)=/Z[2K&N[(^\Q*411P5'2X2S(AT;3T*9^?=5 M?7OSU>(R*A7LTYIMET]6)\^=TWZ'-W8]+EK MT^$67 PF",FETL+GRCU+7:168>^T)B88S"X+!M_%-?&SB)@613&735>G3"'! M/CMN%))B6#;=ZRHIS0T1 2'J2 F(:B7W;?!D\7CK@.=& &>NT6[SZ. ]K_IF M':( 30ETDSJ5:U)30=3_SESO5=I=A7C55#28V_CERRS5>D_6C#;M?*\I$6Z7 M>9=C!"=GIS-BDVP\SDZ7K(^.)R?C2CN#O^;H%#H:CS]6[&GM&BV&I"X)Z#3; MK:MKPGDU&8.55V_4SB/+H36+.#6<5#/U MO@UWLOQ1BB26.5;F[+LJ33/4T8BNAZ"(>$VBX7*@N?5_P/:!'>>J;C75G)5. M>W57B$+AL\R[5Y$-=;T-L^2=*K39FIT-DK;8-O/#5%Z>TPF\\U&;\@6J;@?C M6E.[:[2UKFO[V8+.7/K>?:[I6P:OYT^,)0,H?"!?)J-30/_L&YX[1>9-YHLS M6CI@9 LO)KB@PHOZ@?G[G[K92E\/;5':'PURLZU,^!5K-I*9_S14-RRU>,TG MA?OV6OZ 'QL.>S'CD7SP1<=PK_?OA'*:2DX0Q\$A[E5"VOD J)X8DS$Q:>56 M9#:U"Y\QX%F5S-Y6H6X8?((Z6'S)QTU:_FAN>'NS]M6[@&.?W%')0"GIC(V# M;&_WQ+ _@@F95L[RW)HG>Y3AQ>IT_#3RF2'NP[AHI/4+E>)!5\K8 ,>K=)#2,[P. MM,1NKZ\,;/"]3C^KI5V^2AY&0]56VBQ5K;(:(K8FE6IR.JH,WMB4(S>EH+GY M6=??6P6Y4I=KM3B4R^'S>5QG^#9I.R7UI]+AC\M 812UT5V&,_,;Y#AA2PE? M07#;AB&V+1?:EE MW_C<1&R:;GN0!V^/SK]5Z;BY.J8$TF:.W\;U4 @(E^[Y MW1=S(4@[9S&4F^<"H:I]4#<2>G8\=GDKU+'%K"P_FB/K:.R(F:9ZX?IBH]3) M-R4&V+E_%B48:(D;@#KR)9M8[>@:K:7LCGR7ZL_+1SG3,;JOW[2^FGR:HLQ5 M!*)9?W,NV;C(['1\!1IR G4)^-0:6$OX5!B79K&. M(I?M[9JW/*Z)PXHSO)[9FL-T%H9H'E.;F?F>(U^RJ'+'ZQ/0'T>UT[AA']PT MVE].8OT=YP)16?SHXD_^Y17KXHAE0*JMF-Y-R>MGIA)I056JP8 M5MS,9;K+MJX>L/CHIN5:R_#8A)ARU* )M>ZX!K9SG;E:!8J;/-9E":O_ MOG0-^DF_Y:3_49%29N%JVE@NMI6:%4S60M'/_@^8_84(;G.X99[C2MLMR!>B M.VV:N>?3MU^*E2W%BU0Z$,=/L2'4K(Z$7"AQ6E.VC@?CG,W=S_K*9OU)'<[( MS70FMJK1Z*J7_52O?*HO1YJ\ '/-6^JS-RM)N3(AAACZ!5G=@K2I!7-1D^QC MF(R/:V6[43_K+)M9P4\;6^DP8W-[A'^FG?'62 MTLE8FN1KLVNRU8)J.N33R:AQ9"P)>K9VW[^SA=$OSJH6IV*'J!KK3AL-:A:O MKXFW6[%HLOBFTS;A_G+'3+\:MUR-@[G:U-HW-HGA+-<^C.;.A/^9#D[&.>$D M'R>EPT'VZ(SJI((Y3^BCP8M4^W>K92XNGZ.Z.+BZ?^-F[Y11Y$KFSX51H4ZY M7?)F32+A-26"/S:ZV+"6[!Z'E@=EMX22FX\>;B7=4_\N>,:9E@G%7#_'-9/( M&640(X0:&4.R^ *]67(N9&HCN,!S+ICVUFHM20B66BG-5D0GF]VQ89[E&4O/ M)-:\9G49\%=?&N(LUO07DZP.BLT\QO.^U>,X2[Z8;\Y22NPGL>T,-\W0TJ1U M97]^Q9H\JDNY,D5/6[B_X.AN7JND.6522KBV2TN9';;QM&D*&3O)#U- F8I0 MMW8ZSQ3O7(I1TR?[66>8JNJ_UJ[W[338_QT\/QH[@,J_8DFNV"O1B8*,7ZJZ M[%+<-CK-@\Q-IP9'HX^Q9/S" F?/^ZP48W[F[,(TY.\?55P..2.^Z_"NBM>& M58RL3:/KW*_,7NZG5$73X808[;@ QQ7$AEM$M^ MY_'IE_'%SMH+,M?$YZ\4.]LE/9GMTZ/L(Z["XT>9+2"K#;,[U"'#[]IBTJCD M/97,A)0C(3 M%H.#WR7G41+88RR2,HS=<(M5@38[:*H#NH!5;YVB$W8*N@I6ML7?DYR7&IH2 MF+F4P8;*IE1?5 63T1:&C"H)L91LS[_1H\'K:1,7O_D[#9?E8U?U4CE3]FMY M)7C72[?\<=EHBTWB,3492[T.C#LA-%=$"19#<-()SMZ]6+;%:;.)??@Z;=77 M1@S_ *4;Y':VAQ%]>)OXV\NGS]Z)P#6FJ=)4$4_8(..50*"">DX2"=B"ZJGD MA3W\_U3-&VLPRXFB59_'%NEJ@/NC.FA+AN:SFK2@[M%4X(3E((A>::L3P:+?#=^Y&_#^P>MWPBG))([(:1H1-X0!I"6)HM$)<\J# MH'SG,>5+=L.%==\'/?AH21%5ST!^BQ(JMK$E5->61"U8P\I@%SD.+%K-C8:# M501#K!961OU*J'X=%8L,3/NS4HY?H^%<:?@L/%'G[13.D/]S M*5:>3<-*CDTDYA3#K!2&\6G]^65.H1ENRH<'FV3OV_MW2?C E0S(1YZ]/\8C M,.HLLCA&:VABSEN S4<7<;/B/X<]=M0IKF]Y=^>= 32T;@H>JST#)>6R9E>82+3.E M7]7&J,Z!K9^5WVHZS &0-)I,3^N@1\T=<=2Z;FJ'^KB34-GXL.[!E_1H\+1J MHKO ]I\3/$>E*553B-[UPM4UZ9T"S6;ZVP6YA&*[6N(9J]*-:_[6P 5\C2^U M,\89S?CFLRI=[RJN:XX?@KNX>(8+ 5%Q%F^&\W20U=Y&B])4K\7I"NEH-6K+%VET51WE/_+)0 MCU(GM?]U&D\&N$EC[Z2!S$H])O'S*'ZI,G+J6/AETU XPA96M?L<_P':N!'GYM=X6 M)+7=JM#W5?\H3[Q?X]UJVJ_K0JEBV.\F,'=?CZT=_/:H3[<\[!"ZS M/@7MBPZ+ ,+7V@S\X_B^G!;S32ZRQ,P3;)ZT/LSA($Q&GYO@=R=)LA KS#B1 MBIG64"_-[)WYFNDEI$V%!_!T,GK_OK)PJU*E"JBR(9L)>ALO6J[>*)R#LRK[ MRT[CJIX69O6L*DR;,W^:=EU=4[(U?A:Z7W:XK.985$/AOVAS01N"\68^LAZ1 MR^*J^O)YBK09[_*2:HEN6XU%:JHI? ^@;O9913L&6R8W\'H_K*DD3N/Q:?=, M:J=_-NMY\6;%%MV$JCH19CKNGH UE'8K,JHVT[6436M(OG "SDSX>NI:XJ0Y MDH+,W'J8Y[!;@-_59NHS=UX'*I)_A;I2D[7.)SG4Q_MM;/2BQRP]B:;S>D;G MM%D\FB[;4P5))D4)KPS/>F?.\\LMS&H]W+8MT.5Y31=TD#H!H/6M_%Q"I+\J M!_@L::G*3W[PY$CG>T__?$=H$EK;B!Q/'/$0'=+6!B05I]1%14R2BP%:&H5W M+"KCC>!1:R-9<,Q)"G_35+FM2%>N-\U@MFLV3XFI9'7S4EU;%C3.!]_2 MR&&CBV1OX,Q9VVG&G4F&ZCL_:OB2.W^K>--C*N>BK;S&X^.&)<'6Q%"E-T+N MG'[6E'!.J^:&7:[G+O%(#G3,N .KX[;+5]VV^:L[V%2D7.TKYTTZK>IJ/N9> MO3M/7C[=V_GG<%"ZT[:?Y6O?@R)T4GJGYT^*1I1)\W,E3VUAYO,8IJ3T5:N: M?76BEQWUMN+BSX_*KUM82LM[/9N1A;VLR,*J"R\LW:".I-1)GO/+,7EOP;IL M.HSE=M%^QA0[OUZS/N*U+Z:N.:O>ZY)7G_6/\[-[5".>T>0^:2C4LBXT+JK M;'YR6FG#S-,P3I[/8M(K E5G_;;[=,([I1/RC4TGO#8]<+%-'9/.Z$ ]C8S;1(VE\'49K7)4IN36 M,"UP^<"O5[L7U72@X%<((YBE6F%M,+/%LY_%5*61UX**A&CZ-N:V# M/FZCG5[I;LA5=VXZY/Q M!'3>SZ,)8,[N"/#E56GE50'*L\;Q67,@G^>&TC-VX">[KY[]E?_2< 2#=?3H M/X\&A$A$F!QFI]9)UEAK(MXC^P5N"]A857H_W:])S,3R]*??VG\V@G MF:42-L1Q)Y(/\T_J)F\@]C#JIM?54=WI&!1$T I&G\X^E<$T3;QBYJXJK=KR M5QN*RVS/P+-!S9A%FRLF]_P&,T-HUFT]S((#)660P2!@3*(:2]MK:6Y0P[J- MT>=_=JA>;89*G^_1\ M<:T/;8[K=NB'LJGU?6W'?R;C TAPW2,Y^TY!WL8Y6E#>J_>D-C3S_AVA2BJ3 M*,*2)L1-(,CH1)#5-,(:&$'U!=U4^.A!)S/*)<\] ?54*+"#M.98$%BGK3A( MV\TSF-\]ZW<$W?)4?55XJ7,SBS ^.6T[8504">L]U.O:\/Q^=EQBUK(Z:'_; M_>O7P6@ZA9T[V/WK=?D$CLGAX =[)6ZY(FU/JA?'V0]6^<[0X$EU OVG:I7R MCX/Q"0 EH_*?OPSVYLG7YZ\$T%YZR^'/=,8T;MFLBTQGJ_,_T\'[3,69C;DZ M'[E;VY'FW*FS@=3I0J=P/N9^!#:$HIID>O2%YK[#P:RY;VZP-)Q%6T^.K*^3 M:N=ZTE1?JP_%W)+I0KO@T?0[>_LVCR[AQEE^S9T:_-ZFN6_EH[W%-V8]8U?9 M"+@!G2IGX4N[B$T#AY)5V.2HP#-+W4I#, K4&DRDW@Z&<]BRJ4^W\XFM[K6 MGWTZJUQC**94FC_/^F8U61.@ A45$09675WJ =+(CYK =+XJ%)=PJMZ]Z@ / M?\V ,FMO&IL-V&''JB:KR?2^M#5NG#;IW]6N;-3)I=^[T!^H^>ZHX>;O*&5U MDZ0!O%Z<992/IK-LS$[CNH65K^NH4K-)X.YU<NGQ6*H-=':P[)R?70CSK,Z;1<.+K7\2-L? M/RJ?(LS7[5AKF=;R83;+M,OP4'$*-B>:P'"B_572$--YL_T/FJJ6)2EZCW[J M058V=#[&JG,Z9JOV.$-$*>:@;9.!RS.PVDJ5$L&KRDC)5:T^K4;=9OV;+G MJ2A9T+FM,)C[\!:/+M]ZU<,+ME8?E7SVX_,+"=S9VVT'W^)DG#=>D_)X83QS MF83_NY01MPX=IYPX!@MZ5$?&NA=7R?^=>]42IU M?8IT[EAGM"YC["U3L$06VCKE?_J2??W16^2#G3M0ZIJ M^K^\"-G&R\GL[\N;7--I;68DU(UB+IO5'%Z-[\>3JK7H*)==#_Y3\FO9D@J9 MPQ$\?^(/SZO#XS@WU2OS$.+43T8GC7'1G>!.EC<<#/D(+LICYQBLP;?U!RRL MH&M!>\YN//I>0)\59C6PO3HHKAMEUZ9H9V]M'D3GU*(2++H.I/6Z@?03L%ZM M&]=[<[?M_#CSPFFL :B?'($.WIHLI:BHSE?]M<[7GUU>%K;ZE\3RY\)P9^J; M]IOS?K@F7[#B<6\X%!J=9*X_8%.8X.?FK-LM$PR5TY$?P4!A_EJ5N/9@U-9% M#1V5'EL1/G8=9(U<+GK^5)5U"ZC3G-Z-7ZEX/>N.K;6VW[SH;,,T[M,\X,M[M .<55W?Y6ZQQH%49JRFRYAQ;_:Y;'?*91,;F\MV;6[:0KS0.07:EK'> M8<6]Q)82[Z.2&*[7R8;+4L>NCS,N$-)[:Y/R*6$B.$[8)+A("!6L9(2;M(8Y M<[70YM.^)*H6?==./MR125Y-2 MESX4'1%DH5+SFTV9YD81W;MYN]3K. [4.+BRO_^?(67]\O,F D? 49K0Q$LRE1H)!A X'W>3&1A%7'/_SE_6R'BZ$,CJY)%GA MG!O&+"B78P"E(C^W!*UO %8S8'O9U2?%/=WQ!-CYF[:^[/A3:RXNJL*M(!3G M3$4K5G+TFN*CJK"W.L>FK24PGL;FNC:9KZA![:XA8E:!GCW;L=10S8ZF.K\P M+IH-12([7H$B1'.^IDHWSR]\UDTEG*?1(=41.IE5K<.SF[+W>NF;N,*BFZN6 M^54=B4MRS:_2OZ]'@Z4*V;6*W()"IGV*+!)'*:<Q5+<*-Q-G"]=ACWF_6C*NC2VI[/VLV^?#QSB4FS&N5'K9)S@VV\ M/J4MW[N]K]^N37&_O/=W3^*S[A. MT $?'KRU>%L.BX^E+[4:F MS8"XD Z2D:L1V>)U6* )7[I=KCM*LN^^1 E'%USO=?>Y689C7;Q[7L-Z$Z!O M@;VJ[9T_BNHZW2;W/1^RH(6>N6G\W[/:65+)=]9-BFUT>C@9G[T_;(\G5AT4 M]*<>%-<+U5VMC&4.A'R3LMV9S@U^5 P6;'@2G.;,$D&MQ<1E;OUWC.Q<_N3: MXY,?OI [_,-1?7EB\/X8=A![-/C!^>NO*@]EMJ>:[JA_@X;SY&P*TQ$G:Y*W M_FWOKSIO_=-KLO_W:_C.'MU[OC_:/_CS?/_@M\.W!^_QFX,_Q?ZW7P_WZ.OS MM\_W/RSFK;\]>$W>'@1X]ILO;^@+LO_T!=G[^[>CET]?'>X__^G(JEVCX3/OJLGE4Q!^AW4\EQE.'E+)R,5.Y M*K/4UZ@]K8KR6GZR3DK DM+D_(_WXL-:OU8>S\=8!=>+4Z,(*6A6_\CM]#*38-9% MX.V>V&,;;'G)_V3]IKGRG\/!L[UGNX-_/#O+I6?#P=XH!'B%9W9:]?[83?5E MY1]_[#X9_&,W5U4#QMAA6>.W,0>DPG#P%\S_8XBBJ=3N"_T-R__OA1^>A?I^'B M9U0](D1>^C%^1"[][*K;$G@A=D?,[.:LLUY MV7X;Y)G5-[KMOPHF5+@ ).1ZO_=83MM-+LTM/\%#T@!J.9^LTN)N' M/?F: MK[X8MU_$J,I07#6,F^ML0EPI#I,8!Y_@NL/II;RZ,^1>''4_0<,2XYF;H+MN MI?;2^N0K!^/)Z:"X40;-B-=D%O6-9G$)\\T--M6-QO^@YG$IYUD_D]\QDP>Y M$F<5P+:-D].+:R^NZS63%\7UFF/V(D6E]S&F=-6PCV(ZO9]!7V]CEU'OV0_C MR5(7RR\WV4673<'*MM=U_0OV;_DYK_DK5&J)M+=))2J^N3>Y.:VV^W5 C%<&"_SDCOV6;&T [??/IZ]/+3 MJP]O,HO:P?OSEP>''^$ZO/?T!7_S[2-[>?#?HY=//])]^H+N?3@\:KX#SSI[ M2U]+N,]HC^[#-2_$R^\B(!F# M;RDHMT+]A4' M/5+=.U)]FR$5T<(Z;PUR6AE JN"0E3@A%8*T01NJL,ZJ3.$JZ+&JQZH-P:K$ M!6,Q98!B/&AM \.8>QE#TE@9VJM6&P589 98L&4YEE@CSQ1%G$F)0&%V2''M M$_6<,BQZU:J'JS48VRW@BAB J:BL)3YRHYR-4H$)R#B/VFE6+$%B:KB"7WJX M6FNX8C.XPE%13Y)'QEJ *\D,,LPZ%(R( JS_J!GH5P0/F>CQJL>K3<&K$,$Z MH#)(@3VWTFD )1I=2%Y(#?;@+?&J-P5_&E2)CF9E$PM1(:5R#U:20+-BRB') M%=59>PY:]*9@CU5K,;9;>=FQ5Y0105C@7L YK*R16@A!&8,=W^M6&P587P&L M*D_[[CL3X?C1@B#OM$5<.(>LP1$YJF)R+(52?+MVVM6*O@.C7CM+N$R!P_I;EWC@"38 @0-,Q%Z^-TJ^V[B:4)0[ M+CE2FD?$#0BY2Y8B+\!(#D:Q(/G.8S%D&O?RO;WR+<#V<)HFEG3BT25#F,** M.5!061!!]?*]4?+=AJ$$DQ[$VR/%,4><>0KRK1/2*I)HM8R@LNT\-D.C^_-[ MB^5;)N.)YIH9EMUDT."BQ!OTN];V&CY+N-VU#.;; QH4Q0@CCG#!GF M#3+1)HF%,B[+-\%#0/->P+=7P)4C/'),M-"!.Z6TY#B$0"B&$X#AWGFX60+> M1CN8C:"%48*$A5.OC=+OKO! 0Z*6=1:(9^B1EP8C)RS!F'E4K;--746))P, MA1!K).(K*HTJSY95[XAU#@^4"M8F$'"A"/BZ0=^XDG=+([8W'__6(#:6-E&K MDS9)<*P56%Y$$0%F-R48Y+!WJ6P08O_5"8DD*83V+")#J43<*#"YA*;P0UF? ME.*1<,!K-L3XSGA]6_%9\]R4'@8?' PF8U**+% ,NHR0WG(J$P@-)2X1XGO/ M\F;!8!LYFN !3F.(AIW=.+W@H2F /@]L*@TDY M0GV, :L ,&A-+JZ,06JA;;*.]S"X43#8QF@]9C8&#EI@!7L4W&P45"(R+IA+WFNN5 +]CV,*FJ#&E$:+>Q3<*!3L1K*= M%C0D(1$+U"">8D*@ZWLPCG7 (F1J.0KJ(!D:+#<%".LP=_,BS:ZO8.[G.VO,M-J_9?^6F_R6#X$"^(\)G)Z3\TX;-GLT@+]\C*?3[Z,JOT8O M[._1WV/M[W'?+0HZ/?5^?I/ @@M-J\7YWG_?DV6X;?;;LB%NC8G&:6X9[)/2 ME'.NHPD61JLT4RSX$%P?L]P<$^UEMYI?.")P2 PYSQR89<$B:[U&QG!F@N,(-2P!;/5QM%%QU M4LPD(Y$R@7!T"G&L%-)$&H0#G$G*:\QD]B<-)=O"VJ<>KK84KH(B$I0J:WQ* M/!BFC:0"-G-BA!EG^XRPS8*K-B.,.J.D)1011R+BW"MD0E*(B,2YE291[W-& MK.9W)GGKX:J'J_NB=M-*R"@584EP+YRUQNJH1$C<1B]E'Z_;*+CJ)&\9%K@B M&#'"&>*")Z1I,DA8$@)FUB63D[>&ZN[!NAZN>KBZKPX%D0G'4[!"!>ZTMDE2 MZ9/%.$0*\-0S?F\*4K7Y58)29H*)R"K'$8_<(R>4!J0*7I@D8S!V98S?/5;U M6'5/6,42548'F]WJ.4?&18$CEDHSL U%ZDD]-@NPYAB_62*16XZ4(H Q+ MCA.>C#!44RH((4((*7NR[XV"K2ZS!8G"XH -BIXK *VDD,8B(2H2)RI2QZS/ MH$7N[L!:#AP_,U6]E^]9G0JH(R#3RF,2LEIB.2>6!X*M"M('W\OW1LEW&T^# MQ?0::XD0MAQH6@*EEB6FW5H?>?TGEZ^ MUU>^@[+!*16-"Y@[1[518'LF+\#L%$:[WJVP4?+=1FRLE];!"B+E#4'<,XN, M=0Q9G5+T4C,O8R'[5O3.9-^]@*^O@ O.K4V6@-H6.!;1BD(RY T/RDO">@'? M* 'OD'V+9%0"L]MCYA%7., !#@8X9G".2]?*^A?'/'0$/GQ#.J M0:2-#DY$H:EQRC+.>_G>+/F>BPMH+JSG!A&'LX0SCBS!"3D1A([1.LH=2#@= MTI61QZY1)] -#@SL_K'[Y Z!@0?1I !S*BA5B6))>. FM_\D)BBN#.&B[Q*X M2;BU=[![VJ5V<+"!02%!0F$#I@=8'8YHBKB(*9*4LVWTSF,UE&O5HZ!O0[+J M9%"A" E.!C S."@EV@LK.9:*)>P9ORV; M1./ [,@Z9XC(],SRDI%'QA"EE/#AOC1!<6T:P-C3ZOO!WPV1\ MOSW %;.!EE57S6NQ8V2,+;4SQ%3+"/ D6?!.+<$61+98?2-@90W()5.X_ET)A> MPK=8PCU12I.(A1"@D"=K$6'!M.$#8"(]@D M&AD5(Y)!&JFQY)3'7D5_ .*MB4K.:"YS=T@E@@Y&8^L$TU0*(_IRS V3\;TJ M]@=ROOM.1HMA70.2(N?G.2]0KG!"C&@0> !Q%=+ZG>!](]"^$6A/>-TW GT8 MB/VL&Q71RB:%K4:N:&5.4V0%X4@:33%G(F)L^U:@/1#V0-BW MU"(&Q]3Y$Y M:6UT*%J>$)>!(Q.40-$(P[77QCG2-P/M<;#'P;XEZ-;A8"?*1C/7C,0&86H$ MX@JT0CCE+ I@UFOJK?(Z]GNEWRMYKP2?5"*"HR0E& _,1&2,E\CA)$2P+DK& M+FT@VY^B_2GZL$_1OJGLEB%C)Q]-14-5XMFMDOF^G$065AMASH6SF 2<4M]6 MM@?"'@C[MK+;!X2=J'_46IMD,0J&97,B>= .#4/&22J,(!$3W3>6[7&PQ\&^ ML>S6X>!<9@0&W4_[B#P.V5:V&C1"&Q$-3E-++';$]9NEWRQELWAEHM(<+ >= M'2N1Y7Y7SJ*4@DU22U7%8)IYO\Z_%\C7:GCKR6$$ZK%+.3 M\724;_#+)![!G3['?W\9A=/#1NWH?+&2NU]P^Q7K0)[/3B__RB<[>3\Z+F,W M\YJECW (3>Y?F:+Y%8E]A=[],6>3W?^-3]$ M&-_"E-YL-G8N7ZWJY\(*5^'-GS7T;'93'*EQ9A'::EG;E'N)J] M.IVROG_]\:/RT<()5'U&]2.JQ:4?XT?DTL^NNBV!%R*7?_6JVU[]F6"7/_0. M+PLV\>:\[(^96:;YYKSL@]\&!L16W^BNUV197WLP$W$G&O?JW+H?UX!9.,S4 M4L_ /OQE\ DN.YP.XG&(8?!7/#F-GUR<#!@>#G(X_ :MZ_N)NSAQQ,Q-W%VW MWE*=<-XJ6I<9U#>:P3_BI!C_QSX.GAU_._]TL0[@NP;_<&9P?_PY'@U^'8U/ M#^/$GL0S>+%^#F\WAZ40914(MW4ST\MG+Y\_?PXORN=]L^C]C(#-GOTPG@Q. M)N-PYD^G WL,.FV>_"K;JEF03;F2R0DDG2:F4MC]QB92+G!"NLJ6":65KGU9,^ MK_X.\=\/N^+-WW#=W\_8WH=GMU^/WAZ$P[T/OQV]_?M/ND_? M?%F,_^X]/3I\^_0%>7/@S_<.]@_WG[^ YWW\MO?\OT?[]-GYWM__/7K[%,;P MX=K=1K; M;4@$3) B88M%YFTSV&GF?0#@WQ*N>U>FG057;CLT[[8(W"GEJ'.+$ M$&0\X9G822ML!8UD=;2K/5;U6'5?B9B2.D&44IYA[K72A+A.#P(0'U^M6 M&P58;7^YY%7$6:WRQ-):>AR) MQ5QPXC -G&*6+"&"^J;=#NES@3<"K]I^>4S)%'&PR/MYA?,M\:JW!7\: M5+6=_Z(7%M0G#EJ5,"AS]2/K'""7)4YDRY_DG-7>%NRQ:@W&=JM>Q-0%ZUB, M@G!'I38F2<9$Y-888F*O6VT48'5;&5)I0JZA0U$RB;A) 6DO)'*14,J%DE;[ M-=2N5I2$L1GAS5=Q&NW$'Y8\C #R<30^^12/+XUWSB;DP?.L.ZVT$R)Z3 (/ M7IC$"1B*T1D9E/>X=V)M#G#M/^D$"+6U1@0?4"I-U'&4R'";0-,*EODH+4NT M*&!G'!/DDOX.LKX$X%81/GT7#'E8B.>288 M2U9I$1+I3_#-$O!.& I+3Y2A2&OI$4_!@,UA/5)62 G@S3B7.X\9'F+2"_@6 M"WC(DJPCSVW&N97P,SFF6 Q1I PW_L6-DK V[B-C3)0I1*R45G$ R'(NJ@1 MIR$J.-65DJJL%_#U%7"&@R16$PG SHV5-FI,. 5=/6@GD^P%?*,$ MO(UV$*F2B-PA6#P*-CA72+,4D5"PJL)(!M*^\U@/%>X/\"V6;PG?"(YH'T"L M8](Z4,VD=U@1E[MD]?*]4?+=#0[HS,]#$RCEWCO$OD9>M[&:Z"X^XAA&MO./BMP>IHG!141U"]$Y="NN"Y%R$WN8N.CW_J,^E:.=F=2H-0G9KA5R6'LDV/!*T^U]+)' MOXU"OS:2%D+$L'XY9P\PCUL.:E_$'"EI+<'18)?E%R M3G$@7M,("D*.0PA%7+)&&8)YZ+V4&X5^;9C1)ZL,TQ8EB7-PT4MDI**(PT)K MAAEAC@'ZD2%LF1[]>O1[D.C'@V=8**-R!K04UF'G2%#9Z1^=X_0:PHAR8M=9\ M_IC $3PY'[R/X_<3>W*8WVL ?_D83ZJ MU@UGVO.( MB=B'.LD>-$(>DXI2PE1:G=>:R&3),U2J==4<9\#U=;"EKC8*K-JV*84%<" G1$!3B%I!*YSR#%!.5@EI* M:&:*Q4-A>KSJ\6I3\"J8I*P3RC$F.";11*FCUH0E)ZV*?1+\9N%5FPAE A$R MX8!$DC$3ARCDC%.(86N3<1$^SWBEAD9M8<5QCU=;BE>.4H&)848FPDU0+C"= MHC/"@%5(J.GC5QN%5VWJ$F7&&U"4D0[<(!Y\1 Y "#D: Z$\2A'"SF,SE&M5 M7=G#50]75^8:228DDX(0K;@5TO"0A*61@X8EJ;IMKE%/;/W3D*I-,P(M61,M M!,(\IYAK1\ 25!9%&SFCCAKIR,J(K7NLZK'JGK J5X=%RCCU,7!. :*$X5)S MS11SVO;$UIL%6-W4H!A22I1X%((&Y2H!>+DH)(+][&( Q,+:K)]R]1#"]L_V MGNU^%V7UDK%N'YT.MB0:RZB01'!OC7,J"J(=F A*@*'0>ZI%I12Y[C7 M./G>9[!1 LXZ/!I@;LG D*6YDMS'A*S%%FEII-6$!VD""+@8&LE[ =]> 3=6 M*J.DY9XI+J@VC!B',?4R>9R4[@5\HP2\C6)0E3NM.HIHT@IQ''@F293(J)2X MT)31L.)BZ5Z^UU"^G=12JJA!3U/<9"8)\(4];T9 B;)=_S]<"8@9E- M$ XY \Q(A6RB"25%DR0!3#)I2S=+>?<,L!6*^(.H8OIC]TG?J/)2KR"6+IA< MZ8,C8)+7E,N@&/R_E@J'OLW5!F'2WL'N:0>3; )EDCF+A$\8\1R2M,1FYR U M3&(L"D$5F!5:R36*1/9],E;M-_">*@/Z!*@8/'FIL7?*IIQNX,'"O"W_9I\7 M]1.E^WPFW2F[_,%21(+BG',>-+)*$Q2\)8H3!^(NMC@SJA?O6=&NX$Y0#6>U MESPQZT0,8%L(81-.L>]$NVDROM]I@Q.YY,P*9%ETB"O%X#='D(+#W#BI1,I6 M17^";[N(JX"9&ZN@4"B2"B$?LD4FR/GNNRB]T8#9*+DH$4\8M'0;"(J6.LZY M]T&$-3S"^V:5?;/*GK>Y;U:Y[6#]K!L3\8+[J"+)G80)@A75R%@#&]XY2IS" M2F0BM+Y=98]_#QC_^G:56X9_K;N)BTSE(AGBG.68L*3(>NX0]@K;8*0*GO0- M*WO\>]#XUS>LW"[\ZT34B+.@W%N#A+ <<0M6NV4TN]NQU"PFC'7H]TJ_5_)> M,50)D41$A*N >)(<:4H#"@I65F(X*@V[M+UI?WCVA^>#/#S[?J=;!HBM\2 , MB2PH@8+,A:@AI0R("D4I5(A!^.AQW_'T%H-XZ!"XO2C8]SW=+A3LQO2)T,IH MD9-U$OSP&FE,/'(V8F4CT[#R]]3Y=%MP\$&#X)8B8-_\=+L0L)OQ0'FD)'&+ MI*4,(-!B9(*''YSCH*-6L.S]9NDW2]DL+F0>>>40K+&$S<(%N>**UKFW:&FT>)&QR$>@Q:ARS-_D.I2 M[OC+Z!1DU%^MS-"LS#3H/_C5'MECWTD**R.J@&?_K#3!7('3?_X46G;TY!/G M=/AH='I^D!?D ![[Z]'8?]S,L^_OWXY>/GUUN/_T(]M[_NS;VX/?/[ZA^W".?#S?__,=LUJK M& 3RBF/$3<)(ZRB0C,D2K$%AH*;2)F"_QK";50#F&)PP&BPUY7GDSD@PQBR< M/\%(C2UH'Q$.]!-8CM/)6=Q9MGLKA"\;^*?MYRMW[\%A!)WGZ&C\!:1Y4$1W M<#*)4WBMZ<#5.WHP3F5JRC:W>7M-AZ"'P>XZBF$PB3Z./N=OPE]GE_GQ-%]E MCT/[MZ-Z1X[@EO\8'0].#\=G\/)A^L]?!K?"@>KX]/"2<9)/Q_+:\Z %$WAD M3Z;QE^:7?X?1].3(GO\R.B[34+ZT>"+#4_[]911.#[.E\@A7UDJ=W5K?O_[X M4?EH07.H/I/\D6;BTH_Q(_*=GS'-O^N;5[TLD3#,'_&R@EW^T.]^6?Y(<'FC MVUZ3E_R##LSOX#>O=O']V.=F 1/44O/\KWAR&C^Y.!DP/!SDHV>US M NQ5DT3R)!$S-TGW1(D#>/63?#@SM:>H&Q MS_>?/Z-[WSY^??/MSR\OG^_QO6]_\KVGOW]X^?P5?/\-S<^_X*GY>__P3;GW MFV\O#W[[L/]TE[_Y]O[;_M/W7_8^[7$8Z]'^ASB![0$#&=;8C7?3,4DX8 MUA'LS$B2])%&XU@&,F((9>2[?=,]QOT C,,SC,M=>I6S%#E)0G9%:Z23HRC8 MY(0D./?PW7E,AIC>N5/"O:#9C1?-L2MP>SO M5SYOC-G-'GW5;M$>J+\#J$<=9908&@S.KEYL8&Y='T:+1.8ULO#;)'HU6A4:LV\L!B-"HA;'E"/$2)M#4YW<5I3;S7 M4N6B23S$QJP1&CT<3^:3'++Z&8[,;4;BK>Z_O#*GI#TI^0;?8FAV8]Z,^_&T M1]WO0-WSC@YHJBW,-.#SL_7@&\ MC-RQ!Z,5@U&K F)O;! Z(.4BJ(#8)V0BL!I3A!T?!G6R=^\S[*WT=?(9+HOSS+(^>Y2^!4KO/^FHC%%B@Z4@8*,3 M#2JC]V"CIX2<2)AQ&95P;NP\Y@.,5^GOK[SQ2 EJ_M?<\40&U *1X;KW!A-48% 3;E/.K2^H37^S_-B>,\.(^"^27 M\21,X_&-LT">@$H[.OW/>#I]]O4D'D_C3#3Q9HKF=Q>'['_;8^]$\'#@.Y"! MA$&\#!S\UB6-J!8F)F(9L>(^RU#[9?XARQP<#CY@@[AG 7&E!3)4)Y1@9221 M,DK"[I.SK5_F'[/,T62F?(=((@Z!TI.I^4"DG<-"$\(=CO96RVPXP -/ L,& MXIA)0P&AC7'4!"VH%/4RJWZ9[W.9HV9,8:50(D(@+JE&)EJ)(G<4!RP-V&D[ MCX_'UY>"7_^'JN1M,/IT8D>33Z!U#/PA:"2@24SBD3V-87 Z7JR/&Y3RM@C_ M36(L57#'H$ ,/L%5A]-!!.4E#"[6V90+\YGP:,-TH:=GDU(_"".^R3B'64 F MT4YCF:C%N?L2)[D*$21H J\Z"&=QV0R?'MK3ZM+IF9O&_SV#.8"K1\>?QR,/ MC[73P?AL,BBJ:OW]Z2C$2:E&SB(Y>#\>AVF9H=->*F9\1-VYW?*XQ 6I#.CY59MV6S3#F2QJ/52(=Z (E;&'W%ZLU++6U=P MLDTJ-_T1+_M#"GDW[F75O13RFBVK.STH"'8Y<*VB5G?;YFS_:JR_3>7N]]&G M7%VUL=Z3=\,"\#NP)CVDN5RH$^\W6;_)?O@FV_H4WMU/\/;%Z,ZL>Y5%M)1U M!BS&K+J[".;+<6V5Y3^[)/_>B%[UN]@Q;MH>M7_)M7[)K4^BJF*- ME_W\(TZ*&_38Q\'8P:L6[\-T,(7_GZ91#'<*T_>9")N3B7!'C_K-.#UF>0=/ M#NWQ^_CB.(\V3>![G8WX_WMS:<7W_8^O:9[?^_AMT_?G"_F+;S]]*?8^_#ZZ]NG M__T$[S3:?_J,P'?8_L'^Z,V'O?.W!V^^OOGVZN/^AY+M^K4MOPPIR,@U4KG? M#<UNX7UK[-8"U8 MZ06G!D4XHQ!/RB*+F4<^:LEA&U@2\W"[.HO9([%!6SU.3^'X*+FA$[AK?8B=3$8^#NS1T=@W>:,GU[G% M\QWA>^-)+3Z7,]30V\WL4AUGHQ6!>W8LGWTZ.X)5^AR?V%-_^/ID-WR :W*" M\,&X/ML;C>!9O1U>IH-V._R1=T-_YM_BS)^U5<]GOE/*J-P"S":,$<^-Y#2+ M%G:A(5Q%)KD6.X\IN]A5?>--F5[DU\\?VZ/!3T"#UBN;?- N2(>,]9GG"7MD MP!1$03'L>&!<69.+9"4G/1YL+Q[RWN737 M2XJ4X](Q2JDF=.>Q%NM4%]^+_-:Z_WHT^ EHT#H!L4LL@9V'I$L"<8H#J #8 M(,HXYRQ@'Z3-*@"7=R9[7#\GX$8X2:[- 1RDR?C3X!B>EM?EA!8*Q!HO2-28J:3IH@98:MJ')<81])9*9FUH"*")L#I$+;9&H' UE=- M'HQ/[=&,0NBV'J@;E:%N<4;KS<>_-2A^'TZ=&_F[^_S5.X%SMU0R,2:]\Q$1 MFAE*A6;(D420,S8&K+T@RH.9IH=L99TJ;RPY:YZVWR/@@T/ M4GZZ1'PC@C8 M.JHX]K!.TB$LDT+<1X=<4 PQ08B3E.K V3'!8,1,EXC009)B.R%B&X9"+PL0(IKD>PB'WH[&O![X> M^-82^-8FS:L'OCL"'^M0:2BK952(R!@0AR5%&FN,<&Z\XHQ3 6, /C/4*R,) M^K' 5WLKF[>H]SHKJ+9*JD^XXR",SS)C^'<0X_7/7,4S+VEPU>76WX 65^6. MOY2&O_X&5/K=#+XV8#-=OW%=.8K_.]>(; 4*]OSQ,3LA/ME19AE=&N3*;5S\ M:0P'I3W$RU0%O2IL.\B;Z@!>Z=>CL?^XF:?*=_=WV3OX^&W__;N@$Z-:<3@1 M0#/FUB5DC<6(".F#29PQ9RL5 :0MAMU\KDOB"58J864\%TR;Z#U6SC,9@K9P ME@PB'-4GL%2GD[.8N=2[;1RJ#@PUA^RT4\+;M-2(]9+ENETWUP^B3E%-9Z=G MD]AM"W-9>>^%7GAS K041Q8.%4X?J9SL>S*>ELCH+^6IH\^Q[?V0=WKGB]51 M]0MNOV(=G']GIY=_99GX+O2M^!GR2]3"?'5^'DY:^'\?D9M$^Q'9!"_[BSWZ M8L^G._^:'R*,;V%*;S8;.Y<#^U6-5IAD47#)L)6@R,*N3,3CZ+DW)O=>V;GD M>]=N[>O?]+Y7J33HL9/<3:=-\,YU[!8T*'MT=#[W04W-'(]#0\H\B2=CN!(D MLZY\K_KF7)3+,(:7/AZ?-K([RQ"?#G(& CQS!+-ACP;A;%++'SQB?!P'Y]%. M\BL=Q>ET.+ UC31\^-E.1@4.YKL&V=/3RO&1*GM0%#IL4W+F4WK_)17Q-FCJB-1T_2J3(^+@*ME M\.V".YLG ";RPUEXGPMCIJ5?TU'3Q:A:VKSD-906M6Q:E07XVA*;YH9/'P") MFPY+S=3F:?A_JR2\RE9L."!A._Z\K;38"^ETY!%R_=B'8/E9D! MP)+A[X9]-+9U+F#XY&$/GY:>=7 J@]Z;E=[5SL:=Y7[39[ADZ_V,YBH_U4W_ MQV0K6\X/*ZH3[8%)U;CW]KHC6:,&4I9H0:QXVVAD3B'><<+%T=L7KW MXB;1Z6\1-IZ='GZ7@VT[PC(?7N/]I\_$WM-?#U_^G:]]=;1_L"O>?OK]Z.VG M-_CMT[>?]KZ]_?#FPYMOBV$9N#_>._CX9>_Y,_'F[]^.]I^_)GM/CSZ]^?3? M3V\_O/JX_^G-M_U/\!X?]M->EUG+$Y*("0GAB 7B+&ED.+'( =913SK%+P3'/E4R&.Q$Y0)Z7$9LD+\>Z M'M5^.*IU^C8(%1/A%&%/+>+"L9Q@PW+*=0I,*.Y%VGG,Y*J*X7M$ZQ%MG09^ MFR1##D<\5X2$&+E)V ;&&!$P&TPXXLS-M+F%%(I&/5>(4N2 M1 !M&FD/OS$G/,:6)DO5SF,RE'?/*-PPN/N!WLP>0GL(G1G T7 00DV$"I:?NF\/%J! 2P30SQ2@C0W%$6:%)$D*HUCAE"X M9E,@](81DDW H%=Q&NW$'Q9W=P!).!J?Y(#R+4CAMIOL@02G!(W18,XR,ZH) M7&)EC7/62B-ZJ_3GH4R7I8U1B1TE&%F9>:M9$,AI;%$P,EK,0_(T[#P6MVW( M]>,4KEO0K&RW@$6K&.8N)IH\MU(:@N%/@;#@'>$R]"?\>LI>I^;41H$%G.LD MY*I[I2DRW@7$8&&E<$S1E!D2AYC&8M&:\2D!TT:#C3D*,W48Z"5N.08CS)7^)B-$; ? MD0SQ4(262^48S:3]WG&LO6;2N*0SD0V7S)/^R%Q/>6Z-8I6B)E)&%*B7B!MG MD"#I$*1V/1'-GI*/2 M1VX$ =E53(E>4?IIP-IE /-@06IF'$H8#!)0:"FR,2J$C='$\$2$I]_A!]CX M<$V/:#VB+7HV12!2X6 EL3SP"%JDL@RDA2:KHK["L]EKD3\3[#K-^H06CDB! ME!44@>X?D"$VH:"MP#K NJ9,=SADZLY<7SW<]7"WV7#'(A9$2,HBC=SJ:%FT MH,UQ;(T%J7$]W*TGW+5.L$S@ZK A"$=M$>AR&%DB"-+2Z,B9]I*7QF2$WM+/ MO/%PUR?C]!!Z#Q":N*4I*ANH\)S2J!U+.(G$'2=:V-A#Z'I":.MW3 83(CA# MD26 4.X,TH%Z1*/$S@61DW5V'O,A%ANC,2[G"I-7<(5]?Y/8&]QC9:Q;_5NN MUUO^B)K=58[\1CQJ5S(B76#FN(*:)W^M(N+1/KJD8K">?'CQ9?_Y[_#WP[1W M\(SM[[ZCB@L3'4728Y?]&1:9:'.K'>P5%I@1%1:YRKSCDBC'P(+CG#H"&X]2 M'E@V[Y3":I&K;#\6?J/QISCXQ]%X.OUG9D4:E-F_FDQL*9W4M4_? .JA7^T4 MMO;QTGF9YGD9C*8PZ9].SC)9E#L?P(A&H3"]'<8EWX,K\@?5,V- %HYO^QZN M/,LT39E=H]RUL#?!]SZ-\XAASP_&9Z?34WN<;STL5%*9:>@45B(_M[K$?K&3 M,!W\8^?57[O3G7]V&8Q 34QQE-F.'@V>CH[*RW[/H'[H@/)K+W_IX>#DZ&PZ ML$='@XSN>8O9H_G;U4\I9%A?QF='87 (KS)P,1[//\I.IV>9#1$&!?.0>9I. M ,^.,WG4TCL>VE#=901?S-VCQS J&/*DO<$T^K-):37V:/!;)A^KJ,3RD/.$ MY8D:5E=G9J[CD"FJZEV5/^O,>YG[O.>S1C>8CC*EW]6OE[\1OQ9*LKJS=5X. M^+8O?>+'QWG$^6^CR0!4SCRU7^ /%NZ(F@$\NB#,/Q#6__*',9P=Q9=I$>"+ MK.T>AWJ#KA5!Y;V#_K?W^.73%V ^2][3_?.]]^_T]PGPX-$Q'F%..$&&4PY M\I@RE73DPNE%0%]_@%U&CSF-I],L9Z>'U68N2%0=+"!2E?"4E/P;(%D R:S1 M^/1P$F/Y(FR[. !1.CV<9C) N,6,*6_0D.25"S/+]SQ[VS!+&US<%=J*TN^? MO]R0UDU>H'5;2Q(WH>CF4(TQS?N7W:R75?="N&;NU,;Q/LFAKK>^JN2L@F*7 M@]<-R+B^W^+?NMG81KZ27Z<=9,?*NP/ M:2K[_7K_^_4AI%(7*]J>PK.^:W]=%R>ZV_ZZ?>"\?\/U><-[ZEK^<\5GT;*_ M0Q_^%/MP_[=_/V,OG[^F^\_?X+WGS_ ;^@)?2#UX_OO'MP=' M']X>O,[-S,[WGWZD.07AS8'G;^'=WG[X\\N;@U,EBCHGDSMK$2R*1C0!D%K&C,O9E8ROJG5J+Y_K>,*N MH"]R?\+>JQ W^='P#GOOG./"!*%0"MPC3I)".DB'M'"*"EA.854V4^&(Q?T1 MNYTBO((.O[T(WZL(LSD1MH(033C"H" C3F5$QGF,' 8H MECRX7DVXA9JP_]>\+RTF3+DB"6%-.>)1:J1Y9B876B8/MAN.F>C"#+$DO<6^ MU0*^ J=:+^#K(.!S_CAA,5CMW* 5AOBF&ADJ4C(>:NI(L%YZ4' ]9#>G3B[ M%_"U%O 5..5Z 5\' 9_SU3$2, ^P9B$*C[A* CFE(TI>*DJ9Q"[%(N!&W[F7 M4B_@:RW@*W#9]0*^#@(^Y\F#,YLDZS3*NCKB(K<1TA0C[&6D200>0S[!Q5"3 M.]/1]>Z\6XGGLZI,;)PZ%6Y% +[+D[!D K82IE;L2;BL+>U2A*HKYB[ U&[X M<#8]S2U+>JRZ#5:-YMT)5%!CL90(*YL03]HADZ)$B5-.(_=.T[3J7K7K2*#4 MB_D:^!-Z65^UK,]Y%I(G6'A025C 8%X*^2\#DCI@*5+&FP/OO.8#0D5O:1O MM:2OV+'0'^@_5VN295:C\X)I)I#&/B$:L#>%4J MZ,7\IXKYG(\A!L*_3';XOW:'F [E+ MPL/=B%LW'0O7(!OB,DCL@? V0+A06\252890BP*G!G$;"=(Z.21)2$8G*A06 M*\Z'6!MVZ!6&6AXV./QTST'!@,,:9&'TX+ :<)CSE$3.HF.&(2F30)Q$@4SP$6'M MB;+" _K3%>=A]."P;>"P!ADRVF^KZH9^?Z"GAL!W-K-T%T:WEPW >N-[%<6TS9, MS:MU&]%.3>W5+0#FT^YP#]G70O;+)_.>( -+XC$GR,!OB-, D&T41\%2L/XB M==ZYGRM96)S&B+VZ+;1Z/8=X'9'MQ?M,>T'8-J< XL$P;0Q&&E) M =-@?9#&*J) C B&"R%2R)B&[^S;[H&M![;U!+;O4=ONZ+/KU;8?"G%S;KAD M(C>&"$2H]8AGFD#MO4>)J60U3<02FB&.W84;L$>W'MVV!]WNZ'3LT>V'HMN< M']&SQ*T1#@6:B=E$-$@3;Y'!T6%G,9%29'2C&V&4/H3LK2L]B)>D8?W_[+UI M4QQ)EC;Z5])T9]ZWV@RG?5^J[,J,*E0:U72"5$*MB[Y@OD*BA*1S$8)??X][ M1.[)D@@$2%$S705D9(2'^]F7YZP1VKT*%.A'E-5KOOV/)ZB_6_2PS@$UHGH= M4;V K,.")5B2@+0+"G''<&Z%PT@QL$>9L\0+_LWQP_58XI'3P(U8^_'%VA,, M&S;"[$[";"YP2 46*GF,@O82<:(2U&L_ MZ4!A(];N)-;F0H6:.TSA9%"2G"-N;4 F. 6_1L:BQ$HR\LVAPN\CUNHXX7@9 M-1VS:AKX-T^8O1<0\.:!W_# !TBRFMTZ'';0]!A=[ M'_VHWQEV9@#&RHO-;=8]F*+STOF]/XIAU(V[*:]FC'0V7^= M_%'ZCVT6([MI4:SOP:I^[_;\Y^CL:Q/SU3K\5*]"] MB-XFS#XQZ]K\7ZE=JI1P%FK9%FT(,Y@0[OV;!!_'?_P M6^@,SKKVXM?.:=F6\J5%309/^>V\$X9'V>[:Q%60K,YYU?>O/]XL'RVHW.HS MQC;-8KFZU6UOR-@^I\3L MZKCDY*7,-Z6AO^=,\:7W73U4?.^H'V/K!*X[&K0BJ(T YL39,.:NKQ;#&]\R MU?U&V_"'V\T=^,MM-_,Y,(V^#YZY!:7T]##VY/)TXN\KPD7HB3C0IJHH^-,6DN%L#JI$*4P2;G[!!K[QO#. MU@D/#[_N?VS3]L=7ESOT'=NYW+K\M/=7:D_Q MT\\/F O:>AR0,]HBKIA"\"N'7X,6VLJ4=,8>VR!Z&5WH6_CJGN=4_CR\J4GR MB03BF'*/,1>/-RPIMPR,D[$E&@Q"'.3$)&$(:, M9C+:(#4V]L5+LE%,@(8W'Y\W/=4J,"6)=)2"3N2]PL89!V1O,.A-;R5RV!C$$D\T:;"?5!Y> MMB$INYXW5]> B&MJ0+Y77.A>1\E8V^ M13U+S0^<;BK@B=_.>H-.OO6O_=BU6?1-<]#_/5]44*F-7_'T*]:!%AH-K_[* M+?+GCU&(D)'S9G=G]M]Y]45P,^VC2RH&ZPDGP6G.+%B#UF+BK.3\@.,7XR\= M3:3-F3V,R/6C_8QL@C?\U7;/[<7@Q3_G]P4V9>$<;K>%UQSQ=<4+A'Z'HH_5 M94D[O6%LB_9$K+8 #"PEO]?OV]##F61_;G8'O]@:C)U-2A-M_C!7S MOT]V+C]\;5\>'7\ZSDH6%/+''5"8?YZ 0H9GO?KZ"9ZU?_E&+)84??JXSW;V M7N7GGA0E^[I-]FE^+BCNUZ^^MO=RY>?OQ^WC;FH?9R7^X2 PK6&#"0J8&\25 MTDA+HE"T0-,1-MQR55E?(&UBV,HF4XQ* 4>TITX(1[8IC'D8BHKN2K MS!U/MZ[O]?O_S?'P8;9C6WO1'YW"4@XO6GNPN8,4^QNMF5V'O;.GH?6O#LC7 M 9S 83^6_7]ZU8W7"N@WIZV_1MV+%MCT?*-U'EM%6Y3*L&&O9>&-0WSUI=<% MQV;\9O>Z3+DI;K'.%;HS[R-BY=N+3I<=Q'R#DAI7_+<'6?IW#F% M;87#CW"3T\/6V9C&AE,:&]8TUO)+)-:M2KJR1_A#)\'B_5:(7Z) MW=X9G G\%[YP>9$7 A>6PZB+86%%HP3N+E@R^7SA%/_OH'5V9/LGUL=1V8;" MET?1=H%B?*Z&A36$D1\.-I^9^/\86_WH(YQV@'=JC94]@B7$P[ 'CG-F+8H[D:Z+U1^,O7T3;ARWO]TZJ;PV/ MP,,[/&IMG?4[W?PGN=GZ6%4D=V/FHL)L8^E8W^0'8)E'%7MKL$P68G#E]'C* M.=MN%PCG2P23<-"JWAYN,1&-RVKMR'[)->/Q---;[_ 4%@MW*0)TX>3+E?DV M9[!&L#J!V^"^-96VLGN?MQS^ZD"<9I ;(D!.L=5U<< MNVB._;Z.G1TDA[V)1B 6K #G&<.Q$^=1X!X+3[0L4R^9WKSFV'.7"HBXX]R2 MDN5N:,$?09"569GJMT%K,/(^#@9I!)K\[ QL,CNKWVH;+9DX<%0MY:G.LQY^&!X*ETY: 5 [&4@G_ MSTP*,J5D\$*.BM [,.HTS'4ZS$OZ"*[ 'R.P:4YB_U\=ZSK=SO!BGI$O9[JB M?S:>;>^]P;M;!\E&JW"PB BI$!>.(2>ES[);.*LIXXZ_>$DWE_N:)TR[9#JV M:OO3AB_VU%<&)W"./1WS3&W- QFYBV*G@(L%3-(;]1L#\?L8B$4LSAAT:_"R M5!+TNU>><\VC<3HF+HQTRHKDF:$WU%"^V?ESCIGA17UFZ/->/PSB:UL7[I042Q9.2PFKKX<86Q3B M O[/@0T5).>8P<%3(U228&6!D2WP#45 S<%_IX,/7HE MKE8FC1(DL#E8O::=SS@8^AK^#=8EE]Q;0PRSBFCX ]'8WE3KTM@1#TR 'P@0 M(#C:BDO-D32)(FXY1=HPAZAU3&$=H\R>P#J21R620-EPZQ-/2AA";)2!6*(H M9=K?5!K<'/OW.';PP 6ETB'M\LQ.21(R04L$_&FE-I(Y;U:;DE?;EG>1+\3< M*IC[M%.:[=CWGZ]-:OXH60Q'R#)?X##>%I9R[*M M&ZU<'7O6^C_VY.RWUG;O*,.V5#N>KSOJ9 ,L8\(,JNM_L!SDD_.79SAEPCUU MBC%U8C?D8,;1"!Y=951.LQE1)Q5S3O'9IQ)1E4L)?):C/HWB:=>CU2=@;8T//CX"OSSU.-A(V8'36*G;% MB?W:.1F=Y#^M%9]%KK;B.)I*8M"R9)H%UDVEZJ$I-O'-^ M8"G#X&XDY$UN4K)&(&N"15XPCVEN'\3BQ4LBK@M;9]>BU#< LX"/YS/-Y&LR MO06^;K5N9 MBW_/?N4'T>A/KJIHA4;?;&6L/3C-B738&)M:2SF\F4!YYW0<^]HH%TYRAOGH M_I/KS#),0RZ.@#M/S[D(]I6TDC\Y!Y)LN;A083$:E$+Y\H!)DO+9">=N$G<$+EE(9'O4&:\,ZSFU!3M5(K\2.7/29JT8?-(AA2"4XHQ+S4Q0C@GKF%;,1,R: M8.SWMXHNMTC[_,"#V>.BH$AYQA"G02&3# <&P$98KZDP9?;"56-EQI91IH^U M*,)PXDR0SG##F20N;.;K3.8Z"+)>,#Z;,G8NF#!.'EKO>_W<] EFUA3I:F(,+)?N MSU3K5Q;"42Y$/MS5>%W)3^+5NWEJ@(62HP MI[1RF@NGM53222D"\\:[Q&X"X&I$Q0,4@NWCW;TW=.?R'?SO\V5[ZP"T=TK) MY5E)2\,@II_ ,D@B5D?)D MF:,XW80PTQ#&@Q,&Z!"?.T>-#RC(7%,4(D-:>(Z"L2D1QABU.*=XKR&,NU6, M;&19!(([>PC=BXT[%Y!H&11-(8&H23QX::PR(BF?2Y0])ZDQ7A^=S':W#H)2 M048N$-',(DX(D!G#"0GI1$@8.R;5/"HN9]Y$DS\ 7J+1O5O=%R,(/U"R7#(=1?Z%D MN"3.]F+_9#?-H6O\7;LO6Z=A>^J\3&LP?C)Q>GF(=[??B/:VOV@?MR]!G%I' MK9?"(JLIB%.6]:RE&"GNP2>+@5M%7[Q,L)4EVK@(4'([&F_]D@.?%/]VJZO+ MM>2WV?*8G-7NQTG"Y,1>M'JN1$=G,G=%1X[[2Z[O"\_IB"\=^USE]&.*Z8T2 M]ZA;WN9S7W7J="97.IB>]V8+1,=V]-,*AG%D965$9:I=Y\ :!K=#[Z25Q5:P9+ &F,6S&@Q2I]=D.Y5F=E6FNH'8X%6JV195'*V M:NOL\DEET696N)VT!O8!_I[:NOFW+YU0"=4OMM\I@PG.8#MSQFM.!,ST]8,I M#'N>%S?+M'[\U+-1IOC!8AX\&Q"YSG%:YCB^$ R+,_@;+- >EMMF:=&/_QEU M^C/!W97/*A@"LV'?X5&G']"9[0\O6H/\^IW8WZP?.=/?&CH#N(\?;K32Z-37 M(F,&!696J\#J>OUQ95Q>6H@G^85U,II=%:AIO2DUQ@^H0?,:,O3]"VYC>?FQ/P,JR"5& @ ?C M[&@N[A@?32F4JY7>)/0]K=BQ7;C#:;6>!<#!Z\ I&Y3)ES,C7I90)I\.8.1* MZ+T;H?06H/>,LQH'XYF)G >JC3 1"^>"58X$*VZQPN]].B=Q>-0+FZT/T]S< M#*7;,V )ZX\J)Q!D96:DRFCK ?>!$99U2 R3J:73\H8LY'V^NC/,?%7+3O@# MJ)MB]U?H1?7W"_3"[=6N+46FZGM/P,/IQ27 \%U2\9T'+2J152=#IV5 M>+,)R%S46*I#)K$N$+UC(_I6B]IL55#=@ZIOOZQC)H,[F"]]\W4\$ZZ"FQ2+ M.Q29'BMIFB_.)Y_CI;!39;)M<==Z7^+R L=W>W9FV;5 <[?:]HT9%W=B^0RJ MBXH9,QHGL3-17+'_@Z$=3O9_L<]_G'I?L^K94,Z8"5%1#3\E9AW(.YJTB<98 MQT63MOW^+M'>!]K>.G!,:)V81Q+3C+J3(^+*).0M%CABZ:T,+UZRS>5A#=]6 M\P/'G#RE47#PCQGFSL(ZM".@RP@#$FGRM8]"$3OG!]0[8I2,R$2F$->$($.# M1TE[1K*'C)EY\5*MR)',4\3C)FJ%4PXL*Q^I5MQ&G!$KHI(FBA!S+4*3J'T$ M^MH_W]TZB#S&Y$A"5">,N,69TJ1 *8(9+.#(F*59XLA[ECB:&"K@F#UG@8.U M;9A@-@-+ 84#N:LF0_L8%/%UY]T!)]I0S#&R@D?$(]/(X#Q!R 1B@L,@=0CX M>F23WT 2=ZHO7)0X<),%7WT23^X,IO'@'R#1^*K*=CS_I.(.. *S78Q+2<7: M!IX&\\;ZUZ<3E6D6'JQ4KD\.YS]3ASF:-P*(.$93(G(<$BQ1P%P96T4$0TRQWY_:[F#3OQ_! M=8NW6]%$-/&OSDK28))'6=Q-.ZC#:O5&CC=Q<,6&5:"*DT0*W.OJ&%\5GQO' M\08SN9VE94P"DP?$"3QY]5GQQ]P^]V! M *=)8Z*1P;%:_/7]+ MXG6W!V*L-9. WFA5F>?5*$._M=X#M0WC8<J:F)TX&';_S_]#&?OMJAJ8]SW?J:X8UA=F%?DVFR'95IF]PR]9 M7,0^Z)[/I[WSTZS7\\?1M_XU#)O_F%3BS'[G?ZIA".]])X(6FSP:EKZ1!VCF MD/PX$@!FP5EN1ZS-"'C_>#@3U<]_ SU_-AIFS5P24ODCW[6C09P$0E>^\4;K MZB6UWF]N;6Z4W'"%)]OZ8_O_0Y+DL3?9/*EK?ERG![?OV[/2M3]Q 3RLK!-R MKF'R%E.$B'ZTP[&"?ON_'YY;CN&*&1#>#HZF4+SKF1Z6@/=NPBB"&]/COC75Y:M%2SZK)B=-0EQHBS2/'D7!N556N!@, MN-+75CA7;;[JFCD@5_#@>IC>E'H+="DYEY:'1#3'7'C.N2,\*W0F_B M4J5.?S $!\=EB/X"3&2KOZ&?A=W8P^+%Y2S''4GTQ_& M!%6P$*KG-++L6=#4NW.09=80;Q,QX)%9C3AP=W:V-7**"(8C%EK0Z_MZKA!C M52 JA]1 ^AP>QAIZIS)?.V %SJK%6D!5\;?*K*ITJ9[8MXV@>A9$!<_8.E!< M>>%,0' .X/6G!/24G$"@&8,U7H*PPC< 'JQ#3TN":U9$S8JNL:Q:HK39WAI3 MH;HL!GG'=#@IG9POKEH$)AW@\&,.] (QV=$QQ6>?S! L-PBHT#7DJ+O"T)L7CBO!)==U$!NA]GC$D#%^& 6NP^ 1*D=#QM;WR&BI M$8W HLX8+=1-*"[GL;\B2]0YB>,\T&S9^7FO_[D(JK/8+]&EL-FJ$^"33%5] MGRKQ8EOY/]V<<;&#.FLV$4-%>H9XUBF%G26Y5-VVQ'5R^K>&*BUP6J6NK=>= MI*UB_TNN:=N8293-E847(5AF=.47R#_$!#?/F;:"YU>*4$HL:+8J9:9BM2YB M#4LWJ<R_5C/*TR2G%V^3W7[1S:"HQF!LYF6E-YYY$[*3 &3IXA!@X_R& 3 MM93Y&+6+E'"U7OE=,WCE?A"6/-[=]FQW;TOL;+_C;?#(26"4&@]^N## FU$C M$_,HA R4AGF(Q*^7-TI&JY"2S./SN%(*?G6)\LSIE!E/URNR:\[]@@R)RQRSPI3%&6A0-!D7D MF43&!H>(<,Q9K:12.IN+^@&*@1=+\YY;>FT5G\%'HCP[G1MK^\N+-SO:+?Y2= MGT0,\L8#Y_GN*(R+K,YC5??6[_G<=C-IGRI]5=DXKN/QKH*-A46!F>_AQ+*% MG4/TL*VC<)&-[VJ$Q46IV0+NCOW!N"+S _!^/N'<6C(HS?QSL8IKT[?E9?5MLUKN7K7"Z%BR=?!F*QAW$F%UR^>V8[V:U93SN:)!75DF,=N772 M1>(4M\QY900E\KN-NOUCTB3[AQWZHP]G6^$8KLGON->K!>4?1WG,^IO3=N6K M[::WM:?V$\O-PZ\[YP,I*"J,T[G(_3HW^VX- MWF.4YLW6AWKF2N:>S*Q3]KF6W^Q@,#J)I1HM>\ M4IEW-.-3K\Q?9R\_R\76+YU_++U3:5;]DNMYQP&PF6$@Z[ W]H[X!%8NXY2# M4C7"*.ZM9T;9&+3^AOA7,__C-I/FVU_;AP=$2 /.AD&>D Q*%S6S8F#$P3'<0ND:WL(T@7LM#B9 M#3+^0\N6!ND\ Z9*_!2;I)/ F!M61)7-FK@FMGXP6@J5B$Y"<>4\$+7'PAD0 M.1$LB%B,!Z"@RGA8(J7%$&.%Q^#XO_<]>O_RW/6:("4V9GXZFWEVV MWQUHJ5A@F*'DZ-A5RLBQGQ. 2.YB%6+F1(F_L*ULSHTL\ M\380&GFR8%,Q39SUTCIX@C=VDM%MNHWN']]XZWQGKWT@ ]BLP8/U:L'A!"_3 M@CT:R@ 7+KP,$4>9EVMCC.3#!-.64V98C1(3&\^KR=AB$[3 CFK MNMP2-A=]FO:L?R\+F\7S5K?RDO-.;OG+:X63Z4US_K1S2)+>;E@[.3HX3C/^5TPW,<9+F&B;84 MVUT"!;AQPE)!65M39S-!@95($$$H+JC38#H((:4$A2&=(0U*UV-H<[*[O7]@ ML<,@^@P208,V)\(B[:- EG ;;.1"\Y0[D)?SL'>>:&*)5I18;:4RG)%<&F34+ M7LS66;_3':/1+_@P^<3?]OK#.:NV.##U7W.@NB[ ^1PO6K%;P_#7)4ZNTYM@ ML,_$6V=PMJK[3 *H=?5.A?I4H"5RKT&G9-J YK;>OEG*Z4^AN]NOSEPQ(+*TA)9227B M. CD>-)(:BYMU-B7R]8N),L!VK87 [CAVRIB_#,>]MZ; M ^^]Q#9(I+P%CLZ3=X+"E-A'J>)9[Q&B<@\NB=!!<&>*Z.4/!Q MA.+!-%SC-\Q0^<7.GC^(#KO(J4/@TQG$,ZZ,EB2@8'10 3NB*R_RFA*J"96# M7NJ5O.1Z9%Y;>==8;&M%+$+6X(I)*PUGBEIP6D-*QEIEG'>BD9X/35>7N]N? M#[B0U&FGD(@^(1YPKJL&HXH2D0LG<9[U?!OPF-[8*>WT[T)9Q5B?UBU7TSK M2^GXAQD+>4LAVIWT/U];2JUKCV2215@/S<'AC.,@I7/T^[8M?,?FN!FDNE]0&K1V6 7B="M.Z( F<'\73Q?[]\1TJ M])2ZSW_ZK#'@\_+2;FB86%CS4M@"'K].$7<4FFKJD\*.!VZ-2$EZX!?PO;$7 MZ88DVF();M-T?4\<%..$JP>DS$(G4.@E6*A<41]RDSQZ'"H[?'"1O&/-,HVS'@1&A M'++6$)2\C()C*8(I!7/7I,_N$-1>SI[E[ZV#YN =D]Q$#@XD#P$H)JFH9&+, M894$OR%-\GTD"_X):6IG[]T!C9$G.!'$&"A@+CWHWL C2M&89*4@WI*UL#NB M=,98 DHD24Z5US9&)D*(C!MMPTTITN:T'_*T+8E42AI1P#I/K+$4F4@(_"0H M6%F6A3SX_C:(';-MF^NGR1YT'L6"73289+#F,Q)W'E/!$M/>A*0MMCPRH&!+ M.?7<.4.M5JJ9:O!PR5VQNP?/V=LG.Y=;N>E->Q N.&6Q8D M358GB>UJY(^YK/\:IZ^"HY8PDZ.,'$0:.).>YOAT9/ P;U8/*;E/L?;S2K'+ M0[R[_4:TM_W%SO$AWSD\H+DIF;I<6I9["%0>RH9C0MA@'C!57#*ZVC!>R-3_ M*!,MWHX[>_:FV>>]<7!EY5R&YY? ;]L99)*%$N3UWW]^+D7OB^T/.X,?H0&M M]9@AO:L:"#N>H/QI_H6K.F*DM[G9[YX/I'0HX0ER:U/4# M'-R\+'J,TUO5/CCM&9QRUCA:VXG=,F6M0L*O\'2\[Z;M29E/7/H MH0U#/")#@%":T'G!ERT +%\+O&KWHGZ/:XIA9(ZY@OP#;]QP8YD1*9#@B5=! MRF!%[3V+L?[>JP/.)4XT$202Y> 9DX@<2Q%A KX&D8&H7 A#V5(A3.7S;E2'/!AF M(@ JF0"350FY&7RD@C<$'NM,'JXFHK&],FN9K+)GWI;QEE.%"4ZU;9W!@ZO4 M0U:2RW?=J!OL3X"-+N;2&E/*73TN=&/NCRM9 O[6 YZL:@>KV9.#*F X^]5! M+PW/2Y-X][#7APTZJ<#5QBV:L,1H3R951>.UEIZP\1H'N1,,?A@.RAMW?.?, MCK&8YEZZ9KA@FFB!)5;C7>RP;$%]#:PP%D2XOV,X[_5" MZP]PPC9:?X"L LX[[=BJ_7A8&N &(+_*.B8+G=REJ,O?LVC;:+T'LKB,_2Y\ MLP:\JK.RX[$,J\YMW&'_-SP M11;'^=Y^CN^:83/EE",D86])XO"/-HE&FIQBCC/XH J<5!JM"9O=JV)K?]W9 MVS_0A(84,CBWE1G,1^(\.(LCHYBRV)*,Z/;BY7788:W!4:\_S"-^RWRLJPM. M&EO_GFW])UG[."Q*>Z;4;:Y1H",,(WE2=9ZHD'H+4&N>DKNQ$+KL*D M'G25"SD1BT56ST_-&O=23[!*"@)&MU?&UV2!.ZY<@Z=T3K*G6#>[911K\(]F MGE?UI8'L[P QM4+5FF8KZ&V48?\RK!_XJA5VMXM@" _&Q:P5L/=@YG6N]G47 MG2"0]1DBM^YAFP#KUJ"5%51ES@O,,M/ZD\"$=\YHECPEE$?N#$N""\,,* FP MJ.)#;4I7[W)&%=@HOS,_%6JH61R4B>;$$W"(E#3#CEN!$J.!FTXTT3C M%R_U-?Q591@FT84,JGA4CX*:&98]%!(HQ+-8'+<-(+X,63A%= :6 MBA9H+S=N5KCX@YF&S6IJWH2$J\E1V6:!KYWTLA:JX??*5XN'7W"GZO+///*I M7[15YW2N)'0T&53[ QCGQ" MSF/+OKSDY*(9PAX4BA^/0FNH\)NH$$WYO1((]5#,>5DS/KNY67#51+<\R>*D MD$P^E8H8)I/J&C'Q0 S MT+CSO,O!MXZ[[#SNM,M:PZ_@E*6IP^MRX)2'MUG-*YCRNL:R?.889 M"^3-]-)6YI+%5J)U?!W'O'!6.FVMY8%Z;5Q043',&5/U')\&3.\[\_6'B_;V MX8&)-B8O+:+:BMR<+)"1UJ#(I,$*Q*TA*A>[7@-JM#:87O2$9VA%.'\>B#)! M^&B,4E)P991NNH$>AQKV/AQ(+"3%7B-+A49Y,CER1$=$<.YI-4GPZ'.@]/IN MH"<^AO]WM]H%PR>L\\)?H(!%/ MTB#-O4?"6A<-R7@#8:W.(6>UDX00$U3B,N/VT4"P4$H$8Q(+#9S>HYVUQI0H M#V=-989Q59(C[:P"VQ+;;!T0ZC,XT(H.[1N$S]UE##'3J3!-NOF^2TL;*/OU MH.S)LX6ROQ&:?@'*GD4OP;T7B1O-+64NQ,2<$3118TQ@5Z[P:??-_ !M,3.S M*!9Z8^S4$YT'M?R[YS.N>TF1^^Q-OL_LE^LD-UIO3OWFI#FC7#AIY2AH]Z5N MM+Y#N5GV\T'X[O'6]LX67,LU_:V5G65X[A$L%];O2CKLVH^_;PM =. MN9\+=M9C<%OU&-S)&QR"\PP.54L"L_XG'+KR6PSP])^+E7+70V#.:Y/N04V(C!5S/WR MPAG&)2=66.^-3A1,)6#0>J@N4,#L4-T&&_$>S1^6@3!3B)Q9)9#W,B+NL$(F M,H*4-(QH+*7/T\2YN ,VXJU!O^;K0:;53K>@(BX#Y5A0P0+C 8-TEU[X$*GP M5,744-Q'/E4U:6)((9DA[FD%@!?O,%"1O )A6.E M>"5 9R@K9[8+19SD5"8HG:5BN<$XACG.AD]0[*HIGY-&>3"T.[W1X!;#DS,% MU")T+,OG!Q_/9#9&!*#S;/>*/,L<&J\X\$0([(;H[P/ MJ@ER/@*7['_=W3X\H)0KZRE%6#",N'0>N60ULC8Q2H*PZ58=_6N%O$,4"M,D M0;WR/#3 *,NH%B0IQ:+B39#S<:AA[\.!EXP9S@/2#$O$/97(8F%08)8H\%PB MUS>%O.\C@/D# _G_,)@ 63=<-9ALK9>?;[NSGT%97#47]_U1KL'YG]+U_#J> MQNS$@.[MV[,RS3B[4!OP^/,C>.H%ZIWGY&"N2>Z TU.!=M;WK]KA?1R5T!"L MO[,'=^3Y>09S][WP$#,KEW9F5*G8,_. M@#C+A/"2&K8GN9;J=.EN;^L/W\*'TV[&9T^$\\U3J.J> AG5CPD.L&R+MX.C MNS8L4*&-HMQPY<&\E](Q0Y-VTA-E962I;EA@34/5_2LGMG/\YH"(%$%[:!2= M X/>);#E<\^P3)@JC:TPH52@7@.)7CM]5; @Y__S!5\Z>1CZI TFJZU9#JE8 M]$_K0()L5PRZT7H+=GN<_EH/Q!V=YO,,+=?-?:M5_7A&SNJ4,8H7OHZ:,\_A9'6PC'M"OH&=FK:)-<&= M+M]]W7EW(**WAA"'(F/ 7\8;Y&R>1*)"(M)A"=[:BY=$;[*;4+/3#>YCU: ^ M,[]SA8,\INU%UM@J MJKP.*>B6'QMK[ME)W*BCO]4OT'=M'JURM-%1,SX;2$ M>?(VSX2H:ML!EIJ'P)>@\C2<''.5%PBFO3*9%?9TEDN5@7 M67?&^ GUHD[LQ41X9O2G&?E1;C!;6W_-0R<+VYJL_Y^[9T5BU+?+ M-%!A*LQ;,Y,WV9B +&RT?K'_R+77]>ICM\ -E*#U^!U.6U>N(;]ZMZY(R_G. M3+A+_N&]9VK2TN!2H]^-) M#;QP]:Z733N=G"28%]-VGE:ONGW\FMD!J"@'SF<74]9_Y7**FBI6,=C MSJ89;G//V]G$\NG8Q!_K?$U5^%/OALW'6OHBOH"E,DGA;(S#A*A.^6QD5ZE* MM!1;>9QSJ8&_KC['2G[=ZC1O+XQ++'3JSTS.KB[LGOFH^$:5H90#KRLV8"+5 M0&6AU7NQ^M6S^"@Y@5J9K=Z#.B60Q=]HF/O]5JZPVJO,]2ON6+W;^.OC7,7B M'<8ENH49:[HNKP/?J=[U_PZF^J)._^7&$Y "7W(=;J43@= SO6WW1X8!^N5XMQ:D^1W E)_;G =>P4J"'9Q MW%"T$)]8Z$!Z-4DZ;8]'"H[3^>4:.SYLY"Y0_6-]U0ANCGPP3NSFWKU^',ZD,1YNK?.R($OX:JGYRQ.&WFR]'[GCF>_D,QQ<=8BU M_S;)^%PY+VOA>%-LAQOX9V,LA*#XSRF7(% $-=2(2>Q1IH10YUFBK/PXB7!^#HT MJ+.L1"JO+HDD!;)G(<^D-490K(BT.)/DD M>:(!^^2:RH;'X#D.[W# #>=428LPS[,*&,?@Z3*/DHO2)Q,28RF/.9/W5]G@ M$]=):2)"M)P*I;E7\#AE'&614ME4-CP.-1R#!-8!4P$B5]D\:512@K2A' 43 MC5!4TY231P1?1P[W,,WIADDLDW$K]LJ!*VN/=9=*,952LI3RZ)UEVGFMO.8, ME))FS?B4!Z2\W;W]@VAU# 9[A(GQH/M%!+6?BUM!ZQ.FA762Y#%BU]749+U8 MJ:JF4V2]3A'Z;#M%?M#.C[8=Y&C(='>>O/B'ZVS&6#A2:7267V_ M:T8N#8[ LA\L)N>MPY[0Y# '&R8)[;BG#.M$M26!J=7@G(M3EZ[7&E5,.K_C M;B[4^KU2;^_KY?RL,Y>.\^_M Y$BY9099"VCB!/'D)81(T&M8%R":"!Y,/J& MT&H#BQ5.8W6LV5@ \OB_ S X2H1T*X?G:\-B4$@N1W#6PI660@?KHK!<<"Z= MQ81CT'!.ZJ 5&WL\OONYD MLY8SXC)R:S))(QZ!8DR4 B4!?JA(%$MC;C/HO%/ *D^K_/1TB$)I<;#CI/6H MW\K="2FGB?VHQ,%[*75\!LO_JW=TVMKIY&$$&U6&Z1O:TJK3_(P,@YG[5*E*^CX69KKF"GKBI\S1_E(JL:)2^WV+7. M>EW@CG[6%A,8PYQ>[>;< NQP C8OH(JESJV$& =#-&V+&HQ[#R>E-N4V-A?5 M#B[ IXDYK@R'!0^;[<6;6V:Y<0[.C.,J@R'\9QQ)R;U\DUJ/][L?IR4:XRK: M'&RZ*)3U _22/PLDQ5S54>$7E=.\BI)R#K!4N_0[58UTP2:<$$C^VH1(-LN8 MC3%BU& 64VHV[9(ASA8K!F<*F&ZKL38+!1;JJ1&@"@':\,66Z2[^*)YT!G5" M<-PH.\LA_4[][K +OL!G]9;#[S=3O!T,>K[B+B#M*4G# 62LN>O 7F:J3F_! MU3>S9WY8_ J6WNEA511:8A+ 6*7:;CPUK%>EL:?[?*5- -^ =U[&ZAZ?6BE MR,44\)QZ.LTX15%!ULUR0&YG1)VOZ*@30'K_^A.IZ#<7.\?^0"I/,3,**9_! M/(C.P$$*(Q:E5DI%C2E(D.%DZ$#>Y>O:2\$8QSQ1(97E( O@IH9PJ[R-#,.? MS:QM?C/4W]C4FD0,ZT*RM]/F\=U)NOY5C5 (D@LNV4WOQS#9\%D%JTI^.CL, M#OFR?6!$8!E_$?G@7&XV=4CG G6BJ!2>11M,Q@ \ZO2'&6#X*OR_JH[\HF*P MFE&K;(X#B3(8C*:>W$K:"%$FFPPW,6K.$[;.!<:UB<& W@]BI7%^2SS(IOWX MMA1QF3TX3H1@%)PW:BU&7'N&#) "TB(8K7 "WAU3Q$5I.5[J0\[E+2"4;7_< MC5Q2ZMG?.0VV/\8(1O$TW)R@J[#9*UWB>J>C05'.)9E8#P\;GV55IS3?A9PM MW6QRC">+E0*'PU[&GI_6%]1J!G3A9NOM;!7WO3ZOS%_LW9(=? "7%)/(F.("P=$(!-R G3#!&FFN M9X=I%=7",+U!*69)=1Z[JJ@:M^P7S@B=4%H#IM@.%[>/CTPRV6.C=CK#KZ;X M:[) \]F=*VW*J?$XF3(W*>,\@2 MR:()% >7L([L&Z;]-%FH&_B/9TP5:K1Q8!*@8!5'/ 0P4+07""<"M@%W-C"9 M.[N7F^?F T7CYDD@N4P>I<8L.U@+$GQV0-2:"4L2F)?<48>5X=1;1W$$/9]K52:2_&222)?DU@299$G5CP38I5_8]$''C9IS< M;=DO/<"34J(5][A&.EXK&?>68@%S*"\E9G)>2>M)B*+$!L>1P3^6BOSRM:_* MLEKO1R46MCHV^,>K]UMS(<$;,(@LYH&G1#*V!W=<6.:=!SXW07DPADCC)'Y7 M9FJ#D[AU(+CD27N,L,8LPWI&9#'F2%"N!86;)CB.EX/.URO\0SBI;K=W/N[\ MF@6CFWGJTSSN;F_,]1:+(\"8A3FAV_/B"4%1QR>0C!^;S2>DAR1F%Z5(K4/;,<[C%8L8R&L=W7C]JJ' MP;VG#]R8]!--[+)J,^O^B_$:9MJL^K5<75@$O.9&%=%,"8RE(LMFQI'%9Y>D MN3L:/Q<:!"36@1G*J0"_!"PCJP4601K/_'V6<^[T3L?AT[UIFNUUOS<8[)[% M2J,U=7PS(!!X=^\-W;E\1W>W]\_;[PZT"H%[@1&-VN<"3XM<\ Q1<#$C]CJ! M9[D>(K;&F"1KA/&6 Q&8*#F;TO_'T+4L.6\J0=Y(@S@5' M-NF$' ,-*T2BVK'5#LVW ?3?J0BT-D>G!SV8Y'4W6UO#E66C=27H6M7H7D86 M'!4D5JF!B!ELM77&:66$OH=:S^U1_!/>96NL*O[(,V!R5*NA3*!,SW??'3". M4TR&()$]3U4%J'UU2,5A/\MA)S9DE(D?5B;.2\P.>2R%O0HI[<%-D=;7C3@_\ M7;EY?=(&^#,%2GUBAEL%8BUWCK#@E:=:^M5= [-A##LX>O6?4>=+S@P,!UNG M85HAM0=/^;T+)_G8;'E1L^7QY_-/>VT.K"+V+__JMB_?77XZ_LR!K9,O=O=_A^D.^<]D];I]\N(2UG>SN'>+]O0]\__C5Y?[Q(;S# M7\#V?P-;PKVV#H#J70"S%E&6J_Z594AKRA$E29H0:+1.+B&NPW'PH+@5.'(L M.;C.R>.@N6)!:T9?M"+(NC/8_6%_%%^\S-O?FMG_RJ>'WX<7P%=^U"^)_D5? M;I[85Q< W[B0^87[2(-V0FEEP:$$/6 ]YH$12J(3868ZR'U3X5@WO/=',8RZ M<3?E/5DFR_='O?XP#\R:J>#;RXUF/S65'AZ R^&4=1@I3Q*"Y%! '02;GRI<62+[CGM.A_$U>%_\,^_"^,[U]_O%D^^NI;W?:?A7(KZLV5N\!._^\+]F+:%A,RF,^O M].QKB\PW]71C6BZ'+';>]Y<^A0DK*3(1"?6;3U[*W.:EJDZE1WJM)?NQO-:R M8WCE*RZ?&\XO^.+:W0 ;X?-AOSUY;=-D%LM8C$SE;ASBYQ:8]KQV[-YJ[%X)[7GLWH;96IK36,I'=((V7 M-9+W,5ZOD:X5T\4[> R3I-T[C1E$J?\Y#EL9@GSP6(TM^,Z-+:U?R#\6(G[S M1N65QU63PYQF1.MH_^=J%M6&XYF*??N!P[Z^[>W]WVWN'\/U]O'_9/O_T\:^3_+R= MC^WS\7?@6:-/](-L7_Y]LKOWU_&GO:.<*A$[KS]\W=WN'N\<_WW#=OO\?D!,<&D/"8[)J<0U]8C0RQ&CE$57?244O7BI2 ; M7"]/KUUMWGX_1LJ?KLE0URGTFS39HE'0B-1&I/XX(C6;?T68;G<&OML;C/J- M6%U3K%Y.Q&IB,0G*/ HJT@P@&$&BLHBD"9Q)I1G%H1&KWUNL-C+U]KOSPPA4 MQ;2--!$O&>MDZ3(B8@1 MQY8C1TU AGK!(XG2*O=C2=.5$6S*ORFI>E,(>R$9@_+UI81RKJ82F?LO_Q&; M^ML"S.3:"/,OY!^MUH,$QA?S%;>-TE>X1UT[&$RZI\K_CD[M M*)090R#A0FZ;*3\5PBO)D#%Z[^ HQN%B1\V4JOY9JHYFJVMG:P;7'D!U56%M M?9,GTJ]S R1R*;?O#6WWFF.8@B-7WUZG:CYQ2U-4-E#A.:51.Y9P$HD[3K2P M\3X0DM;HF#Q(5)5$=D62"(>X>1]C$@X7S&(C62AIC5R#7C M7:NCS[7ON36RWQE4180GRQQ^%S*Y8R"M(9/[(Y,/7P^XP$*X@%'0&L@D"I:; MOC B1*;HA2$FO':IR%+M5PS((B.->?Z;C MIG,Z&':&-43FS&2QK:GX6%W"_/ :BVLC%7;1LSQ/AF4 %<BR*QJ]/H^&NN._G5# M)O=&)GNO^$&0@06+\U#,1'*;LD9&!HD$==HF*@@VN!@V]"$UE@:;5H?(@M": M2Y^LH!1.WP5&0@R!-[3PX+30OCQ05%H5G4 D!8LX)P(9[P/B%AOB& V2ZA%M966[=IEGG:@R.F36/9(U]JL+O5K.8G!%*QTZLGF<';Y!?K]6O8 MW=91+T\+AHLFH]3K3J@OO8)R5*,@[X[Z]5?K_O2SW+M>9A_;L[-^[VLIP^Q> M7#WZH9HCOXC4A@DU5K'$F>56"$-\X#DE0GU43%[AYM!%8=#NG/;@8"[>%&ST M09GQT!\<=<[>3N:^_7[QUL[UCB/ZL\F$RS?D0!O#")4:6:S C,"<(Y,"1T)( M@XV4.F'QXB5?$@C_/04OG"6,QGE89[_J"Y\ 9'?JN;6QXJLI M82U ^U\[!.!6D/\5<,TB;/XRWL[*@28%4ZL&8*Q0S0LX^:3Q/=\Z?LU#W#L% M-V@>%CL;67G&]W!FFM>*;O@I-F2]L4L(Y#7"3#^4H>(94-UV^C4 =K\U.CO/ M+VU+%7GUU]RW#^_1_]ZZM;DV_N=5\N7&MPL_SM3%8(Q*/)=0,X6=OZ(F%;V?ZU<' +4-H=B92 M=*L@<_RT=FT&4ME]=T"T3+G"%_F@#.(^VCSE+B',:4P^,E$GGZ?O7>'&1(2:=GR/;B&E<&_URHI#^J#/0:O!>< M[9.:5K(J2IDCOA2.R+HI&_T5]618^,Y=(4[<1:N;D>5F@5)GG@3>53]#T%W< M!?#DFI.X0DDU\"A/%<2C66P#C_)=<",H>6KP*+?K-;\!'>6G.;\?$;7B7T5# MD@;QX\Y[1YN]N^O>U09;LX%WV,"]7/CR&(@?)YT0NO&1VAY6E!'?L:K]9^_> M_IF:LYUV(9FH#?R/6ZJ>?UI^[^<1OG6M+%#IA/>VVQ3U^13[GSY76;[KQ^ M<]X^[G;WZ;O+3R?O\*>3?W=R%'UG[\]YS NK)!=42>24$(@[2I'ACB$IO8!# MY=Y+_3#-V3]*[W4C\YZYS"OY?OI;0\P-,3?$W!!S0\Q/YL4;J*"?PAJ=]F,; MY0EA5" ?B 5KU&IDC10H>>QB"MPP8Y^;-5I'$!:JV40%[G^/H+4K6LG7N%'S MS/MXYHH^Z F$ZPW]S$OU.B^:Y.933<$UBVV2FTURLYEIT.0VF_12D]ML :LX>+3WCNQ^_JO;GOO%6M?MLGN]B'_=/SWT6(P:9^V+SX= M?SB'=0AX'[JS_5=W9_LSWS_Y\+6]YR_;EQ_X[O;1R<[KA=0F,]I+*BA2)@]0 M!6)&SB2,/&.*J1 HB>1AP/V: /K38OV?5N8UV:"&F!MB;HBY(>:G1LP-U/1/ M88W.0$V;G*!.$GF;$N*" M M;Y6N2653G->X <,"^NSI\^!<@!_6"0 SY\'?SZ>X6^^;Z@<6_'H>UTGTPS M^.[[6BR?@!!]_0[O'[_*Z/T@&M^!J'PG/GULLYW7?Q_O[_V[TS[^]+E-WRTU M@Q>T_^V_.^V]C-[_ZNO.-MQ[NPMK\?C3ZUR1\N9BY^3=Y:?MH]2^_'QYX&A2 M@C"/8A 2<47 T>>$(F:LDCYYDR)>Q!=PA)#HG K*"LZBM8H0G:@7Q'"J0EIL M'J\WO57M>JO>]CO "]S\X/F%$L\H3S(P3C /(A@C)>A]%:@24?D,O_%<$?%. MA[U^)PZ6-NT!L17>^Z,81MVXF\8+N/BC@L+9RU+NYV6CPXL#YWQ@T0/?"!T1 MCTHCC:U%Q#E&J%4BB6>(J3!#:&6J0:<,QZZAFZ9@"W>#*WAZ-3I2;FI-FTH2 M+NZSDF0-,^R1*1HQ-_VO)415_L=VVT2 MI$U(ZH%P"]DJ<,)BA $!ML?T]V1B3'>TPNIQ9G\?[= _.^WM-M^A.R=@A1U] MVCL4.]OMKSO';;#$ GR6QY7]?;(88]IY_8KM?WQS#E89VZ?[7W=>_]G=W?Z, MP8JC[(>^.=]]#1;=ZT^I_7XFXVDB%A%\(00GH1&<<@;$BA01<#)H]$D1 M25^\5.JYQ)>:F'HCP!Y&@-UQ"DDCP!Y"@$U'A=/D>1)6(@6>*.)4"V1,9$@: MS9)65EL:0( ]%_EUOX7.CV<>?NSU/X,KC\[Z/1\'2P;BM%Q]Y:NME)K/6GK< MN_F3-_C-Z=MJ>QOQL8[XF*WX"C:C6(#!PX-CB!L:D58*H^"]\-CI8)Q^\9*N MF5][.$OF1G_Z9V&H>U?'#4-] T--]3&/U%/E.7(B!,23%\A191 62@7JJ*;2 M 4/)[\]0/WQ(YL_.:6=P%$/KL-=;+EI?(2%N]=\;T;&. MZ+B8T<5>2\(X$\A*HQ!GS"$M(D',)$O C'=,@RZ6;'ERW-V,^2<4;VB8\\'T M>L.!K,:.,>D3S>,_&;NO2K3&F5[L&5[^ M]ZJ*B(7MK>(5=3G5"DR*GR60>7_[\,-(VGLW@W;BL)&O:\C7G3]F Q$".T\9 M0YY$C;@W,L]%="@8[PSFV&@G7KQ4;-U(YKT1_O>)8S1RJY%;W]M";.36VG)K M)O_"+*,):T24%""W&$?&PJ^.:Y,D>>#K=.PV0E/VNQ[<[VEC@P3@OJ'$,) M*XFXP!)I0@6RF$05%/5<\^=7;#M'W3 MJ[]]5)OY7Q:$E\T6[%1P-I6X32';37$?+82FQ 46*1?.6$P?Y]^[GS_MP>"!T^,PM$K)TB4(.VXO@<4C$;0W:>@NYR)ABL2?<:ZL#$@'I-!-D2, N9, M*@JZBBD0=&Q#R'4#2T^UM'=Y8:G\\[Q,TF@'\:C7#:W.R5F_]R66<>-W*D5: M\?8_7K6#33)93J@6V',CHE.*4HL=-S3DXO7&%GM2(FJV_&2X VE^+>*J-62X$'-K85'WJE@Z:=@8:5(,DFG**CB M)C'+F64Q"6.\2T;(QLIX8BP\M3(D5A3.2Z.H<,ZY*X\,.,;(>B4%F(G*R8J% M-7Y*+/PSQ+;^Z)V&Y[8?F^+F*V?LAF@$U2$813C61A-O M16#>$V4HC;:Q*)Z4.)JM?V8)!U 5#DG)".(B@20*2B$+9YC@"#&7]L5+MD'8 M-TNCI@+ZZ7*PU]$+:3!Q.:6;K*/!4BI%X(H0%IJPQ5/CX*E!H83!+(B J)# MP88QY)CBB*1$%'?"N!0S!V.R9O_38Y9)_Q"!B=V4.CXN6!-IU &():2&2\%$A8<&@(5R)DUT7BIOGZ!V;2;"40[[T@PG)* MHO4N1D>,H"%7%]VZM:9ATOMDTAEP%265,0G, ,@WVQ'K,LHS"DC\Q,Q_]^;>AOD?A?FGQHF MDR*<6@3'%Q#/%>H&8XFPM-8'AJOF%F4[R)[TX,TNRQ]^LKC(+T_+W-F: M'M/VS"G!S]V8?P AN#5S6%<*R$8VKB,;9TL[C*?2)K")E'9YE*,-2 N2B]JQ MY"P$HG!!S]J@*V3C/YK8RH_ Z-_!M&D8_7$8?6H$.>D58]@@QEWNT*,<6:() MBEZ8$&RB-L^BS(PNEH,TC\+H/T-\YGI;YAH(B@><32(N&2S0T\$9G P"83.#$A2,(A(^YM4&V>B[MZ M3[&J1LHU4NX)Q>4:*;>VE)LI2:8T*9T<$BF YRFI0MJ(A/)TM^@5QLSR%R\E M2+EG$Y&O+=;Q0FJ2KF;%WW>T_A;WF'G?%3B%]_&$1UKE[1 0YY#6QGAR;%-, M$.5^%'#$#"!_WNEV;SGH^:D [(V7W3JRH65;WO;[%QE![XOMCF(&UK-G9_W> MUTX>YMJ]:/W7PYN^8@VE,%[]1 '(YZD [CYG_7@?'UA)N&5:H6"- "&>&'() M[%5'0\(:\R"%_Q[JO#FY=4_.L^"PMQI)XP+B3E*D0W2(.N(QY58%!NJ7;2XK MWZ4_M$ X=$MR99#9=@('6&GI,29@"6*,L?'JCVJ O,UYR97OGXFBKO= MN$:'WE'_K+K5 B54?$H\HSQ)(% "$D8$8Z2,3*A E8C*RRN7_;35^.[P*/9; M6][W1S&T_G_VWK.IK:1K%_XK*LZYSSM317-W#IY35#&#[>.ID7# X[*_4!U! M6$@\"L;PZ]_5O94 @'<"#ZS+(=770)3BW&]/CEH.5*9KU<_%C@S[G3UHGW_9;<._6]@?R[#O[\W] MC:/F]NNCUO8N;NZ_/FEMA].ECXFFR@H9$651(*ZQ!^T0R&[13W:V\T'+0#6-:Q_R-7'4KQ?(/6 MND#)PP; YYUZ/[=1;V!/_AKU^['$&K1Z75_]4J/8=5!L/OE/21>$R,VA\WD' M%R(@C04&/&.)^T!RR8=2OI#?5:3!$H5,U>S\L&'N-3O?#SO/E!)""3>1410% M)HA;@Y'5P>3Z(#3AJ",UI7R8OGU)D(6$YBX_0.;XL\_D#T!K';XGCIPH[$46 IJ MF21ZB6K&U,F'2Z.4U1S[0!P[T[P2D0"EFB M-<_A#Q$Y)0T"'B51.AXCS\G" M8IE*L;T$?\_E683;O:'MW%FL_+-VS%]O\L\&A!_.T74>FFLTO@X:S[NU/(G> M4&R0<]J#_D0M,M9Y)%F0@1&N4U(Y35"H6Q\\7HLOZAS!IPENSQ??'L[S5^/; M;?%MIFT:+4 6F8BLS/9A#!XYD$TYU<18K1,E*A?^717\WO'MC@\?ES]!\)EG M!UZ:87(^8OE4G#99H[].(2R%V$B^;G_(SX7[ !,W ?DV M-TAS$\.4=;L'U7[]\!CS\=Z^UN?'SZ\$[#IAXU*1? 5\_'VUM M[K5;;_].6YO?61.0T:2('?%(@Y:.N,<26>X=,I((H9F2,;!*! *!Q["1!9AV M1H)":&PPC@,)VFAR4(=5F$>/K3R;MO!I",N+7%[UQOS&G.>E7^;K_/K5IX=7.L=OM';.1Z H,GEK3[ MKMOX>]2-)9Q[M=$;]1NN9_LE/R2T^]$/>_U!X[><*K+R9_YBY?>J/6:FIMQ^ M.\+7):_W!]!5OBP_:&Y--H[RT_+*C)]2OL^_K_R^UMB>W% N&(P.X7$QP)/R M._KQL&,]_-(&NAL.&OF)_0@KGD<)=^'&PAVHWO-__I>F%/]1+LN?EM_)'[\W MCO;:?J]Q9.%Y*<'\\FWP@J;MP\?Y\M7R\FXO-^VJ$FGR% :-DMKL8F.W;[LY M@P9D&WPYGG+UDC\:>[VC"!K#:OE\&/L'@_(TX(=0AH$MWUJ\IEPVGG#03$OZU)6 M-R]2>[JIA=8:O<.R?JNP,UW@5#L< 6D>G_VR'P=#0+&\/]4WV8H E[Y^.GS M8.7W!1>,ES5?L5&N !HL5@*\'U7;LIO;N%WXY/?C)\_=UZA@=CRJ?,V?6^6: M\2L/YPJ8%BUSL#KCJFERP?BK3!*9XN/!8:=W'.-X"2:_SK'IF-(&HP[0S'"P M]@0I VRRG& "^S_(2D)AESQYWSLXZ'4GZ_?#MCLEHRQ337LP&)5%/\608TAI M#W*=-=O)BYB_&8P.\B-_:__>N-#>K-Y\UN04H/$X(957AF/E#);:M&\@-[H TOLQJPG_7E\3G4J^-HJJ[:5RK>#C$DA"@3ZAD(\Y.YT.&C0M911H&\IPWQVJVFC M5@D_W_!V3(D5A_[6;O]>P6Z&YS&-#D9N'U@PT]@832Z1$?";'3:. ,1/HWLA M]8W#?KM3/9_2*L>JO+: ?LGZ+D*EW05=>K41?QX"[Z\V2O9D U@!1I.I+<4V MO/R/&;B65X)$.^C!!?!+=PF)_Z_"X45+_9B6LHN:/,0>WQ@#$_&:46VB^ M&_/[BZ7JYO9KUMK=T4KPW'$;&1PIXI0JY%B*2 G'E#)48TE6U@E?!=3.?RXB M[,:!/P+I#ADD#I*@XH*LW*'JFM:?81,)6 MUO7:^4*TTU(C8UJTTS7]M6PO&-J/NSFAO7\*;#]%/^I7&>\;OFB3Q#"VFD$6 M"*&;(7'>2#A]^92.GZ#Z-%N<,?8/SBO69S1F8.W.J(B@BYB\,H>Z*.M1[=2> M*L#31URBU9[5FB_2T,'T++;6^,F@\-G!WEB-'LO4/ S8!)C4N'CN#V"Y;J4? MQTY[MYT5PJF2?%89GMA=F>.+9=4O!M:AS3[]_!L(\4$[M&W_N-#)402K#/X] M*!G/T]N+#7PEREANWT61LXVM:@>?(*%7M#>34: W^;$Y< $5'XP&PRSF0!/J M1 L_7RB7*AODC%RRVFN;L/<@G3CQ&=*P<\:%H!@6?+%K](R 6B"%W*^ED#LK MA28)<>_SG(N7=:(XO8?5F#^B0O3%R:-=TCK:B<$:%HE%6/,(*G]P2"=B$)4I M,6Z(,[G@+EF@$_UG6AC%MONSRG7G3-"QCA1 #\_?5^ ZUM0O( M23K-35!<2TX2QP[GS&3"+<$L_Z]439++09+?>6MC)SD?00=QH)XS"RH24T@K M[)&-H"A):S@G$52D\PW2;T.119*%6)F,($G=\9P0:[Q+JQD-BZ<2\+E4:)S< M-R/CJ8>I4X0F/,(.08"[4:'0WA%0[MAMU1L,YN[.^!>('OQ@Q;^/4%4^P^V)/@L:UIB2YSTAOK+^)_KB*5-TAJ3P\2#> ME7"_8[J[L7UY,8QNN-Z/V&QWVP>C@RGYUMBZWSS:VLC]X 0!H82$8AK$O0S( MN?(KI4"E22MB@5(O(]73X)H_*=9DIQ2PG<=_D%EQW"WX@8YWP?H%;[5V'4/XZV?V<"_G5V-5:M M?&#$O?#B".W#\=:''6]%]"PDI+GSB/-@D=-2(+D3+V1]Z(R M27^ &KD [X'H8&C'EC.L7MG#K#RU[\P!6"+BA#(RZ,$W-K=88X;[91!TA@0 MCE$I9)PT*%&FO3)6!0H61LJRK>S].8I(_=[!(H4-?JI.J*]IG@(=$J&M3LQS MYY1S.! :87"6<\/M ]H"\S3RL;B!QG+*[KYHI>H#;^[N6!DBR"..B$]95&F# MC&<#@\V"L)( @=)$94)!CK*]G%UA6G;JQD%=U-G4]BJ'!Z"BY!%,9("8" MK!C"19:6QKA =$TQCTXQGW^"/3(2!.$4MBJ9%;6 MU844 YK+<"_;;C_&SO%^/+"@2()>,P1%LB*@P5KC2RP'06,W\5B[.6H/]\#\ M2RD6-^F/:H_&@2T5A&7+,1^NP[]KC<_=#IB 0(U39>C_&TQ/+(N]F*:U:MI@ MFE8!+Z$]J**LBX49HAWNK8[/H1;>NEI4SW0P((X2X76I,I:B-F!/^*A *3/:&TT% M-Q$SXT4D&-?*V".&S]+6Q@[6AGG0SS01[YTTQ94SS,SEX+))8?WLG=';MMH*Z![1]/ M'C*Y,IN2L>O+OHY5OWY%BI?3H!1,Q:@##SAPFV"V*05G+7&$*1I838./2(,< M3,.$4W0X@826'@Q"+A@R-CI$(JA5%H->KMR<07".!$_1X/4TN1O11JW)/: F M=_+Z�YFCL]"L)09(!5/.9 -&<5\BZ$R(!XM# 7Z/Z_@J*[0*(<"E#=['/P MZ5SH:U'%!B/X9B)9F\583QO! M]^TT?DD9US38;9!=OUE3ZXUUV.SF+7;SY#V3N(*L )[19LO+KZG*UAULKM7! M1CR%#C8+DUE^F9QR)IF%T.2EQ(P8+KD)VN)DM,'1,!'!?-9/-)GE_>*H]XN, MA!ST7F6"S-W8*.K!)*H$+OISZXE;$B7N_F?TH\S'@W')U>H8?_KQG+GQOI@; M^:JCN/@)>4FJM)?W!1'S L)'E4E2A3L5M 5HV!L'K'L/)G4:=1H S6TP0PLP M O#YV!^"(0_DV3_L]8LJ"3J$+:@&"P,/!%5VD$%]< C"O@1N96C+QYR]_J]T6[USV8.4*R(<(HRQG(BZ?V?5< M>40^\IN;PNP4;WA\6$7Z5Y%>.4;,]W:[[:G9/Y>ZYN<4DFRSP\]Q*LM@:;?R M2(:+,@FF,6(PK++<[?FS\7S0V!M,16QUP27GU^WN %BK)EZYBY0SZKXU5YZ-QO\ MX,6&4;=RGOO13M0"$R4I8MJ4V%4P'A.CB#+/ HZ:ITC >#SJG8]=K3)+YBAA M@#C&M0W\6B0^8)>!9HG\? 2<38S"=[/=KA@3O"D_-$:2Z3MH$1 MJKAC6EE&:]I9!MKAK=T=9;$2W@8D0CXXQ@9HQX*F9:D5*C K>1*_H)UQ?%=J M]_,QT&F[;HZD3EMQJV=MQ1RA?=B&ZRZQX*ZD ;Q+E\C_\7BF;O?A)&*ET8&/ M.ZM7%=#=;-4=QBJ$?WA.:3KJC>"1H&),4_SV;">=>7BY91*E410X4/G@^OYP M?!YR;AQSD1_EG?E5XP=<=]Z@XL;A?4_Z%_,M:W+:@7!W,RPIV]DPOXLY+IC: M466.#WXUR8L6X]3,%B:8EA23/+ASX-R[<"&JN9]3@'QM<;& MW.Q<[/2.%G'G^*GPV:ASN0Z\4"2%0+%11ELB+#=*ZFA 0EK*$F5$87(5D73? M>O"35B&]F$^]'NYJO)V\Z1UM*.(9TF)B%+P.#=? ML,AJ"G^%1#&H'#%YN[+>7: ICWG-Q4R;UX6\M<83\R&\FQ?5$_C-Q+Z:_0+% MR 5&+7/\;:6TTJYJ",Q08?+QN&Q D>?3R*")M3N5R'-^@R*S3V/8#POX,RV M?<.&'W;L4"[6O&N7G"Y[&$?#MA\T#MN'Q?D ]]B4ZW@4C(Q^KPO[LGL,( "\ MUSO,]P-47=9ZO*QCGOR!'4[2FZO

C+].3!["W.;P_B/\/4+5KVW=X]SFC1V MT5 )%AO-[?P<_)1+%J%$C;(YDMWF&L>7Y@*=5N.JTC3%09735,<^J$'NMPPR M"GBH<_P4$:M*UEZ$3SFE= $^Y8\OQ:>PQ "U )]6)SFGG?*4JA[+Y-;#G%-[ M"J!.@?S$GIC'^3F=; Z@QHLY!JCQ&BX J#V;X2EV;P%07NN0A3)5'/-$J0&Z M%XD+PR0SSMLQ0+'353)I#4\/ T_[S9_-#SM>1I(/GQ!..@ \Y=1YDCB*TGC, MN=1!I0Q/Y_OQW0:>-F:_7%*@82%5"6$$MC818SU(/>\2$U0P1F&T5H9ST5!G MR*MV.3T 8?'6AYU<]48R;Y'P"91UZAW22F'$#-=.1 7;)R]P.5WJ+#@-8=/# MJZI,VX6(>(, 9GM ^Y#HT MTM.@36"(:0P*%L,).>LI\DPGF3S#7%WDV[PNH96XWHG)>!&MD3.!+#?P@$ZB M:$ZY/'^ETHVC.;)6M\Q*GKY R=.+E3S]*$J>SPG$+KNRMIJ MHPNKTX%=ZPZJ.SL=ZWI5)/>@^A:(*Y;RCJ6$R$R)F^[W5).<00'<.F>:SFN. M53F4["B;TQ['2N=@_LK+=,2QKGV!CJA/Z8CZ'G7$**V4AH#M&BD7G#@EM(Q: M.QH2![UD7&ZIUA$?!V%/7I\TCW8"S_6\5$3$Y,80W AD0\RY9TS8'. ,.EC. M;SW?6.N1=$2'>53)J, DY=K#3UAB[+@V/FA:Z8A 597H/D]>M>B^?\)Z=]0Z MVA$IXDA+'7X;@;"21%I2CX(R7F1_2:3NAJ);7U=''%*QS=>CR/PSE6-O\<6 Y_\7@RC3MQ*K\>1 MEY^J;;D@BZ73Z?GRTU;Z.!5Z5;)*:4?P@IL/B.;&CH=%=B"GD60:A( 3#%F' M+9(^:F OPJ6U9YL)++]'^].O8D;;@[&],0.+4=>"^3&,5;WV?%550C"WC;%5 MP4+X9WJ^-0ZW+242\\$\T-D16$WE86#J "(-?G]U#A36_V_I9#++ 2C]4(K9 MO!P:/>.6G"BR GU7,[Y*S[?GM'+$W 6J[9Q_Q7NP\X]$NA_O.C@Y[J-ZU]F]_3K3?[9=!=.C*N05*#,6,XU M<8YIS&PT*@KF.1^[J-0%$>RYS?!5JJLL2R/AF_J=JD;"N>GO?@O&]6U_:_-C M^]OV!][<#NWFEZ]'S;>O^=9;^'VSR9J;W^G91L+PO.,F_??[MX,F;[W]N]/: MW/W9HN]^?H-G?MW>Y=\V=X^:)_YH:_M;:LXW2L>P.5HHBB*F'G'B(C*).D2Y M\%)XKQ+F*^ML03'M:[81OA8#W'>;]#/@>^4VZ;^:Q$M'L><+9(XGQ4(P1)O$ MF686,R(25?D8S')EQ\>P:G(,6P/9@P#9K".ZX"I&QP2B3F#$L<7(1BMSI[K$ MJ ]62K&RSL7Y@_T[!K(:RVHL6VXLTPYPRA$MDZ8<4,QJ'H+&7$8!V";H+](* M,Y;=LC]<#7/7@SDRA;D0%>Q7\(@9!OH:4QHYXQARV)LD!=<\AR*35:I,#70U MT+ULH#/8S&:AIM!-6 <\LPDV=CYVJ@>VR@8U.@@]V*BD:)DLLE M8HCUN0^F1Q*L54F#BRSX G3\B0/=TGHHQY%23\9#^2EVX,/=U4E=S.*IM.&@ MW6V7Y,/VCWBAPYA>;QT6BH@G#97.@#Y!O'1242Z-MY0S&X0'Q%2!6GT%1UT- ME0\(E<=S/KRDA'51&T15L(A[%I$1)G=L)#P%)@2W.>]Q59A;0^5B3+A7M>_, M*R\\Y7KQ+!P#U:#K,"L5*#XX6!P94]QI:ZQR3ES!156S\(.R\,Q[%9W$3!.% M!!&Y,XEVP,+2HA"(TL)&RAVNS#I>L_#S9>'<&H.E(+"CE&-OK9+*$D:42:Y_#LK'PS.>@9;(8K"!$$@8IY L#C,,9.&@BEGC*,F:$&EJ!TT2R57 M6G_-.6@<-XGBP!"6S"%N@T1:8(6PD=(*8XQ.Q4%C]*WERIUST-,XU:NQM,;2 MJV.I$I%QP5SR7G.E$O GQY0)JS&ET>+:4[9L6#H?YT6M=#@AB[5"7!**G*4* M2<(Y50"D'(N,I8K1&DL?"DMK(+WZZCP;%+U1^8D:11\116?.2N&($BPI))0/ MH)%RAXQ/$D7/N'2&Y7U<69>KV#P^BKX,"*U1],6JH]'3J(A4%)11X#YA;*(A M2>&\8(S$4+N,EPU(Y\/43&0I*.2(T8BS:)$)Q*)<&5=K"I]ZU.? M)5='']3A_-]2PV>^I?!< _#YBDH7E%!:U-AVZ>LP/5@ML,6%^V;]:TM!J(UN M./-)Z6>[ ;3]HST\WLX;](++@>56==$1ERNY(XEE0CQ'[(/5:A -6FDG$S?: MG.V)+'T0C&J:/RRYZL[;@RB'_5AVTH#V3NLYC7IL34L!6=*O=_+RZO,2IR7.I;G2H"= M8?6ZM?AU6HO+)]M:_,:MPJLW+FY7_BM66\;Z>3[6UNA+=0U>BJ[GGQ93(JHN+U37K:K):HI5;JIIU=76[6>YH=I$T M>H?%:7%_F?7/^DSG)1W9>$*EX"*:'-K/)7'*3)OFZ_^'XZ\D&;V[#\P_R6/[M-+?_[+3VF^S*)69LXLL*DW%_=((=A M-X(3,047?<)X95V2)UX\H*Z24F/9K3.6N'5)D,@LE]QCEWQ= MVNY1L&P^.3A1'81!WAF*N, 269QE8YEV'@ L M1"J3Y]@9$Z1TG&B* >*TJA.HEP[F9C&)(%L<#E8BRJ5 W! !,$<9BCX$1Y14 MW+ JLKL&NAKH7CC0<3!AC-&4!XHY#_GG!+SC@DX:2R/JF,%E [I9S"!G,C&F M#5*.!\15 J!C)B"LN&4Q>N9C26&1^GP3SR<%=,_ D?G4BN!]G#1P_?AIXYPC MLZ[2,8%/$4I#[5QS*7$3D[,B6F\#3B&PH&K_W6-@Y'Q-.^QP$BIPI,&N11Q' MC+33&*Q?:95G+FE)5]8EKFOI/&,N3=AKI;2AS&B>>#+ @5H19[!WE!I=>Z8> MA4OGDG$CH9Q'@2*HH(A'*Y#1D2$II6<6=DKHW'1!DII+GR^72USWVM=^UR6C8%G/A<+S&NQE%=69*:TSDDG(P3C6)SD:"DQ%!4J5J;\*RL?#,FY! "C$/:,*!?&A(GUG!%:69AAF_=^NC9%*VK(Y^F*/'^T^>;^0D63/3Y 6,@ MVAKO':?)<).\3E[&I+B40FA)<.TG>'CT.UU:+4H/6B=#01B 0.4)LC$2%)UA M1"<7P7Q<6:?FKHZ,ENA4J.;2"9<"XV7#(]?TDMPR;0GQ'I/(8B QL;HYX^-P MZ,)^8L"C;WD6$@58T4$1GBJ>=& M*N;XRKJA=U42JN;2)>12H3@6BBKN<.3"&B %'U6$_8\P;^IJ5\"R,?#,%6 2 MH0([CB*8_8@3CI'F@B!!&!8B)B=%Z9F'U?*KP\_ %?#48@?>_[E5APQ<"(R$ M$N6ET2JWUQ+>:L=R4W%#F95@9:K:%? (Z/=ISA7 A,)2&XV"]@GQI 6R-('Z M8E2B&BS"(%@^C%1+[P:M3S)NS*58$JHD$U&#RL*D N99H MJ5+!\&DMK+*W[XM58N@A+YYR;/&+JC$*&TX2X MLP09DSP*Q!(A+&7&BF7IBU=C:8VESQU+Z]9X3PU+9UYF[P.8\3D*0U&/N)$6 M@9YJD%/6<-A*9F.L6^,M0Q.]XW#4=_O 3@T+D2O0<:/P1D DP(,,&NC$ ;S MH(R+U)H$YEHR5)@0QLJ@G"B#\C2 O6N]N36";?1A/KNE.]N?Q[-+WMOC_-'& MD>V'K:KP^=L\\<&[[GM8R%YXV^\-!E/XPT\3_F[A604:/8=BC8HD"PTSO.C?$&ISOSY;9Y0,X_VCX.UAJYQU\<#&'+,UDFV^XW?MC.*.8'Y^9Z MA6 ;1_"0\C%0[K#QOZ\A96])I$A<@49]^#FX&P*-84*A;V E_LTSGE*I?&%4 MN@7?-3_L6,O!;%$.*2PYXH$ZE*O0(Q9M5-)KK!Q=6<=K%PE:0-5.H9%!:2() M)/5G!X0L^N3W>ITX0$V0>;TI&A[VVSY?=] +L=,X:@_WRBVS+I1V,!@=5#L& MCP1Z!(*?T&]UZ2D2/L4)@_E.#*\:O[5_;_SHY0Z-G=R=LI^? -1](7$#[;G8 M/YL?Z"FE25L9$N$^@?:H6)*!&:)=X#;^@KZO&!-X!3*>$NS&;(5>_SR,N87J MO]-9?H1)3BD:T1='TJ]YL^0R)(VQSFD,.;&74F2P O0EWB?GD^+$@?9(ULY7 M\/_/*I -T$V_/?B.4FXOULZM8( "*_H!DGM&]/,19OD&)OEN/,>73CWO?FY] MV$DZ&2YB1""6@'".A!J>2LJ@?J MK,^B] ALED'L/@@&;;9_M$$=#R^>ADZ:NSN&)B88TRAAD@"!+$=6 PQIIQ77 MCG--Y[8OCY6R$\7HVCMNQ$RI%;BQ$?P"K@F8(UF3CLK[>-R*JLU04 M1OWC:/MW1D+EKW^S1._N5IH8>7DDPH%$$A':)4419@J#WJ4T,I0Q%+RRGANA MM+(KZ_1LU^I&WHU!(_5[!T4="F.I--;CLT)U/>A)\,+(/->&""Y%=(1Y24*B M0:1 (K\*]"R@C7,MX,_3AKN,-CYF*WL %))[L=G=%PTIS9^@U&BJ'>% ($HQ MT-.E4,@0*A&-5CK0; +UV25VWI+\3\&+HEOGEMR-7C<6(BK"*I-0/Q[8=C=? M<#W*B2E*K )EU@<>;-"4>4V(?Q*8>T9<<&^\-90#B0D5K).3W$D]H3+-2.T%6P;J:Y[L8GBF:&[ZH];)!@=* MQ-P[[!Q&QB>PSD*@R'EN408V*I*46.B5=2*?M$?LE@1;>\26A&)?'VUM[%B' ML8I>HT %2-V(!;(2?J(V>F]3@AV,V1B\J$KQ,_>.,5!4&1C&F'/0('EPDG@P M;A+&1&GXZ!>T7GO''A&01>O#3G(^P Y*1(@$.S5'51L,2J47(1F7@-Q3;@^' MU\X7_;AS3]E2TU+M*;L,*,&.0? Y)BT+C'OHZ'W[D"[ M$7W5#K2')9>F /11-JB@I4!1YA,?J0/2B6O$=/[/4XDQJ&EDH3/M)DXS2T)D MU/-(A>!,1VVU52IG/7CMO#)709[:]?%P-)*-3X(%C;FZ>9"YW"\H.\@ZH):H MJ-".!DES6V^RP/+\3Z-7^3U2NP_JC>UVVP = ]L_/FTS9E_L6N-+]JCYWFZW M?1)#I76CLFNGC=*,4]U!OK93#%'0Y/.3YE7V8NM>Q_1D*7*7") \)CSWU#". M)!IU MELJ+M*:ZHKNTHVP";Q>>2+D>QU-;VG'@)Y"]_;!];:V%% 6(Y(T(-< M8(@SS)$+QB"9-*A$*5)#]I3_7(<2.%"SCSFN@RA.K+0\ M 0A&XC0 EM?T+A,):DJX'(KV7XNM[8WCYLD[VMKT/T&[D4;@*)E TL,&\ 1X MY&+NYQACHH3D#$(5FBUN/^NPV\A49,,59B9P&.*SNCH2)"11!6#3#OO M%K+957Q]$S9[/98*GRI/YF)F:_6Z6;F-E5HP*!45YK__JS<8MGK#KQ'&/5FK M3WFIQC[!%^O[V]K\^A.4!,H8 \#42-.D4*X2@ Q(4J0)E3(Z3EP*P)EKYU-X M&A-7WYQ 'XTWH['8";=Z+1*SC!A"+>,AP1]!M0HQ*6R]Q@)[%6H26WX2HZ 2 M1.<]R^TIK?1 8LP"^!/'LG/918R9D%(L]I1<2F(7^WJO1V:1*6% *P%5 >S> MI%P2#D;JK#/*6TV6FLRF3ZINV@()V=_>L]V:]$#OR+&^ E/'&7(N$QQH(<@8 MD5LK"(F#B&"FYIB3ZY+>J<;!UZ,V[1(8+2H9PCPG2>1@Y,"B,2!"E8FFIK:G M26VD>;3#O.-:&()"R FQ+&NYSD?$E&.."1-\D!GHSI?KO)3:IU6L;1$(; MRRSA(G+&4Q39*-.8P0^84\%836A/D] XF%-"QI2;<2,B;6X^(7(G2D YICRH MW\)*XG,;N^O"6JYIWJ@L"+C"C_I]L'^FQZV#B>^G$\&6RK]8O]>&G[-G;JWQ MZ5=^G[$!!S_9LJF-(QA*PYUR'H%QUQOM5H? Q54);P$RY6<,M_-)>!>:O_&;6'Q_G-F^V![_0&8"MNP\O^[, UC\QZ6W]- M6*_U_=O^GYW69O@.?SIP/6EM_@WW-VES\]]V:W_C!-Y'6B??#LZQ'OUXT'S[ M&;?H!_CSF1<6/H"QGGP]:GUY!_8X'P%ZC'20!H'-$JBT,H"17*$R$"I@6<949XT+QH,X4(X[371,C 3MJ#4" M?C(KP&_>'L*&#/NCN++^ESUL V)6['76G7^:GL\P1;4]OWS?35)7[X'VRQ-? MY:FV_16XX?7/V/?M03EU'PN%F_AV'C&3]LW8GW45+U81_@O=0,24^,/V8) # MMZX7:'C+VBO7##3,]/NN#'-SU)\>Y15)/YBWEB<[&Y;F=/BAD:9ULKM#;5!. MY0@LSB+B1%GD K9(&:.HH=BJH%;6M5JE?$'@8":7Z]'"+6M'U+1P3[2PM?EY M)U)MG(L!)6] VQ-)@[8GP8C%DCNN@"0"P+A1>)4*>5$4Z6E'^&IC=#B+PHOC M91[D>#C;J& +WF=_Q+[=C=/O2[A>_.49'>QFV^$8U[\GW[_.L7RP%-K?]\0X&PQ8GT'1R^7+ ))M+D%*'M/,!8VV,B6QE M7:Z1!2'H/@4S#H+625L)1]B>3O8 RSJ^1C#M4,&;EMQ[CH.DO?C,;[I]PXN MEVN/[;:UO<&:8%6U/NQ@:HEF5B G9<[:B0F9!-:4CC0RXK#' MPF3OV?G(W*E3X[H^LMM6S*IIX6YHX.+-]**68U^8E9N+-:46,K-998\I#C MYG,*TZ?H0?L?MN&-[R>II.H";D7VBKF>E7I2[/I>J/^Z8RZ8O9,TS5O9>4HXECD M3%C0$$UD#HB M;BA8J4P1! :*3$)%[E..>Y9KB]PB4\URK;%1,L-##"-?\GT[<==V&ND&(:BW MA(MK!1Z.C9+!F"XR1MBNC_D(;; TX88/3A?;&R<[P1B1E/>(E1@392@"J]2A MI*/QSA$P3O/X/D8?03<*6PN%RDO3.N%?LN,<-=CEKBJPYHA;JY!A*J!' XK-B@'W?;@V%%-J>TK<5;:BB0''](:@ZOWH=7Z43-[N,3S)@>8+"#M^[0A6HY_UP/(T M_IO]_3?Z>WG'G&ZXX8=5],/'N#OJ5$/:'-]Z_M(;G!2/2^"*ZY=JO=KIL20K MO[9"[IT:+CM5)O=^JOP7J%OM81%>&]WP5]F1W=CUL&M+=[1,FY\F4/3W7A.N MS96> 3J.OIY\W/NV_8&W]OU)<_];IW7RL=/:WBT.C'-0=/ :8.H#;9[XH^;) MG_NMMV\ TG9IZZ1YW#H "'K[F6QMPG?[G=3%0X=YX\VXC"5*>VXB;G MR[]\_^GQ1D=)2IH'+CSGPMGD?=*.YZ(12N>& 4_25-\Z+$(6,.V?"#;$4SN, MW@(%9R_:\#\CVP?%&$@#])MQDDNN@?,QAJ->#ZBE/3Q>!;.ZTP;H[[8MF/5[ M614"\[OG_>@0X/\0E*2?)6"HB5#13(@]*H'4LX MB<0=)UK8>$'4&KU.]DX_VJWT,=K.Z\$0AOF^WX/-&QXOBV'U"/#S0>P01I5S MG",L\JFSS(<[04LD8#-8E$QART"!5JML0;Y@M<^#3#TQ&U$ESP2D?+:C,\AT MK.L!>_3ZQPV@;I\K)USBE*GD^?&=4,8U4]XG/I@Q30 D?AJY?=!/MGMO2Q'] MBKM?,*E\YSL!S!^9?IIQ"+O0ZP &=QO_M%-LO.N"EI -WD8^ MPG\9O_^=_:4KQ'V6WRL_DC]\KC^+X>J! WQF% M?.1].\#2*A"ADC;>4QZ==)X'$I.78%%XKG$-6/= A2< 6%&FB%UNK0[:*>+4 M!V1T=@C:7=ZLBKX"4&N]CM^<&'DR:33"> MXNJ%(K'Q6R;I,0'.[OJ4'SXAQ=7;4AUF3"FGI4L1%$2+C4J1*,$Q4X1PK&JJ MNWNJ:VUZ!BHZ#XHIC[R(N=)V$B F<4*1&F8"X3Q9O[+.U*JY,=6!AG9#:OMS M#*X->H[<);S&(@$U9X+2BTAS#KEHDD^B'("=:+_':]'X33JHO[86_0SM>\*HD*,)X_CMIAN#?IBC5WX]A]@V>W6#?H=4;# MBV]99(15'8I\.:-\)"N,JC/K-??W7G\RFD.[&Y$#5OF.2GW;5[9S9(\'*_\] M/468WYDEO=IJ7.+RNL0-\$NS_HP;@ /I>N&8D]'RE,,^@HJ"6RV(XU217^_7 MXQO-GV%"G<;?%A8"#!M&5F?U8 '[>I4N>@9W+S%[SD.NTCE*GS+#8H!%U=92 MEIM^,Q\8UV$BYIHUY-X&#F)PM4;8^NA;>3>\X ;15'7:RIPQ*;.*7+,5E.4ZL6TNL@=WZ[ M);4F(@/13I.V/[,=;@%E&:4H$A$1Y\2! M)20\PDE%IP$U>.X=2.6J6%AD^#2AEA.5>1K+ISY-P+[^#]OX- (!5/< M5P7F*H.[!-V,:6A:J>7T8T!,[^56.R#E(0%[O13*&YHIG0-B"1+#QH\8"1-28G'FM[][I08AH M[>Z T,N=/")2*@'\"@%6?4P&,4ZEB]A*V)45)MX("V[8S9^)2'++.Q;1SV^H55RE*V!S/_;:;]:4>%ZO8] M.VBX&+L-H/*2R78PZ@S;AQW D#*/03O[[N#Z4A[?AOU<0[]Z8'E0[!_,)1D7 M1]Y*<>%E[]Z[[@P"+H@H[#9>Y^D").3WERC"\33_J9[6F!.D9R]=["8LOXSC M2B=J?"P<%: MCI,\=11_=A*KYYY7K>/XES,CGX[QW."G.UF-%YO\BA3*@CNV1^7-$JH:E+V4C]VXY'M5'E+#WE 4.K/_Q,'@QBG1WUEJZHH M[NW>ZS*QUKAVYDO%[[DBE/#92>O#CJ$YDL90%*PRB#/0HC5E$F&GF,!.,"7Y MROKP:$%A6]C=?!:4C?])99]+&.>T[G$'/%IXL'N>#><*?2^,EK@.'2ZHG7O! MR=0BVOM8<<,VK,)+([3]U\=;&SM>606+'!'UDJ'<9PQI"<8:)9(*H#7%_"9!QW2@H2&[^U4GLX; MEXUD?6X/D$.FAGN@WAQ-'E9B0<;"I0U+TV]GS:E3Z+3 =+ZL*N@QT=$MT.40 M;AW",(K([;E.>[=R#96"TQ-&G0YEEJ91,>U@7$+V1QN69GBJ6/>;%S,$'F6E@ER6 \Q$PX$,V%B*) M4:;$$?9*(&"6A#0K9@--Q$A-G) KZ]?8S!N&H-2;>1>;:178>$$@@DDN6:T5 MTA&V53"N-=B S-G2BO1\-.0%A<".6P#RJ5ZE*16$V^O!5[2N"!BC"G8P!,11A-JHB?$*P+V+3^3T7I6 M)-6[?!^[[*.S+!B&<*(^UT37L,&PZ02,GUS*A:;@%O;V./?!0=;&GIJJ>M9I M<4H9+(9,Y?<])8)0 \:>[%3OL@C=+;[?=('TA[T M1MWA==7#Q$F04E!A!.5XZ98G M]"23)MYUIP20]UTNJG%0NE6@4LHTE;E6R<;ES/1,J8-\OM(/.?P9A-A@='@( MLJT_=6A.L].!).?"Z;/[Y[ ZZ2B.'%OBI_.13N=X_,8YY[V=?#0[%E@0%7@= MT>; 1I8T8NN!^9*+FL-_T1H>2%!,QZ)O*N"7HF_"#U3?& G'I3 KM_O,$'I7 M8>#2U$]Y!*_[.P(0Z+&CV'"&%#8.@7[)D,66(>)$#)B1W(HWV\X+.<*V&UPIP9 M!;+4$\O@Y3)9'YSQGA3'RX2$KNLX'P--H9WL+]]*.?$M+\ C-Y-[I&3#C5)A MTH+41$KPB+@6">E$+6(Z);!'K/,>KZS/\.N<[WQ\9 R(/V\>E])M#S:'T9=6)/B4\,+/. >9 Y03R BI%D\,XI;\;4R6]RK%-3 MYRGJW/^Z$U@$2TE',)DE!WW.$F143,@ZIGE4QL><*GH)=5Y-VJ(K2-MVM]K. M+ F'T>]U0;W8G9>\A4QO)T:Q--AXYXU*B3/*C-71&^T3D!;)%F(E1OE$C)Z- M.JK%Z%V(T:]B"RP)14&?(2(?("BP$5D^3P@:@1WAE:$\<,TN[U93B=&9Y)P_ MI:X1YM&WNR^@49=>1?U4TRWG1=\UX ML>6VUZKHI%)OJ,RS.@N90\AS%0/NL:9$&4P>R[9UG9==/&*SN9,BM2E#%C8$ M)&9N)>UX9$AX1@0Q.$2%SV9A2,^,8AU@0L-,9[.THWZ(?52< MR8>#^&KRPQ^A/3CLV.-7[6X97KGICQ\YFQSDZCC-")XY2\=9PU5*SK /?\+D M^>.OU\I7_QV&\]\QMJ8YN?!KO';3[T#%NM&=EPV6\#7!V3T,5K"+7[IT@WU2 M*WMO@]57>NQ_"S]4/ ',E9FT%+>;IL&%',OW"C=(8<[)\Q9K2B98WISS] MQ7Y[U;@1K9V9_(TH:OR,>Z+7>H1/>837YL;%&FZC_$O6J%ARSMPXR)D7)W:2 M#5H"]% OH=%@G 0RN _Y>IWEQ(VG ''_^^PR76N*\U,K6[!4<[O&D9?A7F*> M! X.<\RDH08K8QPU00LJQ=@!K"[JP\3.NH/GCS@^YC%MI<^#6(*4YVEW6>KD MW]11O/?UX&=G:_\K;VY^_@GO.?AZLLM*_^C]O]M?Z__;V,_^Z[5GS;?/G MU_V/W[-T"751 M [ :A!X&A/ ,A)BB/BF#J*"Y&IX@R KAD)8I28Z)XHFNK(OS06XU"-4@M)P@ M=-N.E#4(/0P(T2D(46=T\BPA@25&W&.#M#8481N$X,H$&T 3(O1\L\(:A6H4 M6DX4NFTOU!J%'@:%^!2%-.A"4A&!&'84[#'AD6-"(4FE38EX;E3(O?#.1RH^ M'@K=D0_[R7C-WI4 \\$PIWB-FUUO4A5C]I 'M#AQ,\S'5)['? M"W:P=QG,37;[;-Y[#6V_AK;67W.N)I:22=1;L.U81-QQC!PH78B(8"4%0UW* MF.,0-"7TC]O"VR40[?R:46_%J#/;G@0G$XD6A1@QXM$[I),22$I+M9"< M<"Y6UO42,>I=QL,PO.1F_8(PM7L-+KT,M:X5]OC\\.S.XDA*B>]Y,,NIA36" M70?!/LV9\,D 3-'HD+%&(,XM1<99C*P+-%EFO:+^#J-%KASU^YB')S4_/Z#% M7_/S'?#SS,:72G%J@T&,2+#Q)3"U4<(C2I0K3=N8LROKXJZ./&M^?B;\?&>. M@9J?[X"?9ZX &W#4(7%$122()\Q!-">'F. ,U"6''8\YAJ$6T#5#WX\#H6;H M.V#HF.0A$12F8"X!?8UB45$K8B@ MFU@).YC9ES!3L^_S9=\[< 74[/M@[$OGI"^7B1J"+,U=N2R/R C"D&.8::*E M]+!1ZPS8MY:^SYA][\#PK]GWP=AWYAC "3:%&H^$-@QQD[.5<:P5,E%2I(,(,7 3HJ!WELVP?"FC->_>D_^B MYMW[XMTYUX7PQL,V(4JT09P:C5RT"1D53 S8$,5(S;LO@'?O/,&AYM+;F A-'*HMTTAEDJ(7K?;'MS#-A M(FB^3%H4C.:(Z^1SFJ]#&DO.'*5"YRR'Y1.N+R$XX=/(5>Z(=M?W#F(=E_ < MC/KQGKXK6UKCUC5P:VN^/ &QA@I!!-)**L0##LCFP 3M;1!)ZT1R'_&Z/,'3 MY-O?'K,^0O;U><^8M.'-FJV>$](E2!"SJ0'B"ON\\%<@PJR0F'(>8$XE$S9C/ MDS'OO !!S9BW8 R^VNX-;>>VV0&WK.AZ89['E5*=EFY)KUWN]>KS7VZ,7M(TB=J->B/@ MGB^UX'Q27/N$L'8$-"JP>JQ4!FP=J[@)F().5;(C)+[OW*\ER^>LL:W&MOOV MV-0 =D, FSEKN-MKP M]9 Y-#6RW1#99LXN(P+1T3+$F:*($X61(98@XW0BE"41I,RQ]U3\OOKMMZ/<2G.L1"Z_\=6KAJ MDK$%?TU>,[X%94'ZBNB)=&UW0^P.7R%3GG.G\D2LZ5]FI]'+LM/(5=/3[G38 MY@IC7EEO+,SR&TS; @T:1^WA7B-_/\C=M7LP#_@R-@[@T7L-VPUPW6#0&.[! MT//GQ]'VUT[GV\WMWH'M[[:[A1;,F:W+>_GPJD!9A*WA'LRJW:V$=%8&RA;& MT!CV&B =D,^EP#J=3)*--%]B>5!6H'>Z7A)\6-;J4SPI],[&KPZMUC 8>5-$\:J^ <6HV,/!_'5Y(<_0GMPV+''K]K=,J5R MTUDZ@Y7^XZ@=AGM9ZUG#E>8S/IP:/W_\]5KYZHS$J[[3= V$Z(5?X[6;?L^XN3NFN WPTN76 <^)C+U#^,EGP6'M0O*H$5O?1T,?&7 M$&W\I?P2 [(P*KL; 1D.;+L[JXU6D/.W=K< W^#<@?.=QFAGK;'$+4U1V4"%YY1&[5C"223N.-'"QIUW,P?3G-D%0_&OPJB?]^GR MJ@Z3/=^HMOSC9,?+ESG#@CQIB^R[^+;?A/'\^_W;Y@?U^>;@K$6VM=TY:)Z\^0YC_-XJ]WX^:7UY<_!M'\9Y\OWH MV_:&^';PFC>_?$O-^8- +CQ53D;$@J>(.\^0$TR@A#63U +A:K&R+M>F59;& M&[]><=7M4.<)AE><0QT0]1[F-&P F=XLY:%.UUKH[.F.LH*VGP0K0'FUP!SJ@XCQXP'HI!CI6@TLTAC8A%.CG@2 MK.0R98!9DL;7C\$"_SF/HJ>-[#/06W[/;-'NCHI1=,J0N\!R6_^_KO_?]0O- MO_& .%U3V28^;S%/397_K)RZL5JY5WAVBW6@VXR&%]^RR-2<5[,?R=:D^DPQ MFKF_]_HS(V$W(M>/]CNR"0;[RG:.[/%@Y;^GIPCS.[.D5UN-2W:K^OO,UE=H MQ+&)7C@&@MSRI)D5047!K2YM%A2I4!3N 9#+.I=E 7-*C*;P+V/48FY)D"PY M@:FB:N6"]TC/C&'.!(LE#\HZ;P)F23@28A(87S@S0I?'I_"7'>PU#BUHWZ"# M-NQ!QOI!SEGLC$(,\$-CN!<;!R 91F!2P&"SQ^!<)^8SOH)B: SW>B,861C\ M?MYU<.%V+YE'0AWJ5?KOP]UW-RZ^YQ9]_M<59+!\\D#N4S;6VW M.M_V_X5[_SV L>%O7[ZUX1GB*WUST*2?1?.D^7-K^^OY.!3XK$G_/6A]>7W2 M^O+U9VOS8^?;P3O:/.GL?_WR]>3;]O<3&(]H[?][VBG!& _9AX2D\0IQ@FEN M;YV0)T([L)]H4+FI]:HRYW-*;U:+83EZ6=7X5N/;,H;6U?AV%_@VRXZ(+N:0 M.HT4;!K@FPO(D6"15BY:0#=M32YEL8R$WN<, M[XNF^&Q _(Z5U(NJA,VW9'R7+>4X&(Y1?*O[3]NZ=J<]/*[Q_#IX/E\.7"C- M<-(""1MUUE<3,BD""3OAE'4IBI26L>IA#4\U/#UH89<:B.X#B&:*I:7PGW<, M)1 :B O+0:=,"GFNC 43.BH?5]9OW9+M#B'H)7A%*ZJ_)]7QECZ#YXS-BZ;X M;+#YSJOAS6/S^WX;"/;0=FI;_P:0W)JO+!NY$U82BHR( O'()-+!8.0Q-\09 M'FF2*^NWK^.R?!7R:NAYIM!SKVIA#3VWA)Z9-BB#MSX(B;P5"O$4,#*:,T09 M9Y%*HD,";9#H9<*>"\(K[R*<\I+,B!L)TXMI>&K)-.UPU(=_M_-\MN%U?W9Z M_OO3I.-._'\?C[]]"8>.H2#[(D\6$8L#XB%BI",QB$IG0J)$:0E($X'; M#_/&]D?Q\G26.]BT?^)@$./IXXUZ\\YOGM]A 0=IC$8T6H,X#QIIG1*R*D8) M#_4ZK^Z9S5OZ_-6-R])-5QN]4;]Q,*:"ANW:SO&@7>ZP7<"B#LC(27I)#/.V M'5R18U0O2H!=G/G:C[>,5\U!O,L7L/K"4V"72ZU='*KV-:>*Y6#,3(Z;T8^# M,]DXL/=>DGGO M;&V?J:WY LM+W2S=\)I5I2[1$"[]> #^;;_ ME3;W_]W_MO\1_GPXWMIN[;7>?CUNGFS O7]_;QWD,E/G[=9OFV"S[G\];GUI M';3>PA]X;I.^QM_VWYTT0=UL'GR@WPZ:O)QBS"<]AX"Q"(R@I&E$G.$(AH*E MR ;)!8^&>2)+]6-ZZQ)[-\7E1XJ0>1HR@=1YUB\!]39'L06#VCZ*G1^Q601_ MC7G7P;Q3(<^),^9CR%7WJ/:P78M.)MWL"FF%(",0HGE_#.- M/3)$&:0I%H(#Q(ED,YPI>E?Y9[5Z=DTX$^64.)=7CJ6.5:VM/5%T\^'GX')H MV^[]&=_;=MC(^UR#VTW [51%0RP%UU:A(#" 6R0:6'/3UE;7E"K.M\>M+OM@]&D9/[A6*H_MNYVN[/C&OKN1K&K,>\ZF#?O;TN1 M2&.)1)R(?&+J*-*)$.0,YHP8V&(:5M89767DUAT7G]B1Z?("8F:+5XWVP>%H M6.I:5NF0M:)W[87\[0G!W>>YD-'7/SUSC AGK- I,!HPIT\;G"M:K2NAST'461P@R^XC&64G]4K IQ[[7^[EAS MG0QD3,[L>?:> ^]"F=H5)[XJCV$G?67YPG, MM<#[JW=PT!Z>]F4\C19^7V*C)%]D Z37&(P.#SO'Q?<,S_O1SME*_;[M[I9* M^X-)]?UNQLL.4-"HG\ONIX8;#>#)@\%:X]/X"?-WY=RFPS[@:1_&7\KZI_;/ M&!!\!B^ *8P2-QSTP+>VG1=Y%-H1ACNW<3F="]9AL/BU@Y';CWZ8&QM.8CLC0DY!R1Q L6>737S;*L)-3^".@A M'2\+ZF1:KU(=,[E7*8O J3_: =[Q/R/;'0( Y\8VC6"'%LAVU_9+>EKFM5Z! M7#_CW+7&FU&!CXEW>>)7AAM3)_/'I(W(< _X]0@@[^?AF&W@TG%SD8(6O2'< MUP9LF^\E<@H8!O/(,,=__?;@>V'<>_='GZD3RJG7O%MJEGM*G&QH37&MO'AU=IX/?T$E*OMC*SA=B\6B?# MY[H08ZAOCJ%^?'YTO^FY3ZK<7'.A/CV36E5C\DH"@B:8JO6S,1M@NG1@/8E<*H?HB_:&/E-7:"0:[ A!L:26:ZD,IU%Z+:,31J5H M+G:%GK'28-+M! O0'9XUV*;=G<=(7)UC5=\#KCP/E^A^\Z1YLGO4HF_:W]ZV MVKELU]=M&.^7C_NM_5W\[2W8<=M_'[1.OHJS+M%\Y];F!OOZY>_O7^F[7+8+ MWK^W]^UMDVYM?OS^;=O#6+^R5K;_/LV5[3+)4)M3 1/-A_G2!Z0)\\W0YE/SDB/%#,"<1\(LHDD M%+G /G");8[W9ZL:+TF;[Q=3&OS3L _VUF[;-_[*KCL0Q>-3!9 B_X#0Z [B MS 7RV%;84UK8INW[O<:-6YW6>6%7E!@FR(BM=E*[P!77-NF@/3',.U!326UH M+)E8F.\6$;R13OW_[+UY4QO)UB?\512\SS/3/:'DYKZXYR7";?MZ?.<";9ON M#OL?1ZX@6TA<"6SC3S\GLZJD8@6*-9[CE"'=)2 M8B1L,)9R)BSQ8&C0I>L/_"2*P*IZB3.QKF4Q'>[B&C?(0GE"+JR;/?RCD2P: M:TE-%P.8@##EC..)$!V1E8$B" MB9D8(V"*Z%Q[K,])U_XY6^1>_%NGDOWD)["/7ISW]]-)?Y3&(8'/;^:7W)KUJQ%+\WH]Z_CD:Q5S4V)ZI?,F!*O5&HTOYLSU=/ MF.HG[/V2D\+RQ$**?SOU].55\MNO&:ZG@^EAG; &E]OO#<>PSMXO]1=W\DLO MHSN7H(*?*_-=-(AF"<(=%DI11+HW5,BAMI6<,PR^DN*2(PO*D&'BS]<^; M5.S EFVGZC&;I]RTWS/N_SZ>3$J2T@M[ .^T4KWE:B+_3^>H;>V\$=MO/P4I MB'!)HD \R[XDA5QB!AF5%".!QJ !OPE>/VLU]("VA_!#O[@W;/B:,Z7FU/*\ M?F%.+"7M*F=_?1T/OY9>^7!0)<>JHLA?UM[-WOIW_59UBFL_0VH<1$_(68R1 M6FY8I?(#O!M,O?\1)?L'N M1C(C!D2?'#6\Q5N[GQPA&7(B@CV7B,.6 _ HCH1R5(G@!8B$M8USAAG]=S[: M"*K;()_Z.92PWGM^>-$0D )5[9D()0I5).B>_9HSX4$KFMAOHVJ@8Y::I\3E M>N_O6++!\\=ZXRJ!?B89FS8OO8N0+">8V]%QE;Y],!GDG/=Q;]L?CO."RGHH M*5*>7& 9@!*O7F>6_X.1 M/83M_'>YY+X-\=PK@A$WF=4[PWN@M._NS0>MQ/_DV2KPD/E;NY-H7 MP:\WY%"'K7%1>@.V09Z\YP!( N@,B2:3'&/GFY#G,&9>]IO1]'!RE&W#9G+M M.UC9^T/X(\SY].FRZ>;G5V)[Y_GQYH\W='OG5699[<"$3XJB2"38>M0 E ,^ M(BD%#S;IW-MX;8.MJ[.E7?]=".Z7 9QY)H/IT7XA@>>_]MX 17WOY;WO_9)K M06(OAU!Z!V"9#*9[1:,M7]DV+'8>B*P))03D!%@]JJ8@C4Q M_V2NF,YY)0G^;D'S?G\ S!&V1W^5RH]AS,_ZA.5$BP#A6G^*S=U/RBFJG0XH M*6,0UPID!HD1Q<"UB2X/(HMK&WA=G",U0"HT&NHI)+L0 D\"6P;NNBHGRYUJ M9%2AU1,(MSBXBS8188@+P0E.M-&4"&FBE=3F*A+9P=V=P=UN-HVHH4(DY5"2 M2N2V>@II. '$5(A&"(UE!&KCZ_0F<)=_;ITNG8M;N'TY!M.;BV?&T"+IGDS@L557SNI__/EE 5ODVG^'Y5ZR;CH=' MAQ=_Y>*BI:IVX(&<7M2KOWCY"/" M\YW:TNOMQMK%TTAG-9;M0ZP8Q+* .26 W_ W8]1B;DF0+#F!J:+JZOU_>)_C M=J[3.U-"=XYY5!771G^4G9$.?NT-!W&4[:3ID9L>VE*-E\L70#<#2,SU?P=Q M,AT7Y6R2QRC"-:HHZ>$>/&?^0!;!PUSW=]3Z4%5@>_KN5>E?3L[L5NZZ MFG67KS>#A,MFVG*@ M!.1R[WXOCG:!A;+.O1\GNW P/3!0K?_/T:#"#_A(KK $>AT 28;R]K[]$NLC M"X.\,G=4?[2\,QA]A?668'<_>_JRV,LT ;]-X5A[=CJ-^:WQI/J]V;3J]=Y> M'(:L>Z7Q! BR(J-!&(!,RD76SWO)#H;9H&TJH(]G.SN-K3WSXR.XSD$V:@]; MVYZ_%K^#_C.8YFKJ_9C+R'MV%Q8 *M_1=&8GS_>PHNY2YWKVQ/HMHLDK]L/Q M-*^N(?6*> >5#7/1509U=7O^1B:9RQP:Q77Q#12Z?&9E P9E*.F,O.9;T-37 MGW9HK%CXXSRVM]64U?R$C;Z.QB.@A5GE\!E'3>.GV(+]V9_[6>AZK\P^.O'= ME%6V:HQY.9B937#6_3-I%>6W*J(SHQ[ V?C*>-@? Q'\J&1$*#Z6VJD4ATT= M\R16I5>SU,,NP?U(-<,RY4TC<'4/[53['R:YC*W7([0X=( [&NR.X1M&*&L'=P#((LDGOJQT> MQ6HD]?$)A>M;'B<-=F3L'1W4J#. WPO6YX_W=H\LR/O#6&%)<6;/).F\P4$1 M"\.2B3R>@-"M?HQ-.Y59TC*\6357R.ILOL;@Y&E4W1VF>6GKO3=9*ON]UFM% M*AT>'^0TBZ96->] 1:X:-,#93 )-<_XH1WLURU7 M]JOH6]TBHE&+3BV_-%O)_#<<@#X00]DSZ_WD*);S^#(:?SO[S'G#X>;?]D"A MA1,<3\MEX*E=[1+*4\-'/9=/W6:5UL&S-XU;0EG>I!;6-PACBD"4I30RQ067 MB1K',5C^,<20?.3^$C=0*XP)9.QS*//;>!*F<70FC@D/\Z)8+KMQY(^?YZVP MPQ=V,CF&E_[*5/FB@JJ9 P _,?M_Z\<7OOWVDS52!.PYHC%/,U6$(ZLT09$Q M[CCS7@JVMC$:GPUBVFI3*S4EUVN/6/9S@ S7$P#IG@0+7- M#4(+E[[8_NO-2T3,:L+\J<8Q%9P>C6K4JC3Z:P#"8=GFM M.:.N:1&5+:NLSL+*4LHQE;HC3P0S8GP,4J%?4I4S.#4V2=,9K#>N6B<6L+=9 M/A53KESYS_7WZ_7-J]YCE;92+R='7)M_1\7N>**.#G*/MYL260U/'=G:)N'I=794:M M: JWF;1,^=E#-S9HO47G?;9Y]LIA4CD\8A;P(R#SP:@2!(.B.-C#RM(H!GY^ M=EA_\58TN]VOS!5?;=4AV/"CRKJN-8'#O.^'V9"'GZ?-K6>+;(ANOJ3AV&?7 MPR3N%I<#+,K6SH>9,35[!;C\"YC]*V>4CHL=5_2>F>E^H@0L:RJC[% IJIF+ M68?(6D.]LX/L1IIW["M<./IQG)<(KYXXU#;[_)_QMTP)U7T+J6;:+>H&"/][,B9'!W4JM*HS3J-)^/$=V=+RY15 M84GY5*/CSA_LHH?*/;\F&2; -(9M//7ENI=8PY 9 4M!6+YYNUW@+VOO_H?= M/_CMY=JO\SKMPM3M/78-OV0,/8G*NV/8S5&^5B[6R,FRU1-F^7OEGK1.**O9 MW_;&^_E8N#@>PYHH5*S]5^]*%/O9LAO=1W*VZILUYJ?$X-E;#*%OZ M^]EC,>W5EN*\PGKN),HRH;@[:CHY&C7$E\$7GBU6^1X5]58=VVHM_2PP9Z6W M+9&J X\5_]=Z=X??#O#N'I0"F7G^MK)\'^K-+9UHZ!]-/X_BXZ>$[P_HS M!SXIV?\-8I_@D7,@OE\OIMJG-KJ#=E^#^PS1JZ.&FZ7L$/5QU8#KS6@FLOLG M)$EJR8.YT#J//WY9VRX_ ,]5;S?2;790[9:BL/0P=WPVAPV*ACV:UB0$U'L M[)+]]2?=I^]B^#8>A]Z+XFE] 3HFL,%H8)L\YT9)R419LU2LL+B&A1;MK)_S M6N&J(EHK;TI6Z::5P=:L*3!)J?N74'6>\JQD%MIIZWY.IYO^9< QN.BKD]@0_! MAX\.VI\K%GK3+S&3]MSU='0(F_>C.9)]^WG.P6 (C'4P!-S)^]1LP_6\E:?9B=)U M\:"1LKF8ND#W' [^92R6$P">"B;;ESPF*!&\-.A/Y,K9O# M0A:%-66":"H1(& 5H+[]>3_.#-W%+YVUQ^+2#&&2L7NN=+>@.]]]9J),,S-7 M#W]*07@^ZWW;-#5K>\":@$\F@0PD69_)I4&%?^:WG>:,EQKFSY=NYYD=^7D: M9^M)2^,<*Z(_/]X2U3J?#.JTMII4!M/YWM\D,Z#F@CK.+RYCA/.BUEV.09MU M&;XXQR"OOKB[F/;1)16#]823X#1GE@AJ+2;.2LX_2;ZV?(D)%_N&[GROSW?\ M;(V!A0E=[]UQ7^IWE7OMC^PGWLD!\=JN?3F8ULK%LC2IWGI1^S,_[^*MEQ_( M]NMW>V4&P^=W7[9W/O /.\,O'S[O?=EZZ?$6??7CX\Y;^A];/S9Q MSF?"EGLI!'*):L1EK@.*6*$D/=-48*897YMIUN%Y=BT3QI52)EDJ ^<).^8T ME2)8(E74WI_N;UT?2*^C/R*VA0E.K$F19[JC+Q_2&P6N^/(]"7;;L;3J407[@-L[*RS>=O9A5E M!T>3K "TQ/>WG#E>73I<'&29[H$"/#W=^L0Z[ D%D.&:^R2TXYXRK($5+ E, MU7&66Y6+O9GEPFQ_&\7PNQUF]>5]O9PE":S<-Q!M[[P2G[!V!,O]58J'M0W2%UKU\3GYW;WJ3+.2!13R/Z=YW$0V!Y]G4SW%2:; M:2&];./=I(Q02:%!$$5AN>!<.A#T'.L8G-1!*^9J(20;(72*0)"X 7TTTS-W MQL]]B1N7!MISJIDN30WA_1/)A^^?...>6*-0"!0HQ3J'C*,.$6:5P-%A1TC) MM[V@U4!=1E@L;3CC45U&,LN5.IPK")4+TN\-8LH)8OZH^.'&*0U\=K?^:[PW MZFT-B^07P?876OB2@ M_[S*J9L",9''9V_,X/^2EK 6SF!;P1R M,,*U7VX!NX^'P$.3+%M:OF:PH^'\'*%;Q+SCB8KK, MG$&5$PGQ*)N9@P(S<+/UWI^SY*L3RZP"&X?SZ.[,[,S?S,-99O+L M_?;?S4-5N7S9>6EG08 7XQ!?Y;2N^#\LA5+']&(/EK,R+Y.>?5 W+Q[T5KJK*+IG$60)D%EV9% MMYGG[&343B.^4-Q6 KDV&G9KKWL58-S+89#3DY0:;TF)I@Z&(/C&HQPNR!>I M'?O[+@ B??B?LD]CG7PY50 +4P&]9C?\S/=8;N=B.?U,*AE23Y!J M3C-"@^]H;Q" FI\]&?5D\_-SNOGMDQ5641(HTM'$K,IZI%WBB F-%68!U!2] MMG$81S4R9$JXS 'BE>;"!IVM6QZPLDXSSY(5-%"'C6O;)*>3O<+1Y()DKW=5 M#&[6$^N/."E?!DZ:3WE]50^4V"E!O.WT'EZ=IDHY^J-D(I$GIH+F,RX)8-X& M&PE27DC$M<;(29*0),)1L *TBQ;.>&\P.]K14>?=3(_F9NKY'K H MDTV&FQAU]G: RAM8+G8-!C26(,XU/JZF!!^^3^=D4+)2\[EN-GA;O[552FC& MZ:4]GL)%:^ODZ1T[!]:.25@*QBA20N;NFE(@9Y1&#(Q6I92,(>#ZV(][ 3;L MS)'G^!_ K M+";<>'0TS6(:L'HWGA&=6=Z>DK5911\VP?XZSMG;'>?.[B?GV,NXH6*!=LG:;&#@:'PX3X(],3NS,$88 MA))C-^,%^.ZUO3^NT7%GZ4'U;6<$?RJC)FMZYY=>7:@MSM7"$A'/[Y?.@YG0 M@7/J!+ZZJJ=1!.$^+7UUGMT^:&< 'TW $(OM^LA&3SRA'8ZJK*'++-1JC27X M7*KT[(U\8C9(SX/@0D3//<6@GK!H L7!):PC.]]7>B-76,Y&SROY&[3Y%W40 M^.R [J?F!MO\_ &#,.+"@#B*$6$9@?T\?M&,[::? MUBPW8%RH8SR:5;K:.:)GBKH)<9# O.0.%-0\I\A;1W',W?Z$I#2DI*YPF%[/ MHUXP^SP:>0]T,9U!]U,F%)Y[KC$>HU,,B<@LH=F(3,.V\2-T%YT(5( M9P?>:^#\^8]L$ #,<>QQQF"&.#$):9T;V$6*D\/:$PX8/!U\O\@$/%D>?') M^*SK>P':VZ6,\1J;;S.]J\37.M; M9K)M;I]IYW"6PUR]Y4!YSAQ9!4SF2ZV2G#+'9?ZL>S0\Z_UB?ZTN4-BKZ")S MG0XN A^;YE_JZL!&?;K$/]OV\E:SFH\N<.@-+@6'*N>[.,$N6\8I?]V%KK_Q M>3>#:\]O6"7:_>)^G<'.MSHQ,.]HG:G6+&2>3EGUMSB[$GC6?N6O3 D4IH)G M5=YA7>ZY:ED%?\=Y]6RX61=8H0$DL0[,4$Z%,($["V8*%D$:SWRMC:@+6B7= M2&?=&H\:GVDKU^CU9#R=;C=9ZB?MS!^MWO-/3T7Q>/NE9]L[S\7FSNYWP%2M M0N!>8$2C]F!6#W8VF#CB-,4G6".,M!R(P47(X=:D$98;( MJQIE=:=_GZ=O&#()IV08]IC(1+5CIUOU5S<,?BRB$Q32U/+ M@L.]25V!?HD+8%934ZNDK93"64SZ9+^6WHE6+;FPYR;PA3UH%\%102(':/3 M!LSECF_&:66$OF!LQDWH]N51_"<\R_-&5)PN]'YRE/GCC=A^^>>/K9=?OL'K M/[9V/S&.4TR&()$<1QP#0CD;,8I82"^4$#RWKK[:W@9AWS=*9_@+*ZOT!^)AKUP[[O>V352IO6G7#._-4B<$LPY.(XI"=CK.F M.AA["T=U/#ULS/EB2YQ90!U)SR@W 0NH,E!RQF9Q.^W&ICN;KYT[)]3=:;GA M3ZJ"VE,QH2((@IQ94#=PP2,Z=)>-4;C0LJP2JZ&U98L/U.%UY0+;4YK_IIEZ(68 M752Y *<@\/F\=1N2PS0+"T-#XIA'*VQ6:)**!,1'TKXTCB:FMC[@AX[D[I#D MR-;;3\Q3!;)R0+$&?*&! M,J8G@3"PRTJ3( M!$M"N$P#9ZD\BTLJ(,Y!*J$CM8E2 M9CGW7%A#L5#,T]),G MAE!&NA.^EQ,6G!KA<4(IY0B"!8%DDHG( N,1@"8ME3NWE=A97)I7@4\K0&K! MST_4$U]E[%U4E7#-"EFUMN1UJ>S.ZU+?Q]UJ+NE!;@4[VEW">M3CIK_>!P'7 M_/+Q\Q>V^?+C8"OWR\N?_?SE>!.(^\/.+OGP.7S9W/F"3S,(? =OTG?[VSO^ MV];^&P*,EM=UO+WSYOLF_6MO^^5?@RWZ]OOVSKNTM?.*@8*&.1&>P\X1R1/B MD1D$<$60D$(P@;5T1IZN0754)3B2;-T9T+.]-8"-6B6C0'8%0D[7H-:;W^^] MCKEQP<%>2>4O0Y=*[+C6HMH&\$]4JM*($Y'!IQA=B3P(4#Y!U>? ")9X=OHI MDHLV>9YD)(S+G&/JE"!&:X5]%)BM77"?JY_^Y'VH 6M$^) 42W"WH#$I"75@ M40FGK5O1"MKZ4$\>VDJY@$H/Z%&N(SC1[\A.+ZEDK1YZ;0'X]-,BO\J+W$ZS M($=]$DLDZ^\9RC9W7OWXA &ZB T\:VT!<6XI6!F*(FTT"'@,MH;)"[X.2] (0=Y0[N[4[6,T2'C--S7ME-5=> M[VV?>:WN))>* ]%.2VK">-0TG\FA^9P%;9F]*]K7,?=SM MUH.YS>17.QA6G<=RF!M>B;GC<:FGF<3=7/@]/)ZE$VV_W.Q724"^M!7.F8JE M"=5D?'20NU*5=TH7G+WQM])F9IA[#1Z6UCOPO*5XJ>HQ6+SMT^)C/)AO)3Q] MKK&#&^6UE'J[4O$Y=Y%N5Q6?U0?/G$O9J3S.IVH,=7*O)[MV5"<&E<8SDR,_ M&[UW\C!F-4_37FF"5?>^J=9UP=*K%(7J>>MK5$\\[_-?I6-=J?YUHV>N: M# M5G;TS)6B_I1JX)54"O2' "*6\ZBLM-8G%9BD7@D:5V%4S?D[<:5R=6HG=,+1 M.1"? BP63(B16$5X30O0YD(>VE.VLO MFE56UUU?ZST? D ?QOVJ%7K[@CD/.MV-"DSD8*[.(OYNVE+D/7KN MNFZTV?4KN-7V5G'-\YH6M'H5S/H7U.5T5:R]#C(< SL6U\,@5Q@5S74KALY M5EVJJQ:^C;QK,G[SZ0US1=_TL/Y2G8%0@4BKIWBE[=?R(@/=;.E%W!+WLT>H"J+JM-=JJ<9G&Y@75?OU\9/4\O?2NJ:3S\I MM9.MGK+M5@_U%^J'*L3;3I\]*O*UEL+ YLT"K.7DN'9C&YM?2:G(P+96. M3?/8:C]:7VUH;GIR0MBXZD%2?H!72)G9W M4L8^U4"[.QEX,!V.\CU+#X1\BZI\M'[\4_O=?OKV(\][5Q\5K-]Z_;[>Y^%5D["J M-KRK#^KGFN"K!^NS>N.JK#<301X>,#[(0KL9 7$NR#1T7A'78)I'SDWZ33^5 M0JG_*&9\17;NQ$[UPN1H-W?6#J57Z_1LB_1.K-RA6#FO%TX]Q*C"SOF)@@Z7 M"?WRXZOK%W*M5$5'O;TC6'Z^2+33=@L=6,@HEZ?D/KX5I12DGEVXS(7(1295 MM^[W ]B7[!XJ&N4) LD]]O,M8IY:4DTGN+S#3UU+4P:C9*<;;$4U$:%,TFJ@ M<)8E=#")*'[/'\EE)9<]?G]F\)7BBZKC"ZQX>C@;TPD")4]4&>_&T:#JH[T) MH)GUXV*[U6ZH8;2A::L\<^@NE3-]HJNO_^+]_YLTL^PP;57[-\A%> MW,M#0F!?]R-5))A-_,J47%D>6=96MP2R'(WAD0:P MKKTX.A[FWH6E#T\NACL\GHRGY;=I\1SZ09'%JX>"<]6AAJLR9^=@<% U,,@& M6-$*+N>"M@,V]^[.@T!!;_*6(KM3L\$J0JTVR-;9_T Y[WK M[*#._LT=D8II./]"4U[99M,9R#?EDO.'L7E\6=V.?M;6_G1#MS*1$A86[.D> MGO6K5>75[-'J3D5G4_%G+;JJU&9_4@<#-HGUXH[GJF+16)I.Y36RK%I)TS]M ME;E;M,=0;^QL$$=3%K@2D9]W,]]3%_KY\?9X^^VG&"-C.:E5**T13Y(C8QA' M07N"=1 MB-G8K-HGV,H^U'$W9V@B9,'-B20F-M&]3!W9FHZBSSC")%X:"*MR; M_SZ?:58CR^]-%N[+>1;NS)4UCQ15OJQ*9,Z=G?7( C S)F/;S*4,55REM1?Y M =LNK3H4U:RO\6G-_%RY_$:B&<:F[=+BYO3Z\_M4 M5=&-TWIVJ3P!='ZD-;TT7L-ZJE!YUM;!->[JZ4QJ^)/>\+E:V@0QAPVMM%S< M<\_VSMY@.F]8TT0K*_F7)UB!QI6UH]UT-)SM%WP\#6:*X*3)_&F&8^5CF/-; M$_.!J,K&\.[,B9WNB&_CU)0327%DF/IM621N1@8L]IC M&V8YHW>6VN;W8C@:QNUT.LFME9KS^W']YA-.=Z-;SS^Q%$U24: @H\M=)#2R MP01$M=&"2N<(5:=/V C+G??!")8;DD=KB+4)>XL)==:PT^EN%P^,R2SZ<'ZV MRR,*K5U-@?P7*VB3INX/!(Z',/E"D[;4M0S\J7JM41AQR>G!IV, M@KJ8QL6/WU6FSSC>^*OEO6852E@34SCBE*PVF M3J2IXYUWH1K>9.MP[T%%P=6>_+)I_W5ZFV[TB.U'*U,TENK9;M!^Q1N//3?" M6_B+<.FP82:%*%CDPJIP52-B]G-MH,Z;D?#J>YV!_KS4]L2P8[_/,G;8:@;B M]C[L?Q]N[[_Y\>'S!UC?)OR=&Z^\_?9A_T^^_7*7;=)_#C]^?LNV]K?V/^R7 M9B[E.W"OHX_T3PF?'VQ]WOO\X_C[XN+,+W_4_/OS]U_[62T\_ MT(^#C[F9RS$^_O?.J\/-]_C;)SBQQ"TE2/C $,?1(N>\1=[!@0M-,(MA;4/W M.;ZHC]UM&*2!SQLP2@=73Q6N2DHS_:VCNH[JEE-(,BT)B491;"E7T6KNB'!< M"D6Y$R9V0G*EA"2="4E-$Z$B.62U58@3I9$IIS@ M(VS@5F*?!X;P0+TCU$K/$B/,*DK9543AJT- )[C-Q0_3I0*8#F6OJUJ02\HUKDR$8)W5PR;NM-H*+W9OIX+[2N-?\[8X G#.D])Q9@X M8 T5!5Q'4\4X[]P'JX-_6R]:/G9"#:9>,D2MCH@'')'36B-I#1:&\$A%7-O@ M?8GY;<'O$@"Z*W6MX^]K\K?RBI,DE,I]+;W01BI&++:::D(Y81U_KQ1_X[F% M+GS"$E.$K6.(>P6V>HP:6>'RJ-8$J"[7-D2?Z8LFE7?\_0CX6POA0,<-S!#, M ^46;)C ;'+*"Y.,[?A[I?B;MN0WPS(%B9B,8+,(A9$S#(P9Q0P3(L]%4VL; MIF]T)[\?,7]'+Z)D01N+%3 W"&Y'/0AR25)TW(3./[%2_#WWL"L/DAED-=): M>>!O0I!36B%.O6=.1X:5+=X)K%C'X(^7P1/QQ@#C>LL(3X8ZHX6Q2C.IO$O: M=@R^4@S^??/%S $9 EC@V@5$@\DL[CW2/&B4 BCN(,8)DPQ8O,_UV=F9'8<_ M&@Z7G FMO:0!"XXYMA(S&Z7A0 ':AX[#5XW#YR$&:XC'1%&D!(Y@A%N*M$$-2UD;+!/(6ASP56H )(PTR*469 M,!5)&T _UL?XUNCW$T6N#YDOTD'#]:#!\N ]Z,3:!JYUU%$%&724G@H2@NF@ M8:6@81Z=2!'4(,D11X"G1!T8D.&1XC,CA!C;7"6BPB M%SA83YW@+C&*%4^^J_U;+628QS6B8)CEZ>V&4(FXD1QIRB*2-BH71#:*%2@- M&J"A4QHZ:#BOXLD(GB3E)BG,#2:2<%XL(ZI#W\%#7C4A!*I7<+"J9TV/ 8L2%$ M+ Q+S,>D.(O8*BZMU4+JX%FBJ<.&%<.&>1A&14-%F0%@9$!@'DK !F_ IK#, M)1&4D@D4!](W6*X*.#R)EG#%2D!RUK*@(,U1HX*CHSUC!!-/"%AUFRCX^''R\/W&2_M&'E1 MC#P/BU)G$M54H,BQ09Q%FMB^+6>:12 M8NPH80I1JG)OQ@2*<](,11&(#C*I*'5.;P(C:&6[HSTYIEQP\+!3@^^:']OA M043.+2'@Z_QMQR=16R=Y2'MIT_53F.^ MPMK&+^37DU/(NRK858\5-.0):/UR3IROJL!RA]DWP.SM=DLY:DR2Q'$D, '$ M#B%4R5@XJ4"Q<0(GGQ&;="UI'C4GWVO15L?)"^/D>=@@7E>^W**ICY86Q\CRH0"G53CB!6(XG< *: MM<4R(DF\]\ZFF'*[*-%GI!/*CYB3[[>&J>/DA7%R.QRAJ"7&I80P21I,Y220 M283G[HZ,,FM2$"&'\W'7G?DQ\_+]UAQUO+Q 7IX'*I(@7GK@91D)J-A N,AJ MXU$B8"5CP95+95HQ,\LDE^^[Q]MR!BK>QR&\N-OO[<91G-AA"5C8L#\8#::' MDQ(E>'HQBR[(O(0QBYI27U=T"B#^_ 25=CC^$SC>;E9'58= %A!LZ+KQ[+FP'%Y)0!HN44,C=UKG!#AG/ M/+(J1AX922R$M0UY4_FYW%SX1#7?^XP@=)Q[-YP[#R508J6QQB!"6$3<,8E< M=#FR ):-YY(&IK,$5?0)UCPLP[B8:=PML^?])8W)'GH@_1/NX7C?#8=RO5<- M>],.]VZ >YL[SP];N.<"UH(RC8@"HX$K'9 )EB%FE0H*S'_I7#4G"Y,%Q5"7 MIGMKQ_E+XK?O./^^.']K;JMHR90(/KL+B =;15'0>&1"A">6HG":-WC/_PC8TZQK\-X\]%?J382B(8 MDO$6?"YO)NC5PBUK)(H^2IS'GAW'2< MWW'^PS=)ZCC_%IR_/1?Y6()H-]2CX'*9<-0:::E<_*LZ_SQ*(CO-O:^;G_]]G[G_^*1 ,RKWAB#*B$?C#\2%EI \" M )WF@:]$]HE>&:%_WR44#Q+W>#/RX_W8^V4XGDY_[:7)>+\)>8Q'/Q?JN"*V M^].3=:Z&OOO;W6LBWW\M;*S0R8=_-'A_GP&=[2:25Y'\OX'@.\B_$>2_:L=T MP 8G1'F+DLZ>W6 $,C%*9+674F*K4\B#?/MPL'<]'OL\/;+_8:M MIO# \%,'=/<*=*T0%O<@GS!HM=H;,&IC8,@Z&W,M"K8L5X]Y7(!.G@UA_?HH M,>XFZ7FWP+O59OT%!*YFK-_Q]\+YNST]E#&#.44^)8HXH1$9$0-*4D:5 I%* MB;4->5:+>9S,W7SO*>@ICT$=6=*(6@=2MP>I5E#-T62C(P%9:17BF#OXB1GD M/94X<"*#$+D)"0B4&UI;'29UF/2@>M+M@WV=B?0@OJ!6X$][&8+T#AD7">*N MS"'T%%F5<,[_"Y[07-A ]0ULI%5 IB=K"BUI4*]C[$4P]CRNIY*3,42-HE<1 M<1,5LDPY1)DD6"D?(RU-216Y=1;?O1A)#S"_Y<$FHD\.QL +L2YF6LD^9_0^ M9K-6%\Y(;Q)%7>YO*/88EWUNQSQDO+KLE*!VJK M1S GY[E/PL0[$U">"N93<2,@I,A,%*C%B1 M.['I.R2\)1*>T/N)929HBCQ. 7% 1J1Q9$B8[)M1 :P",.AYWY"S\\@?! KO M*5GO;ECPNCK]RW@P >(OR7E5*^/],2SO1WGA+I+UNFL\J<8T]ZSMGL3O-G%W MV'TC[-X\47GI!/-&&=AV+JI0D;'. G1C)SV7VIFLQ=(%9*LLHR.VNT:'5 O7 M1CND6AA2M;5,E\O E70(2!.T3)]+16F9!HZQXXXKDAQHF>IL4Y@'@:HGT0CK M9$&(BV!_Q=Z@>O'0?K_C_E?=-19;^[3BR1"W?_['(\8>Q+T\#Z/^?P'K M&8R.8'.W9S5BOQ>$J#ZWD_%AO\NH_1_#V9CS< M&\,[7^$CN>=>YZ^YF21]>T+G!QJ(FC DC?*(1YN02RDBA4M32:J#SCFL?7S. M=),;NVM6KN:ZNT8G5)Z04'E(TZB3%\LK+TY87MHGZ7! *CF%N*,>&6/S4(X8 M!<[\(/,4#B97K%B_64C-$*8 X#*Z9;IKW/@:%\=U;QW:7;(G?4S7^(E3*[S\ MCT,+'VP2OUKC1??M9'H&NL>6VCUPP2+@'&,!\E/&N 7MZXQF35^1?B=S\\"A&N=DG\ MLC=.O308V9&/O6&$W9BNGTS^.TL#E0AXK&1 'Y0,3N>/#D;5&1Z-[' X]O & M2/WK$T$?+E#I=[4SL5^UUS_+V^= M4HBJ]RA?-Y1=^#9>)S_YGF 7W_2R;UZV6 *7->(.%LLT[Q;;+7:E%GM'#":Q MO-9EKX@XW4 _N_*C1-PJ6C'\?[U JQ7/OS3V<&M,9@HO=\'196T!_$(%M;MX1#L_-O_'9!R._&%O4B';0S38?LR9'.<]XJ-)UA!2MTGBR*O[>W"X]^)H"EL5)Z]*0 >V^/ET M&N&_L&._/XY\#%C;QY>;QYNOM_8W7[_!'W?>[BY MT!U>/4&\^A__GZ:$_M9174=URRDEE0R.>H)UE(DG:UQPA&$G M52*RHZ*;E2 M4I+.I*2DV$M-';+":L1!Y4$Z.8,,%YCXR!EQO).2'5XMP[/=1*MG@AKCHF$Z M<2:-7A5:?5=U3WJ*GN!E+2-4DN,AP#=8Y$'SNOQNK@W]:+EN_? ML!@YXP;Y2","T>:0!I&&&*?>18XU$6%M@[ ^TXN:F;Z,)?I/GL$#"90(IT@D MBIO'!L=+)::- ^)AV#/V(&=\801SDE@6!.1;!"4$TUP]IR M&5/L7!0KQ>!S1[Z346!&%7()]'2N=$1:>(FTAE/4B0C-8Y'@XIQFZ!V#/QH& MI]32 *:W!<$>89,9&2U)P-NB.PU>,P^=1 MAF H:52R$B7$/?>@)8>@<.%X1%;[[#V:QM4]"E=)C_;/8TU>=C00JEN:^(( M/]=?^KH-JVXSIO5TU>#CP[_HA!;21B7 D!&>6QM M*$.(*1AG#9)*YUPD$Y&E"B-KM6.62$.M7MM@I,_THG(GEZ9+< <-"W%?XA"2 M)C82ZKB4VA*N+;/P"G,\I@X:5@L:YO$)BZFU7C&4I+*(2\*1X]@AZ@UC.FJK M15Q4?&))H>%:Z^EPXZ=PPU"?+%A06E- #( 0XX.%UVB27D5G.MQ8*=R@+:^H MC2'1B!*Q#O$@!'+*@8:!F68,$QD9X ;7?4S/3LOM<*/#C2M,$6H# XTU4>NX M BFDO&2>:2XT4'#K:!!\I"8#L[%9+F7W*AH"1,R6$6U)K*#AI6"AG8!(M M_EZ4X0)E%$ U(FJT.YL!\.!M_[IK=-=8V6L\M=9Z&4GR#)F#NV^Q=Q-]ZW&K M5/<9,C\=A^GP4WL?)UX&/T_?C8>@TIYMH3NW6!$9 MG?O;!2JS[Y,@PZ@AP0H2%>E$\:-GX_L,?'9LO"@VYBUY'#"C@2#@UP0:-?"R MLUH@[Z*0DC.IA5W;(+1/V:+BFQT?+R$?+SA*V:G4=\W"[3BDD;E6A&J$L:>( MJQ3 0.8.24J8L58QYWFG5#\!+K[/D&''RHMCY7ED4!,+IK W2 -1Y90"C*QC M =$@"6%*, Y'MGSR^)Z"?[.A9JT!VR>_V5K.G.YG-D6C($^#ZY9PX7U7AZPZT;P#:V^V>>#Y9810VB&%! M$*=<(BM91,1%.#$7$M4)(%OTM5)+5*O;L?)R1R4Z5KXO5IY')[3ER6&F4*31 M "M[B[2(& DX6Q5\BB0WUB"RKWG76>,1L_+]EH%UK+PP5I[')WAB&,O(D586 MI#+18$CQ7/\EG!-1 *?CW.>.]A6]=0UYQ\K+R\KW6YG5L?+"6'D>H^ N9P=X MC:S//A$X/ 3@+)!APD;&+1$J]Z3E?:U-Q\J/EY7OMY*J8^6%L7([5B&BXX$D MB4P2''%L@(_AS!!V-A#%HE 8KVV8/A5==\I'S,OW6]S4\?(">7D>K+ X>$PX M1E))C3BH5\AY)9#7%%NK(R')E%DXA),E8N;[[E*WG,&*]W$(+^[V>[MQ%"=V M6((6-NP/1H/IX:1$"IY>W**+-"]AW**FU-<5G0**/S]!I1V0_P20M]OM41Z) ML(PB'WU"G-"(C+,)12F%-#YJFZM159^91SBIN&/IAXA?="Q]%RP]#V0DSH)/ MCB/K2$ <3A&!.B:0DU(RQA.-(0%GZ/N,8'4O?!4O/ QHI$DRC MPXCJQ'-+<(Z<\1HI$0*CU'!*9':@E9^C[C&1U+WP5+SP,;BLG< MRSHB%C$HW@84;^=SN@$E22>#(\LQ2MGGYM9QC8ZEEY>E[S.NT;'T7;!T.\!A M<2 NQ(2HS\48/A%DJ^&J0?M"BO+ MI)6(4.$0%T8"4X,NSFP N'::!Z9SITI%1PT6%#<)G$0P1?4(1W:5K<=IR_:E&%CO-OR?E;ON 0U M@&"/N$X&V6 % L,V$2$)34F6SM7J]O7I'2P\.5BX[W92'2S< A:VY]I"#F,$ M$0(*/+>1 ?IXX6-*E\VUN\T@L<11^EP MX=:X\&:&"T*FH&CN7\6T0MRR@(Q)$;% I0A1>)X;Q'*^B$F]]X4+]UTY\B ! ME3;6,IX]',QE"N"QG<[ ^S^-OB:X/=?=S:ZZ0;D MO.2HOX!XT4EHWVZB@15U_QMHNT/W&Z'[JW9GG>-(XMDH@]LO]QKZF\,#PTPV4V [I;H]T MK3B8UF#6XB@1=A+46,TITM+G,'BRW@= .Y\;LO;-.5KLKW?#(2N4XW<+O%MM MUE] ?*MC_0=A_;F2DT0,S"2#C#(6\>0\L@HKI)B/)*G 9>G%W(?7G@CK=Y9: M9ZD]8,2NP[?;XULK:*<"-=8$CP0V"7%L([+8Y=DO3C*P[J+S98037]@(I\Z, M>\P@MTH(=Q-=;@&AR4Z7>Q"'52M,"8!F,;$:)8D9XHI99 GUB%L":N+7 M-FB?D;-@]SB5N2=KQRUI]+'C^$5P_#P J;R5T16CC5/$773()A)0E(8RD;AF MW*YMB#Y1BYJD<[=L_P S=AXH OEB/#D8 R_$NIQK)?O0T?N8GW.SY!0&E!?& M1VX83U+E;2[_&)9X9]U89[RT["JN\,E'D'(FR<"]2SJZP+5D+O$0>6!WXJ[L MTFUN)>W>M'V5@GB">>ZHK!A!/-&$G.,<*4()_)<$SVV5B>P+>K9/:1&TI5]A88X*/3H<[L?8[*+PE%+85?X:M MY,IKY*)0.6X3D5:&HTB=XM*3"&=:!K(1?;:AZ8-@X3WE%=X-#UY7JW\9#R9 M_26/L&HVO3^&Y?TH+]Q%7F%WC2?5G.>>]=UK8WN;[CM MU;_]7A"B^MQ.QH?-P6@\&1P>OX&U3^+T\/DHG+S*J_\885C%Q&=TYWC1M?X^)H\:T#QDOVI(_I&C]Q M:H67_W%HX8--/ME%4V6);A25P2B 3'B&S.*'S(IU?:5;A5Z6/$?$-8>X+M89 M=(TUKVWTFH'1)4H9YB.C9YWDRQO7&* [_T+\[H='(<+5+@F"]L:IEP8C._*Q M-XRP&]/UDSF$K3/?MY/=P0A5D%\>[/%1 7U0*CB=A3H854=X-++#X=C#&R#D MKT\#?;A I:=/C6%VMRPO.O6 >:R='AQ5^I"3&?J#EI(OF8'_C^ MK8)R?(R=VK_6GWN3.7+N1N0FT7Y!-L%BG]GA-WL\7?O'R4>$YSNUI=?;C?K9 M-_ZWF\ 5SUG/I0S=NA:AIQGVQKXPF^$\/S;.A0[X-Q%NRGX#@VTD6O))8XLA2%,F+M@OL88;G+WQ6, M<_B6-<3:A+W%A#IKV+E;N("-N&^:V]F+8!4".'S+8T>*M)[V#B;CKX, /TP/ MQ_X+RO"6U87]S.75'M4.*O^K8 M4WW]^NWU\M8I:ZM^CZTSQ2Y\&Z^3GWQ/L(MO>MDW+UNL7J="KLA:S3K5/W?5 MA]A7S7]V/8]EK9K^'!=O=[96<3W*NB)WX ;F])4?Y>+:IG>M M6UQ>I'=6E;VGC(53NH8Z?^S9WB3&WCY\;@^LRU%6&]['@\.X[\"<8+A_PAUY MCZ= R:*JB9?^"&CI:'UU>LB53]MM9MY,8FY"LZODY5O.M=/^ONZ[;[C M[2YS6Q^Z[.>1[&4'TAU(/XU=[T#Z@4%ZM8L!KI50]OX"1_U=E +\=);0D\Y0 M7*7TQ)LT&J1)>T8)#@)S+H+QSBDI'8O88*EXG?.NKCWUXOV>G<3?,R&_:-'Q M(TD2?'6\]7IK;^OU6_9QY\WW#SMOQ3;<VTN8Q/BYI MY^_QMT_&&S@-2O.P"X]XB XY:35R)@3E05@' M87,(LSQXSX/6-G"MHXXJR*"C]%20$$P'80\"87@&83CXZ.%8$&PZ0)@D@%[> M6*2C2,'KP!RE:QN$W;KEX2HUCQY$.'A@>Y)H]PCA3AF!$^2\LPJW'!B MD^!"1B$8ISP*51?[JDN*?3L<6SR.?=^M=2#V%$#,,<*#)EHX2CDSVH""9L% ]9C4IQ%;!67UFHA=? LT70-*.O\9O>,H8 MDE,221] N@/I1[_=75%N5Y2[A#&?1QKPB4YH(6U4PE$N M/+667B%.1[3=?"M ['%@UBK M8M<83!+G*%@)("8M1]8PCV)T(1+G16)V;4-VZ84=A#U1"%O K-!.1;M7=)M7 M[$H:!=,.(X:%0QPGC'0P\*NP3H&BG;"A:QNLWW4DZ#(/GW;FH:$^61NMUA14 M--#9C \67J-)>A6=Z5!NV5!N7K$;-'5>.HI((KDO@?2 YH@II,EW&DG0J6E+AV^M2E_!:;"6 ;XQ M$D!78Q@Y[RG*':=YY !QPF:/&YQIAW =PCU)A/.&4NP%%T)JGCS5QAB=&),^ M8,6"[A!N^1!NKL%A[#FE3"-+#4><*$ XR0S2E$N>B*=PBJ#!]95>#1WN_!+? MRRI\5ZD0YQ9EF-T2NR5V2^R6>$=+++C[CS*G'OX.@Z\;15QD36$P.BIBNE$J MMH[V02GQIWJ%6&=2H-0G9KA5R8%@2HX%KT"CD%Z>&[$[I1SXO1B.AG&ZG5Z, M1SD7?5+NNYW>#:9??C_.?_X31-=XL@.W_7TX]E]64U\8QO_S[OCCW^' @9"& M[^!-^FY_>\=_V]I_0[9>?LCK.MX&'6*3_K6W_?*OP19]^WU[YUW:VGE%M]Y^ MHD$I:11'L-4&<>\Y,L$%% 7S6'*=N('-C:!4'<#V'DZ.(IPR'&E#-/MVLCL8 M51*<-NK[8!1@QY\176CBCG36]"+EO#S6[%%ZAWOVL!>MW^M9[X&+#V/(RG2/ MX/_NP5_[XTGLC5-O?#3I'>9*B-XD?HVC(UC*MPAOV2E\>C@51 MUV;4U[]ZP#KCZYS*A<]M)WQ=\.L-;K_9>W]O)\>UF M"8^F+\@?<9(797<+$)5RK-Z[!H0R5!WNQ9O49UVYB^8&?2M68@=W]B8Q]C:K MUBJOKFBMLO .'H]N.TNCFFONYFUI\1HGL'+[=]NF,3/^*_H1 M[K^Y\V[P<6=K;VOG#=_\^P/9@N]]_.S9UN<_Q>G S(>=YW3K[W?['W8^[F^] M?/M]Z_6_AIL4UO=Y]_O'SW^23?K7_M8/3[=VAJ7]ZBP)FAC&B0X>.1\XXIH: MI)GT*%&5(L;.DCRVB)Z-R?SW713Y=VQU%5LQG+UF*5D6*%?6:QV"H$H$S;1. M25_1ZKACJ[MDJQ\SMN(Q">4)0]YSAC@A"1F%(U+"B&2,$-1GMCK;N+UCJX=A M*\]IBI$Z;AUGW -7)8D%,Q1X1TI[11U/QU9WR59D/DJ4>BZI,RAZ01"WGB C M*4$)A^2E2B"R;,=6R\-6F,$_FF"7U8S@@K&<.R^LCS*1F.P5*3L=6]TE6[%Y M2Q;*K+-2(":$0!Q+ABSUN2&_()23*))D:QOL*K:Z;2/:E3()?U]$1\;'R/-< M"J&IT-X8P[6VUD8NO.-:6>FLLIWA]U \/\LWSCRO"(Z:2HJD-@IQ)Q0RP2L4 M52 V"%"'I%G;(&<;F/R<*+V#5+?58)[_U6W7W6%-3ORUUFFPID!MC\H)X268 M5T%YRG U3;93VQ\(:^9JNR0A8,VBG$P= M\UR+>9P6R7&IE4B41TJU L[11EL//QN2.N7\ 9FGI9PSG(TEC!SF*9<&1;!Y MDT#$>@R6E/$N)\Z3LW5!MU3.5SE>\V(1YOYJ\/S/Z1<+]&RLUG;=#"*EBHDK M87$RGGO0+[A1VDEL4N))"=-YVQ\,(@)$)P1(AQ'Q4AD>(G8^^P*6T*W^F)F'6D4-Z'8(M*.M68(5RS@MG#(= Y#5\ M:4_*?_ZR\Y]?H',Z&UT(&EL1.8O4$1I,XEH%QP/VOO.?/QC;MQ.GE)%6$Z>0 MH)HBCG5 QK&$? PL$D>4=-FGQ3N?5N<_7UJL"2$YGUL[NJ1X!$-7>"N-"#9J ML'$][?3S!\2:N7Z>DG94$(<($QO!I%"R-PF-0>M H\R:(U3 JLXWMG$G[Q. ME O#D>,65+*(#=(28-(1K+D2D1KI%QAF?+)NC"[DT&W7O0KAD^U>SN\985:X M;4;]YK0WB3X.OI:V%WLV])P=YDG%T]P_ SYVN!=[!["D<9CV#B9Q&LOU;M!; MXZJ.(VV:6+[^&U*M8ZJ[+A%S3BKYJ8G7'^O MU\6UMO)$OX)>5SK]TQOY$HBOVD>2][&KI.XJJ6]@@1I#3"Y/"]8&KKS0QM+@ MG&(.)ZM"E^1ZC@7Z'[YN?G M JQ/MO7C+3YM@7[<_Q>L =;^^:_/'_8W?VR]_O#MP_X;LOGC(ZSAU?'FRR]@ M?8+U^O)=F@THR$XZ9J3SPDM$ L]!=!Z0I1$C,#X5R7747L:U#2:7S_I\FFP5 ME$F8VJ2B(9PI;6/"@9CH:;+8:'4JO$XH(QU;W1=;S2NIG?&4!<:1\'E*6\JS M* TP6/382 8'R'*="M-=;+VK3;NZ*8EG@FOLA).8*T*L$EJ$Q)FVQNC .U'Z M8#S?CJT;QZ006/\_]MZTN6TC:Q3^*RC=Y!GG+4"#?4F>ZRK%=CS.1+)C*Y-K M?TDU@(:(F"0X "F9_O7O.:<;"S>)E+405$]-$IL$&]U]]MUP0J1YVW>,*$QL MPP89&@;<#8/8/WINWT3S*MYUMY&0,([C)(J]A(=NFE@L-CWN9BQV;9XQMES, MK03F0Q)/*S"S.+)=TPT-,\0>"5G@@, , VR9$+#(] )N8;V(J>I%OC49K9?N M]=UH/@3UV$EC*PUCUPU8&)J690/MLTH:\HH#6&*-7=]M?]%L?W3 3HAT!\7S-C(A.>$R>W+6/ W3H3HHJQV=^ M+/D0'K[D;>P*&6CGAS*@9K8_87%5#&?3S3]9%[)#A]U_#\KV M]B^X$9>%\2U>ZW6W(LS__W[B$%=?L9PF(0DK8 M29)&,8M#$[B<&?DQ3P+?]$WN9-P+(F_M&Z\)A4H4,Y!(.[NZ!XALI,GU4R9> M\^*B9),!,@WMS5@,,\-K6+RJ^QU^\I[#BDD^S.N1)Z+'^B]E,?K +T: P]5Y M 6*>O(ALRM,G/ /%.SOY*W1<+PWMS+#2V#'(Y)2P Y 62R@2&I-:YV1@9_+C*JVG]GMAH9$>SHSQ MLE;.@-MN/F2%]L-K73X/L>][*'4S? M.-24'IJD,1(WP]4DC9WO3V7NJ$D:"JGVY^(>)_\+KNZ1!'8]ANM^4[_NP@MY MOUDT>[O#?F_RCE([: HXFM3[2T@GY-)A*X2TRTE-K0\Z_G??=,3M1[GO501N M5J4K.6J6[X:<14F6N6GDA)%O>TEH9H[E1#'S;B@^-( *A)<0UOHR_7$\&Z7% M5'Z_ZMAK''DO"@S1)=,_\^F@CI&^^I(,9WC%)U7%X?_I.?O21.RV==T]/;//[Y^^CNQ/KU\__GL9>*>CGYW/I[_.OSX-Y8@_O[U[/7O7Y8# M=K"NPYLM3\]/+7Q8S7.PX M"GQFV8856]QPW02[+V>!87F9ZS(_RNPD.7KNZ:&[VG1IO?U[&VZW Z'<94*- M8E<'RJZT7NVISBB(GL[C+ M7"-.PLAPHY ;4<(\(\Q\UPD"EYM!!):-'IBKZ>V*72EVM9_L*HVR@,5>$#N. MYYH6C[@?\C"TG"SV6<"3&Y*;%+O:+W;5]LN)4LOS,S,UO,S'?O.@7<51'!B. MR5@6Q1R^IY;9>A2L]LQ1_$KQJ_WD5Y[-&;<=UTYXZKJV&UI>Y/JA&SJ!$X>, MW] 05/&K_>)7G1;_*2"M;25&FJ)ZE7F> :JS;R0)CWEJ1[X9@GH5Z;Z]FK7] M>.SJCOS6/?"[O3I]M;ENV=[MQ&LY;K_94N([<, P\&/?S5([]-(T,!U 6QX' M7IHI)U5_V-+"B##3YSSR+5">LC #MN3CV!X_,,S8]0*L1[>8<_3D5?7>\ M.J'KL<2-#"LV$\,-'-=@EID9L9=Z(> 3\W0D2 M.[-"#'<"D_%4^4%Z1>"=<=G<=1,S,0T>NS@4AT=&:&69846A M[V)/DHAC0TQ7MP)%X =,X+$?^G[ 0P!SX#(WC4/?=#W/3#++P9I@Y3CH%8&W MC@/?,YTXRBS#3-'1&8%RSC([,S)0SWTK!7[NLZ/GMJO[W^[HO$,"?T(9.^]. M-L\BO(XO;>NK[35? O2T>>!FIFT[P)42%GF>&S+',L/(YDFL/ <]XDO=>G20 M,B%:C89C(E]*/ <5C\BPDR!-L]3T A,4CT#WO6_6._8O_J+HN^D>8059#%:F M'\0X1C,-TR@T6>PYH>U[D>. [Q MJZUCI97!F MQZ[K)DGJI43@GK5/!'[PI7+GQ90-FY8:N_IFMBZ2/+2TKYW/?S <.G(3WW0S MSTQCTS4=/[+!GHJBV([2T ,K2[E0>L2AN^WD;=M/,M^,#-../%#!/--@KLV, M%.RNT$Y8D(1<88K"E*N_TB0+,LMSC(;L9EY7LI P#L.R/)0 M=\)5:_R.H@*[E.<_9DQ025 E09?X8N!QQ_6<.$N2$"S=+'8CU[0=CX6F;7-F M*B=EK_ABQTEIFJX;)MQ(S!3Y(@L-EC)NV"D(4&8Q,[9BA2D*4Z[^2H*(!Z'K M&FZ($I0[CA$G,3.R+&4@5%TO\)*CY[:E1VOJ&Y4$O<4PH: [;(N&TPQ_8-,S;]T.&9:8:IPA2%*5=_17;@>9G' M#G#9J02G$IQ[*3AY8O/ \H%&W,#U M8R]BF9UFOAR)DK-/ED6.#D(D0+C1%>X!R69@8+SO&"_XLY M*]7!3%GQ@V/3#M4L$-=[:K- ?EM&]QW:]3]RM_CPV-NJ7_S"K MMR[;[MYBH MUY/K>,D3>1L6WL;]]-+O067A'V RXB24*9O>8:*@\C4=GJ_)3$*6.BGSL\AU MXR"*0#5-@LR)T\#B61C_]>:;/>[ORF("ES-_-V3CZG75U>?SE]YG_X>?C[[FE@K'H+S M-^;9RS=PME/W].O/H[.7[S^?_OG&.OWSX]?3\Y^'I^?#T=L_?W?.OOXG.^U6 M4896Z(8QRPS.S=AP/=\QXLBSC(@Q)\02;^996$5IWUG_)>5(5\QM#TZ]2\MQ M'MN!R0(ORT#]]<"*LUR7>[YK)CQ*(@^9FQ59MF,IYK8'S*W-N8FS.'28E1B. M;]O W#)L*9Y91LCC)+%2,V!I@"6D=GA7G2L>P]D9[I^S4SGHOMU!]V8\9>.+ M''8BG&_ %5X717J5#X?GN+\G[&>SWO[^5V:S@#M>:E@V:"^N;SI&F+JNX46! M"\PXM1Q07&[VLZV?T;VOGK<+B0"[.MGVSIOFF<>VM9TG:4_<7KWRT?5JLW+>9O]&K;YCI>DYX\3 MKKT:?YV/MIM">2>C' _C!L^*2S[4?LZ+Z8"7(*]GL#%UA[O=(55U/ZV9K[4Z M_"TS7Y4#2#F MLB/RX*,.?S[[^^O?IW[];I_8K#_XQ3[^B$^>C^7%T^N5L],=\V=ES]N?O MWJ>7OUMGKW]W3D>G\[.7?\#^/L,_OW\]_7KQ]>SO]SGLW?YT_FMVFIOSQMGC MA;$3AI9M)!YGAFMGEA'[D6W$29*:/,I\ED2[E>)9J@_JU03V/32E(O,$(?H*?9U%^S+;%/Y MHY3'3NH;ON<@^TIM(TK3T+"9%=BN%9FAY>P(6L8R4$N8QR+7LNW(Y9GIN(EC M!Z;EN,YFH:5 >[>@C=W$=V,[-@(W2;#@.S9"-\X,QD&)"+F5)!'V)PYZFGC_ MV'+IJ8NFPY5.EA]FGA>&W+<#-W!8:'DLY4$:Q %WW[[;[NN

^"%+8\^(G-@WW,B*C-CT$B-)LL#Q0I.[?GKTW-%!=>EM#Y/U M21;.8R59J$2-OFYQBUP2_#MRP7P\8X)(-F8H>/=6%&,>>R*TNVL0/PJ/(W/S MUVNBMTM$9;G74-6V=XHW1ES<"1,>9P%/66*Y5AJ'KL,LSV;,M&+FN^Y?@7ET M?>&193] FL=*^,86(; IURSW6+OG_*(7)4_SZ6]%5?V2C]DXR=GPS;B:EC-, M-MR3E"+G](64BW\//G\\!SGW^O3+V]=_8 *A>?;U4WYZ_NOH]/S4/+-__PHR MT_HT.OM[.:7H[>OW Y!S+KS+_40)A+\[9Z,W7TY''[^S$'H9?Y?A2Z0 MQ&CK,"RTKM2S+3OSE!*033->A0#$H+9J A8; P)#Q,F_H MYO L\0D!GAO??M_):LUQ?BG*%K%X]78LD6M\\9XG/+]$>JWV*6OM,5#LRU^< M9:#=FJX85.0FH6#XDW-#R@RP/#9UCV_/O)T%JN[RKNTOAV;:]_KZ7\9T/2LXI^6D,W_UO7/[S M^0A^-*@T#D23T@. RL?L<,N1,[W,K\A(-HB[<..'1U"52&,=_]MP+.T&H0 M+V9E"6QF7]PWM]4AI/OF#ZQ7&<%:7]Z>PSZ^_OX%VP%]_/L_L-9P=/;Z#_OC MWQ_AGSSEZ_@?8/\#/;\]L^/YJ?S3_G9W_#^ MOW]9K(>)0,GPK2PT?"OP#3=T,H.%?F:$;F Y46(RUPJ.GCMN+P(0#SW@]5$) M4J*^-H&?%ZDV*8O+O +(J+FO]]@,=*5$3]PY,"AD3,+4>?5EPL<53Q53VH4I MM:,EG-.7%]9?GAL[KA%1H6_9/=Z14*=5I1R(%2BA@/SDG[Q0;89>Z"C0H?ID7LVHXUZZ $*9\#-]F M2IWJ#_^2<)TK]K4+^YIWV)<#\/2]*#,2._ ,U[%<(V)>:@0\L&+3CI@#0+PK M]K5_JM=>WK%J^G+&591\-4H^_\M,8S>+T\S )%+#-9EK,#=* MC-BU/=?S8\=F\:T[NV"*S[X$SL\'7,;!4=03.E9:S.'O6C4;P:9AK4IC22), MEK)!$NRWS"[P1PF;\HNBG#]2!Y@H.@[,X#;Q<2S#-[67;*Y: MUNQV<5BKKR[N%A<765H*MT:I;>@#5=>W>ZLDNCC-$3>I+G"G"Y0^'W5KMT"[ M6'ATGUR6Z?O[Z%KNUO[SPL*/[LB/\+>SYT]^)^VGT?O!I].OGLY?_&9R.?H5__C#? MGI]ZI^?#SV]??C;/7BZU@S,PA]QXJ99R96NEUGC!UR+Q27 MNR,NU[8%,@,K]5GJ&(F76,#E7,>(>(C\SG)"#XI>1 M.Y9C1W8,/"[V7&P,8\9I$&")*T^TKIVN;Q7B^9=I9[!FF'SJ&&[J^ M$3+.C2#A7FA%60#\3G$ZQ>F>-J>[JU0MQ=/NCZ>Y;\U79_BM\I?J?XW9WPNSIT MUK*[UV5158K#W9+#Y0V'2^PH=3P6&EGF)X;K^[81^UE@!+;K13Q,;#]SB,,% M5C\XW/K\>T\U+U5;5%M46]Q4"[,Y]Z2N!P#&QZ_?D7KRT)]4J**>5*CRE)]4 M8%5/[H(JJYW:Y2\V5& ^IYZLJGCQZ1:#J;VJO?9IK_M=O+@G]1%;UBB^Y(DL M4:3&TU:D2A15B:(J4>SEQ:D2156BJ$H4^W9KJD11E2BJ](&'3!\(61S$L158 M3F*[GN>QS /%U^;4@),'WK;C,YY@^F?Z]Z?7_\D_CMZ/X//\#%N)_9T./IZ? M.!_/WX_._GP#[_QY>/KZXVJO/OOL\Z<_?\T_O?XT^FB_<IJ,S&_>6#LY> M?[0^_@WG>_W'U2?1\+DM40Q9:C$KSHP@B[CA.EYBA#Y+#.Y[;ICXW'0=_^BY M%7J]2!90_$SQL[OF9SPQO2!Q \=*0]<)S=C$X0VI%P(/\V.'*W[V^/RL+4;T M(I]GCND:24F2 MN7:NALDH)S%OFO$ M3IQ9EA6&C$5'SVU/J6>*GRE^MAL_4[6&>\#JNK6&S+5\-XT!HSTS XV->P9S MT-$6^V;F9U869USX./##T)T65X\H_ MEGP(K[CDLLA0&OF='\JYE&;[$Q:#;3:;;OY)9WYEM"Z%^.%=%S2_TO$6;Z?[ M;]P]N0B<,.%Q%O"4)99KI7'H.AB>9,7FU=$_%^\%+F4)#MM=X34@7@'TTO#01[IK;2,BKN[OGHIE0\^Y M3;$L_##<_.UM*^_"X#BRMUMVR\*Q+5VD<"6/5![WYOS5J? $V<=;Y*7WYERG M)V6;#R_^^/#AS=LS[>3L)?QS\MO'#V\^:&]_T7YYE 2TGLZI"_S$67,%7PWF55UJ1:<6LU#(1 MQ&)#]">G)'3HN9)7L^%4/#;A)8G&2JL&Q6R8:C&'[UFJY6/\U=^SL?!/7^73 M@3:%K-*_(G$#W*JH!\-?DYB$A\8X51X_*?FT M@'+.\!/MKW:W:XU*TK:W9RS4N-C/&5=\"K.4%>]MK< 9T?PG8Q!;1DN MG5N#(_][^T5UC<$6\B$\T$#PPZL7M!J/2[C0MH1@/JCW#1[ [NVW^M+ # M^LSZZ8=C[7Q+P*#JQ7)Q!U>L3(UA47Q&).Z G=%L.;:B+,Q?@OW]X$3ULFM M6:_P,]HZ3V8EW#A [M679,#&%UP[2:;XM14Y+IV6C<2%T$&.NH\=T=YYQ;L; MD+>N:_%LJC' /$ ,;9B/")6FA:[Q+Q/8C81FR2_@(+3+&6HM)0[BGN./*R#< MJM) MHXKO8,C@ D4AADGG+ DY9=\6$S$RX76B%/ "UH0^,\,%IVOV2=NK0"= M: SZ%7R09SGL+YX+FJSP.^T*9#[0\2P9X#U(&([87)>@JS^ZRH?#Y<_$*9<_ MC?DPA_TN?\S@_4D^@;TM?Y.#7CI.ES]-D+,L?RCXS9P60&B(1?)D _54$)/C))2MS ;)C[0->R#4HB#=;S>*_X?P(AS*O/@,$ M@?&!I 3T)6RC>E9D%EK&DFE1(N=@4XT.IB4, 0"?(['47*#F2G XT9H*;$;#N?>@BJF@P(6DEQ2\*QWP!"T-V]T[0WL0+-.?JP! M]QYNM-Y, ];L>OZN-:Q=++OUJBN_@1'.^Q] M59Z5]"31]W4XN8/X@Q4!/>!7=/3+G%]5>&+),5$*WKCA=K5C[4]D4S5Y"]0! MXJCX?V?X"HF[*XP,64J-7,TN +$$\SW6_E5

.EKET-0!AI5\#MV1RN1]+< M;)**MR'3NXY4,9XYXMJD +K4I-P0Y*+CH@-VB:BJ)2)PK1$[(@$-5Y 6M%H! M!)7P";T7?PYZ'SY:P@GS4E 6FP"1)61.#=G5L?:QF$GU2!<: VP17H@T 1Q\ MCM=X\]:K%E*U_.@"BXWG EB=VY8[W!6&&VW&'5T>6QKR_M'S;L^F+9PH:ZWR M![0_2*_^N1;9;P$Q$1);;OQJ< E&\YXK6PD($@DKV':12GLBXJ3-B45$1!]Q!'P>MHE4@$91FN#5"Q* 18&E:%.>#,9P<1?P M1F(2((]J>HXY)UL$A7\QJP#S00C"SVB[.>I50G5"HD92A_/8IFGKQ'^*T8B7 MJ(C!S<(.\#'8&KU^/*.N,[#G,>RAO3(0>B#J\93PR03N8 I:LO:B2/F7G#Y+ M9XGD@?"J"9#CF)?5()\(%9NN%BX/^%0)M]<_K$( ,6T"5\EY63/9 2N16&I5 MIAA-9D(G!CG;!1ZI-66.8,OQ(V"FZ24JOU(G^4 $_"I 3QBJ6![4Y0\L&#> MI%A6]?L[TJ:6\@B15Y?%L--FY$YOS#_VMKBR-2Y@!*GAT*^7./FQ@ MUX'[T[WL>TM("X$AD1Z,2$!&@#<9(S4\YVC.3-%\(;D'N ^Z.=!"2^V$[( , M?)KCT06PIPQ%_EOX:LU*&M(0: -2U'9(##A$B79-(E!@"FPLOT#=S,!K ]&[ MB'5L>%& +3@821Y7LDF> G, =5MP!# ++H3-M< \:DXWS.,2#P.GJ"^!K 9 M.AI.%ORT:+M-I;Y#AO $DP=;A!L\PRM& M.H+'X,W'VAOX+I6.#/3&P..+9X-M70'QZXKL'ICLB PNT&JI&A !/$8@@M#H M%90')$)24]ALN%)9@ 3+$VT [S6F@[*870P G%H%.,G)QX)4 7A7C. IH6UB MLCL N+Q@8_@L&?!1CIX(>A)VFZ"FU&7"0D:3K$#5ORC0+<*$>:B1^!=4N"!; M88_P=VF8]TPR(C\#9:?(3[2U_&0&Y%FBG.,H_Y?P77K#B5"DP[R27N2& MH&IG%_EEKD'05O[5%"&%64M4A+?3^00A#\=AI0P[ '+@Z="#1C90.1O+*,>E M0 M!D3?^"%ZL*I9@@?+9D.-C^(BS95^_FB*0D<*;90WTLE5@>DU'!J-S"/A922HF-AQ<;>A,+&A5# MGI#***URM".^SD?RSZ %@LI8?Y, ;M"SG>7A&;#1XF((RLS"Q_"K?"SJC/*D MHK\OZH[+,H,BJ4)M:1[4%[AD5\N40DJR7HE7VB;$7=%>=?''KH[46;WS[<*9 M@'/CUXU)MK(K/-?"0YV?"\.WW2'<' BVW&C(!VW.KA[9*(K5=*.RC;('E.I< MW)ODNC(4U4BB%V -@/S?+$=4[MISQ]^*6ENW0R8,"2$SZC(Z)A4'[FT]JS7O(1Y66PQJ/7Y"]D13*K! ]K MG-CUSV106%@9PKMV,2QB9*X+KR._!#!B=$K4$<&N5%IPH5<8?!$A9]QYOJ(> M-\K+!N9(YBWYD4E&@(0224E2I"PX\!5.WCX3=5MT!)%V U9@#%88:0,^IT P MPGY6C@E;*,K969@<$N*50FGAC?$%R%)PY+1W]:;/V_>=U\8;XMMO INTDPNP=$D4=_.CSHI+=%E7 M"K>^$;>:ZZV3S$0HK;G?=X1)VLEK[=G2U7>STKBF '+7 *G='H#*P*%\6](8VNDQ:P0PU DK'6Q LM4-\U0TNHOLB"8+LPU;P MS&HO"6C[(":6,B9H(ZAL-7%"X8_OI%10AC+8I_BS"M.BX#="G1*_U&I$70CJ M9$4A7++T!_@$8XD8V\/,"FSJ 2:IB)*.*RR TA =P)@=LLL"=;BL9&"14G8? M931?E'D"ENFLK"UQ?.&"9T=?3==8?WW=VVFT1OFKY1!G&VW2GAV=O?YP](-0 M[(HA+%$RC*L.,$L2K"^1>?[LZ-V+]__\+_P+'L4W8'PTGY9%QZN1YNQB#)(? M;/]N9 NSK5B)+A"1T"4]SW#$9N;0)LU JI%X39(1PL>4=0(*\'OT<6@?VI-\ M0&,8%]=A\>08]DR/'/W0IH1D>4G>:[PIJ;\@-Q6X4:OG'3/^'Y4&_/3#7V9A3PO:ZS2>%(5:L0WWRM=4,[@$-MN&0Q84$2'M" MVNO)$,B*GO[MMQ>-;T&J['6J^\(+ (N["##,,W@3NL0Q:MZY^!:7]=9ZU$60 M,LLQG#V=TS%;7-"U\T![O_"13-L$$D'20ETM*?/)%+^1N^@;"UPP7V)^,:O# M; (;E%Q](*NEX68,LRLKS&+19?@ZSBGYFTU(UM34T(F\R9PQQ/^%_"_)L,6G M75M%F-B"*0RQW@;6!/8\TJY8&UN:%)2^2A$ESJ9U<&4RX./Y$*BO&(.L8\@A M__T'\!J,T*$Z (O#!^0TQ @7;)S2MEL/;II75!Z(OQ"F/46R!).0V>)CA&HE MOJ@JN0T T1@83)*GD-=!YXE^D\&@?))M!KB?2S+07+_^?X5N6*WS*\DPW MP>^F&X?KI'/4-3-2;%RS(_X%76*4&8\E09,Z4E+$5 , @.%?@!M6&,RO94T' M!P63[>8NUN<2W!]4';&-)0' %OW4BZQ]NPMD A^;N]'IU8%EAKH UP3,:Z T M$11:\HH+VFF^KJ; []$LKY= U,![7GR%3%Q8=_GB&Q![(/ I8 5"?BRB483" M=!T3!DK,D ^% "W*_(*>^2 420#XBP6)UQHW2&Q"Q23UD((47=W MD1UQ(0R MK2D/4:;X(N0QO Y^\Q3MLF* M_C#(08?[%QD*KT$1P]V>T\[)0X<*BX[:[ #>.#> 26$^[RRN@-;;7:V&+U0)N!BVJBO-2\5B=ET0Q<(F>D>*>U/M%5 MCDFU[U(L:/%%58P(!^$2+W@+!GI_/$0M6D90:F:5$*[N4'+]J'GK'_@%Y?;U M3]T1E9;$H!O',U#B]*IH_U[)T_VHO>OD-+Z2BB:"\(QPYN<%UKZ/RM^.];YK MCKM_9U+1H4.,#E'-8J')6JR\JA.G>9V(W*155[7-2O$;GO8Y8G2#;T@L]N'_U:O\^?[6WK">E5"YN$"$@ 'E R" MB;; 7.\X68*<@!;5#DM'J AG2&5??L]$^31L@B(>$DG2!>L++<-2IO%2E1EU M!4#WXM42;L#?<S<0&&$1@HT_FW M>(T&\PDO%[PV(_0=2:/M7^].&JOQ&1$UE<:7 JJP^KM__]$K#Q,;CXL9%?:S M6N=82/V3+AF4.ZN^_AO<)?IFAQ/Z^ 3J%Z5(/T_A1)B,2#45S0VL<1QLZX3Z M=38D!U2X=,X:O0> %VE1*S4"661_"UD'1I\9F+Y&Y 9V/9S>8O0K@V.S=^%U M$&H)749]RILVJ9(/KTD^#'J=?/A(MT9HC\D=PJ:LNSD(CX_ O_SB0GH_OW./ M30TV,<2GX+] P@6PBPF;"V\BME?93-?B/=]9UZXAR S=%E@Q0SM2D MP&C^PDS24K?53T-,5ZR>.BZ2Y1?\RTN>7AFG;!X?8XD?%T?"M_]Q_.%8^Z6V M%EZBJ#EI>(^(I'92EWYYV?)[.E$^)<:!AMB0JL=RZD]$E?\R,"_*LO.+NBP4 ME3T2:1WMO!$H;\Y>-B] GM&<61;DREY7-=/"+# RU;J=JC#!A!B9Y%"QR*7& M^AU6 2F3@81,BQS-E!PA,B'F&FA^,R!UM$ZD!OK'F&34AZG0&>_+FZ]C&Z9A MBKD!NE86M=?-*C1E4ZHLA=U/T'8FE:CV"LL.21O#$-=?&%)= MI]V <%+56"_/ _@.&UHY4,^,M'6*4<4Q7#+%6K@M@P\G6X>1)K.RFC&1+-$T M\2!?[37 1D"V[Q,<O?V0RSQMCA:*L, M\VH 2/2B=D"](+\ /T4FQT =9[-IJ4H%6N]_=@<87TH\P9T6<+9]>'..\/# M34'1CLOCNNAD8PYWPHLH26^FM#K2:C0\[KKP*JHM=Q'M[".#NRZ@BMQC.3@J MF)C\=#VBK,.$=='+QDDBD]H67<.=:.:\]6#?$-0D RW!28.$=[17*N'N]"2K MC7[J-4D+_L)B(*&78CE=>X=](=J_B@:FVFR,0[\VA3[GZZ+3C;+)M *;10/H M,"5F;)0\FXU3VDW"JD&C'(.@_"X\]FI5H7?X](?J;_"P_L.E/%U)6(1QDWQ" MQR'S@V34]=Y$O=.3A J/UZ:ID+=8=#L5#<)$A O_/ *>T$W<6&I#1;[">D^- MC<+R$1E[)"A('K0+K.:)=>2&.%+W/$(H]HQB?B%UO*3#I%PD8TJ%>R&^7\?S MP0;B6*@!,M1R=.U(9C'HVFN.7&TR:(3=6UKSO; T@#G)*N-B?%1KZ6>BAW,! MMEW=_/E%TY3Z1;<-]"]-/]X/*ZU_TQN[;6K7MU73KUKL5<#I3ZA-JC(XV *\P865'-8R +V:#I;-.ZAR%W"FB(K"C M.73=I5E>T;IGZ[./%S-[=7)_Y2U7$MNGMK;P_047+9W*<9<"=>DG%%GME!U],2 )2G\YFS3*?H=TZFY!"[]MMH:8)7@) M/57'"-N#;3K4L?:+D,\CZEJ\]..ZIJ5M.KX^2?/9T?O_8:/)3R^/?F@S<$3; MY\X=QS6]( ]=Y,H7: >/J6<&!L>:3$QJ?'S3G70@A(K7U: 8422WP0.^F@4@ M6C)WER;\0"\W ^*]('6Z0TO2I]GX4RGL.(+##;"K(S&6#WPR%=:R8^K23$*9 M0)9T72PUKI$/F2\V-K_HK699_,NU^DP9FR.V95( N RE,=&.*19 ML(.FJSSEZA13ZCPO?+*"\Z]C^LW25'.]RM.7^7C;N*OF]2L %ZT$:HZ]0"-K M6'Q715_D[@G&,8FY-QQ=@!I>EHGZP+XQKC?C1F3K"Y(DZ\B#5FBMHX]G1V_I M#T!SXNM:NC6 PM7:^G>4>O4C-;!UT9>]3G$;81?\$IU(134KFZ++]SR]0K? M"TI!> $&)9#!.&?H)Z@][]3.AU4U2 @>GDT6)N?,B+Y$((N<1T+Y1!5F"I?WM>GDR/XN M:M5"],8L,8&O?G7" #\HR^.DL2&''0L9B1 =.-4( R,TDWU9"$U7@ DFZQ ( M"WU%T[8=@FWVSC5#F2^+DS%6-<]A_M]9GN*QDWJ:$5CF6"O8:+$B7IOR(9M7 MHH'W7*B?!)0I*OVBB2KYOHB7"\9;U77'$FQ-0!C8.YJULKAR(#U[C=19L%?@ MQ7 3J=XH=2U30$%8Q[@O.8TQ4=D4UV13A"J;8O=;D[[C2NL&WJE[)UHC(N21 MEM0)J#'B.JH XG-C\E(',D%.2PKG)@5DU>K$UW?FWW24DC5&I-[2-[8JWL ' M%L:"H 7>$%_?-(A?%@O)NL:F&#E"C<*+624](R)90F:CK-RU#D* P@TTWTV. MN %9W9EMM%UN=W M5GCL-ED?M5D$:%&FBYD1H)J1NO:=;1U'V_P -=]T)BM>Q1N);JF(>J,)VBEE M:8V=GMWWN\7]WW"K+3B J+^S.SDX")X%Z-#]6^9V .N(*^?)@W4Z<99P\.E MFD)K$%"H@X=TF,4E(Q6]CFGV#0;O-R%8#93%:[>._2V)@&C&[$!)0J6[@I1. M&XA"].-#2TC"9XBC,EKZ% F,=2\FT75[JAI?W4OCJW$J&B0"R&G.YH9TTM".8*"3+U1HAD668:2_*FIQJD%\RC_(JI4 MX(,LGS:[H*2PVIL9ST5):+:@=LKB35H&Z"ZIW>K8Z;\2/;8HGC&4QC/LRT $ M@77R+\V\@E+,WZ ?'6OONKO 0 *3':UJ!W4G:[8[/&<$_!_-AXZ'?(,FOC@2 M=KU)@@BV.)<8""[OWW2PC9(3$RK&53/V2$I.Y]BIY1[9:T[XO2Z$9%>5V0$M M=Y&<[; W+KKC4UNWJBH2X?B3G;FF%<*VB6@LI.FW;<1/5V(]+^"RRF*(/MH7 MIR]D%S/ !XOHI"(O(*W(-1J=@Z$59K=4DYRZ?U,!/IP:2O#@ MSN"HPZ*J;H ?)J5^ MYQ];+1XLC$G%2)U M3'!LK%C!V?"JE0=-Z[I776]?U25++8:-;[B/2ZFH5 P'W,*=%VF3KM JH32! MLD9E8E:R[K9K1N]D07>YT<8?-EC8,R1\@IO@KVAC4$> %SC0=Y&Y\KLZPUK^S-(E@B"!T+9F5]@G'B*GDOR7N@B-MTJ:[ L M%=7.ZDE8L'#1&4=%V\*P&)8^)6R"_C^!Y[#LK)2$<564G\66Q0-R@HZ(&%&C M+ZK$KD1W,&IV:MGR(OM&+&U;T75=^AAP+U:G4P<6/4Z8Y*N5NB5_1,M(LA MH&&H=,4M(H#(*')&JPJ52#[JK7D2F!78TP0( 78I@><"54+S>_)>R1@;H.A% M3H&[)!&1NVXP#[7^!J,(A45EY-$21AW] (9,/)3UCM>@GDA3Q#N1X\,UG*R, M9+%89891VSK'AY=5G2*, VSF33HP&\M:2YQ_"M;2K//0L8:![)8P-W21&VNO M$*H#[01 D];-:]=MG&;3PXYE'"@MV54=62#8I#QNT\_>-S#X369ER^40\CAW M+A_5H@I>5]>=$;NS+9'1N_"92RF$$S'1< B'>PFOK]:\?S$)5+@H*86AF28G MBP)%X+;39I:-BCK3NM(%CHX+,<2>)L+SC&%V$C&FBLHE-_-Y+'QH(L%D4PLD MPG2 S9@A9E[3XV)$UV28+R0I:%@?-&8U.UFSR#'LJ,Z8AIL[>E&,1KE,2Z\M M$3BM:%^W;[G1*E#]W(GZ&ZC&?/9]$4\_@S9Z)7N.%#+:5O/3]6Z7>+ZFG^#^ M">4GUR#P_6JX$97PH U>"7>17[N+G#MV%_5-,[O!L;O94WN-7SS>W1;EU$-V;)YPLJ M6S/DU63TOY\>ZJ(VA'$%T]K TN\XQGO]RYHTG1L:1_4.07>,XRTJ9I892<3U M[Q]Q[T!BGKZX-C*W-H+SE(3CLG9D+[(I3P*[Z]J^GZ#2 MW+96%WJP@8?UG=;#X5X/V9?BPPC^^&_J+/(,KQEC#^\ZO8EJCWA5AX19FR-W M105JU+8 <2H0<_:Z4)BO.Y!-%1[5!AN36)MD[75]FJR2Y3LW"CM> JK !3_ M42UW3">=1"B=V.&_3;[N&___L]M6:JS-)@8HUT*OA[_(Z __PI-9M]4KZW1& M:^6': RQG)=+.1#4-$O^&#,GI,U OZKK2$7Q*'SD4VB[[0(IFLM*_B@7443S M8$2#; R>;,$CE-=AIU"EJ]]/EV9WU(!KVT%T.IF*G(PER-.32UVMBQI-NXF? MR4PT]+WDL@K^@A)':[RC"".\_D):C!]Y"7HG3Z8Y&V46R%KI-I8##-_T5 MJUF"PTNRV7"AQZ[$R&;4?7MX,<>CGLO0Q,$[AQ$M:3&SI'DC9B95;(@644YE MJ+IH7UR71LL)MTT+N[9)%Y@+E/Y^2%W3^D D?3-&M3]YEP;'Z]LI+GI<&@,3 M&#\]M4V>$U7Z[_*3MJMVO;EZ Y@#N"Y-^9HRD&6F)+N'-@W!QW7__\.FH#Z8 M/P?@/3CE9?+Y6O_!P3@,3F87LVJ*Y.HIE\$#-8C>W3T@$%(!XXZJWVH' 5VK MKGT >W"B4:L8[64Q&*&G@+XZ^J%IJR3R+P4<#LO>WSN9LF[68C,,@0\I=U^, MUQ%-SFA4GS#@T7[OFP:WR6KO5%X*ZWW%/! MN<;UJ]*NG[MF?].N]XAQKIM!MEQNPI;K3 Y&YN^')4"-%L;5%#W@=8V3NMQ[ M9?6S"3;]I!0^N'S"YW;$:ZT.U_!CL)K1_>1+W?]*WL:3VV]U]?[U449O=4FP-.#W]F=#V[G>5_&CH6"XY7W MN6L+.KX=&P]&\.R'L7DP7O(/\/S%$$?3@.1D\-MY-=4^B(Z]S6E[1OA+$TSM M=9[Q#+!.2)JM;J"9WKK5T\U\U]9-V504B[]A4;&0BH+E6E+9:P$)^6K45 MN@&.BH&$2SD^)/;'W<0+1&29QU-G[W20W[9[)[9?B;% EUQFI'2,++^9=2+= M J-Z9"/?DHQ%U[)6/+93/N!BFQ9I=8^U!=SH9+C@#&71#*<+S:1^ZV0&>D:= M-=XZ,)#O8!RB#4/4#V([1?@,)QQU<1['9_H\[K.2^/ MY2L[4PM3ZCB2@/:9S<:)Q*5.1F27W<#NBK+V7.>4YT(]4&,.Z$.3%VH8B18N MH=Z.C%STUMRDA/75>=J,,I%SN^L.U%ULJB]%8EPE@$ E%'>':'J[?"UH1 MQ MK<1M5[6)Q,H6--WN@HTRW+I.V5#.2KK$YG]@MZ7'VA^MA=/YEDU@&98,A+P% M_!K10%CD@$7=0X:Z'&++,-AC)W(J*AO@Z7PJAIL3OHE)5DU#B.;WE)/5-UPY MWYI)2*UM PE6:51VL:1KQJ%'GI2=QJ3 )B)2(FVU M*3 N98A?2PT%UWP\V(*8,FH1\M0-L-)B0YD#1$^3*T?4S&*$E!-Z#Y- MLZ_N!NO5>B?*KDU4W^K:]8Z^V$@+.5"#6/^L=@4@4FRX_VI*]6#B_H^U9;NX MS>IRCFWA,U@P28-C<_'3>["#G6-_S9LMZ]A=_/A._#,T W6QVWBMK&$3C1;E MWR]TEY8QI8;U;4?,U(O "KZGW5K>]^M'4]W#G5J^>*?M?'\7UT;>I8Z.O#F< MUV5"M4A ?R'PCKI9^F1 \Y>QDID&48P+[0(4"*S5:&>4=831&N@L3=QJQII1 MDS4*^DH/&NG&?1,62YZ\#L"E3E6FJ[2[V%V]"X8F0UD.-RD76(!@NMBD:D$/ MH8DH7/277#)!IAPLIS.6*M)F)J M*MD(F/Y[=5X/"[@?,%,;W5K7WDXV%TGJ&XO"EQ(K.BOVV3%4=UI;W\J/^H-U MBMD[;!R5T ]%DO.I_ YU;&H_@XSM3'P(OP2Y<'QRK"-#'U%7L,_CXHIB#[@P M3[3?IJ! /SO:7#,OFI/H6E4,4?VM)0.(?QQCTTQ?A7U?=#1H_ SLB@#P!C3RB/&WMQ $USKK^]V__^@;6UY)]A*Y7M2MLTYZIS!"UXV_N79K+:H!N0F=IQL+:+2@ MQ>0F\3'%Y[6T:$RV+"]!%9&M 4D6,O&9@>%ZRKU[1YJDQ?!GW."H?6 M#BF'"/"TT:OKL]?K")\#T_ _PW;2@*BP$D>@FT_Y1,Q!E0U#FZ9OJ&;(;+U2 M- ^GID^-ZU4V2&C<4ZQ:U'CH O%IE3YT3?J0U>OTH4>ZM:;W,\\R;!*:CZDK MM&A1CL)RI3.(<)E)+UJJ+2\@G42I&.8M,B&H$K1+$,7:+KT="W>Y_ P 0E;I M3C5H-[78)H.S6?K:6=);].@VET/FUMJ1"-]@Z?9,*5F7B-9(E'$!NIDLNL6+ MP:'+VB\X Y>4^G)VH9UT>M_ %8J2E5]>GC09N5,:#=Y)MZ'H1+?+:#Z^1$P5 MJ 90'L-7*:[=+45R MR>C,@-BPH97Q%;*.?%T)>9/T?$-7M.Y\NK76IJ [013:L_R'E=.17^T2CMUH M:YW\_._"3DJ^#K^'!2AD(O.DU_[&]LS5"0KLX@*G.$UY4TA5?R ;?E/78=)Y M"8'SK*V91QI \B75,6[7;?0[=,P)TP)V"%L$T);=+&X=G7IM7+2B_@&(0@TS M&^5I.N3U>BD 1(1",,B:%C/8D2$^I+K]=F=MS7X/>?V*!T-T-%A,;[G1J2/8 M?)W4JS&9C-A%]-#W*&7?:Z8>4MG))7 MZWTQBT:KW>5H2#&RZ%!T3L0'84/=KK?-[U>= ]GBT.FFW5[?HI(+^J(,*=Q MHDO<94$:-1SESFB_]CHR'""3M@Y%G>1W8)FAKDWA:KDZ^PHU%=O9H]TTDG)C4;!P). Q$)5H?X(U4PJ-SK?!F5) MZ1!979WM=!+*;*MWN+0#Q:[.W%JFY1M3M2G10+0?"1=M0/^^T[3=Q?=U.A8_ MG,VYWY&G&Q&@9ZC]IM-G*UP?*GI7E--%"D?U2'Z*2HRTYS[S.=@+O"FC1184 MYT63Q]61Q9VL7[%.(URE,2BF_(B)KV @Y:2+ \YU2BD;:EL,V-;2MBMGET^@ MU\EAZ\P;F?:SV/=")/]LT2JZR3QI1+9PTJ]94(X9;/N!R1BR8VHIFS?!+-YD MBI('37ZZ>J3ONB/KFFB,L&GA3+! 6:$TO'99R:WVLEMX':-=\-(W!ZTXSH/: M^:02AZ[!!WS=8GI.T9VWL?L+US4;1-( 8?N8^O.P[0%PG6\@E&30%I^!F%I) M7[K98[(^/ZLSTI)VL)JU*S,_Z1%)!#B 3)L4N=!G*41#30Z6 B/U"B*D)0,H M[;L$R\%LC-U*JI;WO,(NT2C/AS7J6LO>AV\3X,+KW.SE5BE0^ZB/[2B6=V^# MM7]'ODE.G[*--=BW:0/6=8V<%9>88%0=@@]B/TKGEGQ)]?V^HWQ"[>1U4VI5 M?U7_0#:7:*63:.K4K"#[.E%0N"Q =>-3%#T' #@A1'K0?G-#HZ=.=Z>.[JE( MZ^Y;($EM;2$+0A'$XS9M;O"<\F0HM4HN#5.NCKR4G/"K@Q;)_G>40)NRUI/L!X)!OX="R,@5L9LJ@$&'% MQE:]Y*T&+)M55ZAQXQ7(9V"'U"E#>\_3*PRZOZ"!W"\ JP%1QCD3[N@I^50K MP'3:1[/19A5BK#\C$>C:!T"+K[P5 MC=3 A!/ 11EE _(6TM=V"KDFYK&7CHDZ$.,M)QI6 [ %L32,4E+#B25@:8K;1,E ]V<+]-*FTDU)I\-.*&*O?RFMQ+^Y!R M+Q\=QV.>8/G/6E_WACQHMYM9T^ACF$K$_SN#AX"G=;.YY4 6[+^_.6^HSKWN M1I=76>9L\IA"#G2+"JBLPG "ZB-+.D?C]%VGBS8W29QD,5F]#I[5A7PIA6R' M!65^=WMJ8^N!$:J<,HR"Z7:SA695(N(ARMU!N,K9O]VF8K+JC+*KJ'E!U=3< M4P9BU3G.9J6Y<5"\Z>[GG)>C6IU>UK>P?'M6U?&3)DM,IE2)1"K9,+#! )FB M'[9H(/P?C4:+63\#F7"_MG%KW6C32/F$DYM.%^TR.WEJ=;M6C!YM:K_:G&6U M VN='T(_;:?*M"T],66B).=KUS^L^K(^]$P[20V$*W=#!)0.,4Z;'_,ODUS2 M=%>!&[)*=K.!KSN3>=#B0M5BH7C4J ,&BVC:3M^I:TLG+%]$3:DJU\31X'6M MJ]!IFZ<[&%X1ZM>5)PH=OPD=C9;P!6>0]4N+3*<&XD+IC2AW:/N=4 ]APHJF M,$CQBWL"4+4"H@2V1KRA=NAV4I[PP:8?<].DBI*9BME4,I*FI=DPSPB>M91I MB[]:R3^*J7-.G0[0'7:]3IU87^!2:V-YU?:)01TA24!+$!5J5W"VN=&M6='Q M\9@C=MVZ#JWZUC*T?%,5VL/4#$F9L.9*5RH)=P55"^RZOT_::6VZH,ZMZ>[= MD5D=38L4K>5(]&*;5]%'A%6^UA@%PB61+([5Q18\FNC;,&^;MN #=0-U,,!QYGUUK+U= M,[5F^:[6.*7E!!RYG:6RM4UY M3[6G84WNTSWF/2U?F4QA]I?*6+M5"'>0 ;6/N4O7$OA;Q,J.*V.QFDY>8K.BU!B-Z-_31$=$D*MW9"VA\%$M%]9.088AKL=598IN.E*(:IP M13-*HOB[J+LSNG5W==F=^$R4W5'?RKK@;OT^#D#FGK(*/0RK,N=]C8V+)1 ? MI@5.IZR;^?58'/\Z YZT61JO/Z;LB5T,0:X,6:F=5$"_8'+4HK21AJ&.BF9VH5B%B!;_#S?U3 )"D"?X*$+YE[11M#.N^F2]>NZ3%/ MIG7&N>P; Y?$$F%BHJ6'U:Y9+1A M]O(,KJD8 M,M$6*-;Q>+ H>8R0U[SN 2B3U/>2K9734UVMAMW7>J;6A(RS#4 MF:HY2"]>Y00>>%DW%VQAFV(^V[1JY"@UL*R9'#64:=JQO_VSU9=J'8E1"T8U M,_CAW,LXAD>8Z 3-39B$3A.J^,/Z3Y3 Y*=M$ 1_UB#),>6[U$Z1JNLVZ7IZ MT=W3B:B1F.X6:6[)#XX) Z6&34X.0D!9B0AH/N C;)&!/R;B:?N@"0HI\WJ& MGFB+*%TLBZK S1C/JJI(!'4!:K3)[Z,?P$. M.[X0S@O2/K$A'>=56P@AVO2V][R1X\(OX,QKXZ $M6H&AT*; =XCT\2:R8/D MON-CH5#GY12#3+4'3Q3TSL7OY3ZNBMD0^Y,#>E0S+IJB3^>B> A;$,"VL&&^ MR#X1\PI!3P%#I:PC!@;']"JY5U%AORY*+'LBX_7$Q1@[[=6EJ=7B.$J*DRQU M!T->CT17)[EA!IEV46#TLNWG+B\:L.%8>]>-V]WI^RAIM-AP8VV2SE+J'PT2 M@FTFC7;:AH7I\M*<.M!T*LCFVXOHQBE:4WYK^,E+N<8H6IQ]M)'P6@IK%T9W>8P+&5A$14TO3RZ(TA(7Y=V0PWN ME5,NC4+M7$A]?-D,$LRU BY"UG;#EW!"YR=21,1\UZ\>K#R8)VA>Z7NMMMM=3G M=C%WHC;:5-[3-7E/SB'E/3W4K=7\?I,X64B;[A &L<*Z:?]2,NHB?:&2(]%7 M]+87,@3)CI'ITVG^C"12OQ[]9+++4?-5S($NJ&T06E:=/DP4+4+J+LB#2?Z? M'[5G3+8G(U(F[MA*F;;_5G>F23WU?8-*U%5R8TK8F6W0UO)K&9'LEHJJS'7; M6%+&-NIUQ;J7P=KM"Z4S)_ZA87&U_H,W*K,SZHUTMX*2Z2I__W*'?"A,=9P%.66*Z5QJ'K,,NS&3.MF/FN^U<0'=WL.+QWG%OO M%7S/J]E0='MX.Y')CE7/Z.:C[0Y!A_\DR,BIW!,=+JAQ]7+O#Y M_\IMU1H/=OTQ*$@VJ?B/]1]^PL[H0S;_,1_3,>E'RYX7N/U6$S@VA38P+>&? MM%Y??GU,7_USFJY^9X?'=NAM_-H\MC9^=]VRX;%KVK=:]?KO/&?S.V^[5__8 M=\/>[#5R;[?JX>S5"=T[WVMP'%KW@0/WL]?(O]VJC[%7VW%ZLE?OV'&W6_6? MQ&4%I\7P"?#X_WOD'+5V78JM?7^T)U\T:YU5NN)#)\/WX:4FB8S%@L3Z[,VQ MHGT[5K@2PUC1:$RA#5S?ZWOCB5)YCP[I53/[N;L>G-) MX&0YYMAI.W&-6V!Y*ZNUDLTVF&ID,6KV_GH$4;?F[.O)&A#_4J[.B MNV 'AWD[WRFLNM6]??] *-6W>_E61G4G^-2_2U,L2K&H^V51-VB JW9!DG!^ MO5WP<*IAM-6!Z\G*/VZ#,)O.>V>8=-.%?LL::I-JDVJ3:I-;^CJW=?IH]-]P M7[C\>OO_G[AGEAYYY@\]QKAOT"X>RU[> M'CC1#]NX]125'CB56J%NFIX2#@KM'O1PMJM[8:C03J'=PXH]']#.43K)?NHD M=O##O?CQ>^'J>7]#%<5&9[3[6LJ$])-5(CT)W1P%Q#?COBURW=84>*)0L M2_>\7=5'!:9'L,6]P-I>[NTQA+XMC+N72AMTYV MZPNY6J'NA+=TW.Z2^;<7SHZG"&#;TB/35P ^6 _DJB]5"B+;L@'ZB$!F#^ M./4S+XI*=GR5;93&%S3V"N=C?%--S;XDUJLUU!IJC6]W0H>3IIA\H*.TYE, ><.W=[8%]A- !JOQV^/A.K#YB M=:"'H9(0^PXER]9M9]>L P6FAW<\Z(X;*A&QGR+"68YSJ(SLSIS!)Y(8!)S4 MM%3^UKZ#*=0#:]Y-D]>UI:-\C -^ M::C:4PL:@>X=J7#$OD,IT$-_5]U;0>FAH139_>\+G(-DMZ,DV+$M6?#HJI^T+*R M&-6&9S%6_9*66C^;OGOXM>E/$;:V=\NPGH)N#Z +E.O8NS=M[QUL#\\+_,S6 M7==Z_"JSPR,)*]*CR#]\FGB:P+7 #+$5< \2N*'N1$] #3U 81;8C],CZ7'M M2X #KZ9:3H;F4RM]3NG*ZC8/3@K!.M@$. S^'Y3)]%RU)-X?1V MHL&_9?!['_'Z0&$4V4I^[SN,GGE^H&3#?LH&?]EW]P0B:F^G UXV.9NZ-N:W M:_C1X^SJ9P.:AS'"]D#AXWBW'&*PCS Z/#]>>,L&'T\%267<1YMRKZH@K65_,%@!P[; MU[3@IPA;Q]EUSJ*";G^@"Y3K6KO'GWH'VP-T0.((U-MVJ5Y<58 ^M2>Q;S,<_R M*16J_?#MMF:/W4$[UXGOL3?H0$'T;(>\! 6=!Z_YV]5DWV,0'9X[U0DL%66[ ME2=JUQ$>>XS6!PHC2PU_VW<0.8>D7AV>=+!UWPN?7+SMC-=E5#+F=F=&_,TT M^H!WL24.?'=/I]]SSH1AQ%WJ/W@>+O(2M>P7(&GO35U3N13WMT(8_@_.P@B -8D!:S>,@7,>0N?*MJ MBX^]Q7U9HP=7I;9X;VL0]_OGE,%NX;]I?OG\?^E?@D'&Y3^?-\RR_K)^T8B5 M%_F8CAS1@G?*T"VSYN>TXH_Y%,1'LL#A@V4.;R.'?\\O^7C6R<&Z?M]"8.7C M%(35CSBL^/X.LDDPT;;?SDJME%L'L(XF95YQ;5(6Z2R9UM_0+*Z25YR5R8#^ MDL(7PV(R@MVW#U5:5@R'Q57UX[:7(''#0/7R1\=?NA;#LHYM[]&NYG_^3VC; M?N.C??@M+%Y/F/!F,8<<74X DN97<$ ,W MX->S,9NE^92C?H'GKL2?R%AE^'$UA?\0#.B%S8P.RHO&[< G>9%6L ]XZ1A_ M\@R8X'10S. *TNJ'5<$$ZHPXDM1BA#X%ESMDDXK_6/_AIS2O)D,V_S$?TQ71 MCY99$D#NIZL\G0Y^C*+CT'.^/VJR,>3RXEOK&"]VV787W]GAL6.'&[\VCZV- MWUVW;'CL6OZM5KW^.\^Q[WRO_K'O1;W9:^3=;M7#N5[#4XMMW;K?KP>_6.'6_SMTNKKK%(:Y8]+E!+5$]N_^0->80W>@6B ME4S1E\HO#F&_&FMXSP40.FX59 >/9FK)TW=M V^3\[ M%#OO.P;:IFW>U9&W<84?U-59T5UPK\.\G94D!(556]W;-@F(3_1J%*]2O$KQ MJCVZMVUXU?YIKGUYLM'4.K^+=VHR+VU'7IRF9LK%[#GR9NA[IJ[MB;H M6>\IAWJ&R+NLT0?E?8<>K7M6[:@X0\\X M@Q7JINDI.:>P^1"PV79U+PP5-BML/@1L?N8#-N\PQZ]GB/QDM39[NQX5^^?. M[,N3O>Z:O:7;]:9:@:?6+3O2H] ]G(Z.!PHER](];U=S0X'I$?Q%WBXC)/88 M0H?7&O69Y=[2Z_/$L=HQ==/:U3K<8]0^4##9GF[;!S0)]4#!Y.I!=$#$='AR MPHJ4E;E75N;ZY!Y![N&>FYOGQ90-FUX:*LGGJ?HDK5!W0A4O4MA\$-ALX_38 M Q_LK+#YJ6#S,T?W;#7XLX\--"U_SQ)YGC;E]XKLW5 W;35R0R%QKY$XTD/S MKC-W#@*)GSP>]PV5GUEZ$'I*#>NA&K9=8&W_7)%]>7)]6WAG_]K"=VGNL5M, MJUW><[ONO;JM'FQ1[?(>U]@_IMV7)]=WW:]_L:'A\ WM^*6$'LO.QV?Z$Q:#2S::;?[*N0W)75WKXR!^U2';=Q=OI_GO0B/()N^!& M7'+VV6 9;/9'-KQB\^KHGXM'A/,M7>EVMW$-M'HRBJ">H*!-YQ-4>(=S+1O. MDNF,3;F&W;6U_\Y8"3<'7\2LRBLMG7%M6E#GYTM6YBS.A]C0.Q]3.^ED5@&" M\;+ZAP9[FV4,EBJQB765#'@ZPT[YF!F,O\8>WO"%[&+=^6$"VZ1V^5-8?E@= M:V]@'\"I$%]U[8IK W:)S<9'U+::>NJ/X>F$35B"6X'=M>_F&A]_G<.-'6LG M\&[LC#T;3FD9!E^F?,()"-IL4HSK?M994<(*B>BEW:P+.YT.\C(U)G C\^X[ MRK8;=E*,X!0);!R.S(#I+UX#K='L29M5= +1QWMQ5@"^.L,.AW!Q(_RDTN)9 M!1]4<)2>#;SXDU,?>)"$DUF9#%@%N(4"4EQ;RH? L\JZJ;BHD\Y MW$+*Y@ BA"V;3,KB2SX"# 6DM-RZ!20]BI>;2MR]&N3)@#ZAEVF O,"=$YX> M:_\JK@#Q2QT08L3^+LH&O'QEAPE<5\PQQR!'8,%^$T2-X1#^$L\%S"7N:E^2D\7 M::&-BRF\>YC#7@7)4+H#;+1YX_)NX>W5%!;$%SY#P3\L+G[ %O&7L(U*&W&& M;?*S&3DJ=Y,M40?Q&C:=0%PBR;$6U),-W8 M<7_/\'$Q;000, $140F ?N<<>SB 8(@7DPN6,+VA1:V&#<20]($SP'>2/59L M5-\0+H2=LFKN.03\*[>8[@*?BT>7FOP?:]<>P3H.EX\POKY9ZBU/L#Q[H,BR MBD]Q#P.X[BV.V#?,61X$LWCO]K'9W#L>^#O_V%^/2_CM-B"A&1D3GJ!6-YSK MUT&HJD&D UB /99P^AI:74G=91\I'Y&< 8J^X&-8)J&=Q26C_4CP]HZ^;YQ8 MLDPN&Z!T!_2R!A@U\4O2);EU5@"(IB"AP$KC0I-H/L(10:\NBR$(K'L9#1,< M+[>SW650D'ML[_F@H),+@"6!']&!(4 W^> (:N#9@0T7G_X=P<0^#<%@SN" M = #8C59&JVTD).#:'S/#@-LSMEGGK(.J.0'S=N.M6V&%W58@7M_DG,-)\ G M2YX4%V."*K+F.[Z)#],2M.$+X.LO<*I.7)3MU*3?Y*LZL!$OW+PA>M>[HIRB M);86D%W>1LMUJ"V;C1-<%A27SJJ+!SD#>AS^S_^Q'>:M% /+WJ.1D2^*2LB!MV*2%=A)K\#N ESLXQ3)I#Y-T9R&R]-H MS6!)>DC,)^SJKOIFUB+7$/P \ Y>?J$+#5%Z)E@ZRL=YA=P%\+;^ 9@ENTPN M>[B-/>Z\L]WP:(/O]_F]#$VS3//8%%[.6TQ-L^]ELI-KWL]TKZWG&FV]5S#O MW-O-C7N,O4;N[58]G+TZX>UFAMTP-L>. MN_6JO8A:]N5)-35-3;]24]/4U#0U-4U-3=OG+GQJ$M$#7)V:1+3Y=M0D(C4U M3?&J_;DZQ:L4KU)3T_KT9*^GIFU;:_9B?4A&=59ZJF6CCNZ[MFI%HY#Y$)#9 MTTT_4,BLD/D0D/F9I;NV*N@_O#D[JCALJT7YHHMW9KI_B_OF^^O)DKT=L;8M&FTI: MGMIL+9#YIJ4F#M0* 5ZZ.]JQ"@H/324(ON6$Q7V$4:'UV[>LA\] M_-Q'K+9]W3&5B-A[,+FZ%=XR4*S ]'!@TBW[@(CI\*2$FN*\7W;F-5Z6QYOB MO"TRB6:VV ZJVM#-:E=OTQ,=OK;;Z?==!KBZZ]XR)K4?P]=N\$,J)'X"2&SI MOKNK)J.06"'Q/AW;UD-SU^SI/N'P 0>$+.=>T@9N#?8G3_A]HWT_U$WKKK6P M/:-_A MS(%56SRD-7IP56J+#[S&_G'IOCQY_?AF-8CYN>OU9!#S5I.U]WIL49%I]?S) M]YT)6_5GK\NBJK13.D$/9QDMM9RKY'SF$L@HU6!_>8GS?IM!/N\Z8YI?R7'* M%;^HI[YUARO*:8I\J/V<%_"7DDUHRG+S WH5/9JT4](N^>8Y1#BZ]Q+H5LYH MPSF]]//E,:TW@4&R 83$?@)FIWE.*W.<-@YXJC^X()2%OV7Y5$Z+ZWXA[N1Q MAS<]5W.7]G ^D)J[U*>]JKE+:NZ2FKNT_T^J:4IJ*HZ:IJ2F*1WH-"4U(VFO MVZBIN2,/<'5J[LCFVU%S1]2,),6K]N?J%*]2O$K-2'K\)Y_$Y*-W:N+1=OSE M+MO+^[MG&3[*;82Z:UKWT17CUC>I<&KM3?0%H2Q3=SR%4?LS(J!7V=_/+#WR MS+N;#]#7GAE;'VC?<\*?6=']#/U1:LM35ENL4#=-3^&5PJL[[\SAA>%>X=5! M(-43T5Y\P!Y':2^'H[W8@9IK]!!^M9MS)/:/R6TY4?RVYZ]%YM(]["';HTG: M]SK"XV"OCN8VJ^DGMW(4[#0C>#V#487@>S;I]\DS!!KGJZ[N]I-R%3.]!;WN M.)55,5,U6W7OG[RCV'Y/&@V_6U-W>$].F)ZZH)YN2-;5 V^;A#/ETU0(M:75 M:H>N0BCE)+^5/N/M8KY9&/\@*/[IBA#+U"W;41BE,.H.W3^. MIT+W2BNYI.<>N;R M\BW\_)O;:&[%^-=2_^/>DO?MPWQNN(GM^>#CWL3]QBZ?)G)9"KD> KF^J0%P M]TI[U -8D>)NI.@K4E1\_KZ0Z]M'T"CD4GR^)V;47AAQ]2,2^[S'F@>BUE!K MJ#4.>HW]XX%[P($WSM#8T.E^^T$->]0N?T.Q"US4:%+F%;PH+J8#+4<7\9@- MJ>7]=)"7J3%AY72N9?D7GM*GEZS,J>\\]M"O=/A),IPA FHC!C_.V5",'JAF MD\DPY_ $S2W0M8PE^; =34#S#K0"=+X!9ZE836-5520Y=ON]GE[ROCM'XV5GCL:K+Q.;YH+PN5Y-)Q*D0M>($@. MZ'=6(LK@)(J&_@'D?P-:(44"J@Z'^-]DUQ$DQ]KY )Z2+P(^ Y<&9^[NX5G^ M@\9'DV$QY]R@X40\K3G+U2!/!I*_<*UB0_CU O, Y*V*\9@/FU\VQWS6LJ5J M6B2?C9B)F1PC?(!0^P<=GH+7(ZX7,UAW."P2XFSU*LM;*))D!D!-YLL[;7F= MN(Q)R1-!/WC&)<8G[[ HYQK_[RRG2Q,_A.W@=7R1,*#%<63,33#%(3'R+\ W M!WS< /58.S@$AJ.5G( 9S[7OG&,'V-)P"%>M:X# 3OB]#DRL1,"W[/0&+DHO MP]7"XW!Q->][O>:;V['C+@/&7U5LQ)>9+)%%^8ET"DER:C1=6 MV21"IU6.],/+RSR!I<0(,+R?0GMQ^H+>6?*+V5#B9(/\ X +' [%$Z8D%- <0_[*_(LHI/\4J'!0@Z1/F&1@3]RDTA)Y@-IVP,B+X14[]9#]LK MD?,!N"G2E7K)!WE8V")DK?V5/HT1[OH'(TM'FV=('H\ 0 :+CY! MVF[)8)_P%_ERB9KUURMDM.Y-- 1*,'E^47-P> V ZS.?=A:/9_F0?C$DXI6? MK@@/NK]1 63U57P@7]HW'7@GQ%AD\.9QM,"2+;MER;LQ=_O86E@IVHVWWY*U M5]L?_1N8O.3*2YI&P[EUB8_T[H0^0N3+.++M9 C,3.@34YX,QH G%_-K M&/PZ<2"^@3/B?+M65\&UZ1M \W*6MU1QUP) C40W9@+K/U4B_/1P]IT;Z]6FO]S-ZS@]NNY^'WFMX;%G] MN==^C?3;FA/V(OK1ER?5\#\UQ$T-_U/#_PYT^-^=,T(U)G"_,5"-WE*CM]3H MK3VZ-S4F4/$JQ:L4K^K#O:EJZ4?4L ]CH& 3S,@IF*$&"M[;!>QYTPPGVK'8 M:]<+>.3&&0J3GPHFN_]_>V_:W#9R+0S_%90S2>0JB":XTWX?5VED>:+$6R3Y MSGT_/06231$Q"#!8I.'\^N>Z6C<[-]VL8^D>E.7RJJ[/NBD?5^3IX$GY@\<6 M!KBHLY_K'*IV_2R&4)WK];3J6PPWUO=S=#NOW=RM^5H9[^CGV'L9]81>[^3] M!JN(U1?6F**O&MTWFON67"6C?XW*+P65FU9+H[+6PRJNAW7WF'!3 M)N0]9SVLT=8)-<=PBLI'!/2;IYH;521)XNG M(.TP[&C?"L=/M^N5^S[0KE;/_3GPQ[<&2:;6OQI]XW.="HP1R[:&;\F&[M20 M&7[14;_8^SBE92W?99]VT0@=-''[D?%!.KCSP(X 'K AV+O+!PS(9X9V.#$& MMFM[0W;(\1=EHLQ,T^Q)=M9E#P0.N:Q<0:_#(PYLP/C.7 B M=CGRGVD846:+\#-.6'.\)T!5&C@#RUQ_/0CGZM;RK0&+X%O0II_L^%H'42!O MY@+<<8%7[QLGY?3W.!R AJ7AS8[=>!C%R?2TL1_ TYY!$YF\X7S%3*:S(O5O M@?_DA(AF.%D,(?,K\]C8B8QQX$]E)_T'^X_*S;GY':>?#?U'#]X9B0$=>);( M_@,'IXE3([$!04:BS:7D!\U]BJB:L6HO P%OW$DWNY&5FVXDS^ZP1ZN?WV-^ M)DKAEPN'G\!5C?A8JM0[./%DPESBN+8B+_@+'\$#>P>.-Q>#5D;$36PW)9$! M7 %N'#X:@^@-(MOQ^&8$[PDYALX"]D23X9"-OA0!_86I(1<7G_PPU9RU&K2) MN 9*!:AC84B,AZ.O$XR,_\9V$.',T3$?Z(,8]TLG/14HP.%+(>/3<>QD'2XW MK3H*6]#80F?(9S4Y.!1F9(03D,J(YDXH971(HWMH!8&Y?(WFRH]E'JU;JSZW MZFPXA^BC^/-F/"5*0XW@TJAO#IAF:R? J!4L:PU<4M]JK+P$!95-V-0B8RI MG&UX\TH%#;:/OTHK9AF.)R>8P:MBFI,/;_))?073DVAJ( W$U8.3#C XJ:L' M)ZT$V])QNK$;$:E^YDRHN>X"30U! )&ZD1,@YO< M6-251E;?B2'> ."0 WCS$Y1LT%2_UNCM?\90#\S&W:97'7^^C 6&>:M?D M:BC6808B50<)^K5>9[=5-0ZLQH%&NU.1O;9JS7I5^$"KUNL? E\/,7"N5>MV M-EOU9P=.-1=:CPO-N+2]I-ZDWJ3>Y!:; MK';+_(W*Q+\%_B@>1C*-[6?:FYZXA\/Z!*0M6S@4'?%$C1HV/%O/;-6MRO>I MU3A7)9S[VU]Z#:OQ3F.=QCK-Z33.G3'.676SV=9(IY%.BU>-=>>-=9K5::0[ M^MDN++.O9]>5^H+ZQ[Z=4QSS( /&-"NJ$BLZ%ZWKS!G2*:_I])SIK(+XQ0>^ M8R&S@^&$]QA@3\SU9U3"O"1,COU'=N)E['I\GE>4MML]K8= M%J@OZWU;=W0H )8]L5V6 MY-&QN&*(O(LS<5L0:%36J'P,GMP#7-XW3SX77'[1B%PE+&[4S59CV\C!B] L M- I7!(5W<=AK#-887)Y3-RRS7^]H%-8H7%D4ONB:K1W2:2N!O6>>=7C1[.@T MZ)?,V#;S09\97]OLT+M$P31K*PW-;Q\?.Q?^)N)C-] M+Q]\*=_4'ZS*!\_Y&,15WM# KO<'&UEZB"%B_7ZMT:'Y-]O/$&ON..1G]>B@ M;J=[D'$\NPWY63-#K-T\S/RH_6^V4^O6#S.7:_][K1(2]&O]5E7@6B4;('6*OW?YF?&"?,\36V*UG,A_KR^H)RWJV MV K8Z=EB>K;8P0&G9XLMAXZ>+:9GB[T\##Q/2.HQ17I,D2;:BD%2$ZTFVB.! M1P^"TK/%-$J5 FXOL"W9(6>+;85&)QF8HW>H=ZAWJ'>H=[AJAWIZV#8G/=-B MA3*D[FY>H+MSTX02I>AJI*L2TIU+IVV-=57".LWJ--(=O[BB9;9[.Q;':*33 M2*?EJ\:ZBF"=9G4:Z8Y?E]T!I&OJ^6'EO:!&5Q?.:U;T EC1N6A=9\Z0]/RP MLP_4Z_EA:;=74\^FJL M=MFW=*W5/); EIJ6WHZ52W=-$TK69#CQ K[P5MT_7S7*8/:=38!&9=L]_4#+;D ME]2W] 0Q/4%LS9GUS)KSF%G3M/3,&HW+YX'+.[D5-2YK7"XA+K=Z9KVQ8ZMJ MCTM1*:96VFN;^O@V;DP.#U>[+R^J3]8E0^> M\S$./U[LW9)%CLA-&^F.B\8X\*=&-&%&0=-F(V2/5-TQ8L. V2$;&8.Y\4NW MUC)@2Z[C>Z;A!T:S\U?3B'SC%ZM9J\N_&+ 8K1M- K9J HJ!LRM,N*+IS [@ MC[#0AJ]9_9IAJ(-D]]BO=3-[;+3$'IM6LGNU1V_UD)8E6US_EM4WC5G@ K M#1JCF.&KKO\,#P29"_CB/]D@:D,#1#7C>U*_NO9'[.;)=T$82R3;*\9T%KJ2 M%J',NYD?.A$ [6W 7#MRGM@[1.G+)KV=5Q3@'G !K BSNJUW!]GWAIAN7#T" M)A$:8]&2C1<"USYG=H!XP,+(AVN^CP([8HS,$CN&Z-F@U-GT!5_HD/K&&%FPER0"8:68UCKTA+F:[ M:K>PH2R)? %VYO[M+XUF\YVQE!@$#K8:/&EPD:G(L9LT,2[UHA@K5D]>L0=@ M]L?1\E>*"(_S)]YX^T24U^IEH9/^[R1(=,1'=CF N_AQ:8]ALV]M]]F>AZ_> M9(\(Y\N!=#-HK- ?UP^I/074_L%L-YH8]T.'@9;XL]RVK'HSK?C6B0!-AQF@ M+#1K)Z!<^R'7++[.&%*[]VC<_#%#\@R1G.\Y[UXXYON#C!D&E*O5.=IM.V<8 ME/>V=8@9LXT=QQ>OFX.YVT3@-8.&K?9A!N+N?[.=G>="'W^O&@DT$KQMU[K= M7?>SZF_MYO)O[CX1UP)MNBIP;38;%=DKP+6[V63L?4X:/JNAN ]K+#(]47@% M\/1$X7RUUF'F"6_DMS]3R.F!PLNAHP<*ZX'"+P\#SQ.2>C:IGDVJB;9BD-1$ MJXGV2.#1TU_U0&&-4J6 VQGU*>ZMSY2IJ["B,H\%)RYRV!0L MFUMW5Q7K7UB)W.>EH-L0>@D[66UNFEF]EA[P M7/);ZIBMYHY]XO4M'>V6+,OL6-OZ.?0U'9_E-2U-3&6_I:99WWK&M[ZE8]]2 MSVSV-2V5_98NK,86TSKU_1S?[5CI7MF'=2R^<-QHFLVVYK!EOR6KWJ]^2^@C M>;Q^,J_]=!ZO>^;"+Q]-XY%Y++!=WMER-'4\)\0.=,X3>X'.KQ+.0-[T0AMF MI[OM6%0]J?KH]KJE[ZCL=]0TK;Z>^5[V6VJ8]>:.>5CZEH[G[->45/H[:IC= MAJ:DLM_2]H/"]1T=77/8=I;2?JZH!(:S1I -G=?=[;-M-0$?T7E]].LI ?$> M*<]KZHQ&+CO5D:G5CIJ#,?3#*"2?EZ]ZKC/1<_U 4QS/+==WN].7G" LRVS7 M=YR$6(DIEAJ)SQ^).V:_=> MJLB!+KHZAU9S-LW95F3H=+6CH[K\[415NB5@* MZRVSW]O6M:]Q_J+I-@FHIU+T2K;&% M1OV20@#;G;[D=?T-=KQBF(3TW] ?-FG IUY@?PS=>,1@M17A)IQ5/W8\ MVQLRPV4 B["V%$^G=O#H>,1=^SDD1:S=#-FSBZ"F@]2ER),S< "Z:\]"]E;^ MX]W("6>N/7_K> 0[>BE_E;#FNV=G%$W0,JC5R3J0GC^QOOASC?Z4LQ+$WYJU MMM5?^N=ZS5K^ZHIE>[5&N[/3JJO_UNRU]KY7"X!G[;JA8V^V7>MVJ[+7*B%! MO];K[+:JQH%5>^W6VHUV1?;:JEF=9D7VVJXUFXV*[!7@VMV,#ZP)7JU7?#DZ1ZA:Z [_ ;XPI/#8!#0B4$U2:9A&;#EA@ M-.OF!F&P]5%\*P'J"MA5#'#7$]M[9-LDGJ\%E-7. VJC&L=3 6K1XUP,J4:] M4=\DG+K6N?SR &?U]T& _2U@?&+0=#<$S3<6C/U@2G;8C??G?+I9Q'YW%#M# M&'[QP6PV?G7\: +&\8S%L+5PKPQM \A7$&Y[QKUMO:UG!,GU&*AAN2DL*:5I M']+B/,&CB583;?E@>4RBK1IL%O)S]JO0G2'$-NGU\!+AHC'IYS#IV!.[3I(7 M=^V'$4;W9H$_BH>1$; GYL7L0$F".D6RQ"F27;/7V[$LOA(9DAJ'SQ^'__:7 M7L-JO--8K+&XPEBL.;'&X:KCL-4P&\T=)[1I)-9(7(IC:W5"8W'UL5BS8HW$ ME4?BBY;9;/6V'J%6"?Q-*2>C^K(5)%VDG,O+?([4+5DN['!MI85>39J_>Z&19Z\ MR&\KXJYPMSNK;?:Z.X[Z*6/#NW.]IH[9VW6RI;ZFHUU3LV%V&VU]326_)JME M]K9N-ZZOZ=C7U#<;[6WCB_J6CGU+C99IMZ97E._I]6'LM_1:?3P$EC- M&C\V3+AI]SN:BDM^2UOG1)T-&1\[%?UTSJ]->E>]/#]8A0=0=[SK:1S[=DI NB]B MT"^?RA>R1TKRVF8ZWSHP;-PSZ.PR?;<&0,G)HFF95GM;";XM$$XJ9[>Z.\;:J8/,VP;CS2EYO]\#K/F4M5BD5=-,Q6I[6YIZM* M^'ONZ7D7W:WOK?H>2LW;-&_;/,FXO6^GA^9O1\SK.4UA6PF8W)'2CT\;AKGV M@YD?V!'C(9B?"2$?:L#XIB'0"FSQ3*.T5L?L=LXH1;,"F%2!+9XKLK?/*].U M IA4H36J"JIC-QHZ">E^8+. #1T;*YEXB=74A^W]2;\X: 7I.:UQIH:.9;8; M9U0-J]=X(5C;Z&ZK>6NLU6L<:8T7X4/AJ:S;I+"60N4KT1I;:-4O*1!P5IU[ M.SVS;NUH-YTQKZRO0:>_<=O(ELP*+WHGT8_$>N)5ZY1%7PK=63^J'C MC9@7O;WLTSI<(1D$;]YGVY#MLL[>=*MVK;=6N6HL[[G6K%GM#7NNE6C;5JW1 M6;7KP[2WZV^P8?CVTMD3TG]#?]BD29]Z@?TQ=.,1@]56A)QP!/W8\6QOR R7 M 2S"VE(\G=K!H^-)[II!4L3:S9!]R5M[@[=5WPC@'_W L(V1$P[C,!1PF 7^ M*![R2G#\.8!K\&)F&B%CQJN#8$>R6UKQK1,!5@XWV#_@2^Q&(6[S*_?U^5YX MX"VNW-"KC?"FOQQOCKWA=11G.)X139CQC05C/Y@2A=QX?\YQ"[)GP(@- R2: MD3&8&[_4:Y8!&W7A*DP#\*OQ5].(?..7=JTA?R\7C29.,#+^&]M!Q *\Q$:] M43)2%DPS](&#AS/=0TAF L8X_P@7Y@1XF3&W(>+9# M($4'L 8NW1C%#->PO>0!>$UXNL/01\8&GWEVHHGAQU'H ,<#C'ARAG!8SO_A M@[#"]81-D4O.3>.S[<5C>QC% ?X-@7@-QPE 6S N7EU_OG[UFGX9L,<8WO># M>98+3P"+X*P39H^&H$E$RS%?(%RK4>NBX%J42\_.*)H(1T;Z1>Y(>%M/7K$' MH>_&T?)7BJB,B[@AW#<+3D1FK7ZN_6KJOY,@48$>V>4 KO?'I3V&S;ZUW6=[ M'KYZDSTBG"\'TLV@L4(T581;;2'YMZ?^>JV3H?ZF)<@?@+Q?SG7@8_0SQ[!: MXAC=6FL7)K9XJJ-P,<573 ,^'CFV"POXXW'((CRFZS_#'N&7_A#M$L6::L:9 M"N O/OS)^-7QX8? GK$8U/=E*-!,;IJC0+TO<*!3$UU<3B*)MSE#-T>-/:E' M6)U:;S]X'-K34HCDS]=%0M:4$G;AY>VD;SG1?@<6N!I[\DIH(ZN$M@7VU&OM MD_/R;0[2JL,K?@R@'F6T:6M1)AV*F/_$D;,\R]RF+L<2;>THIW1_WGE M-'M#-AAWV<@>6BUK-.BUFK;5;MAVW1K8G5;K__8:KU;3@]4X OYW"_'_D_/? MV!DYT9PKWO8,;5YDI'X<#%-Y*M6@YN0T3DA8-06$B0-&" VD HV<6#UQGR/\9.$]8J07J"$/C*91G!.(" N2KT$YM-_3Y=A$J*1 ,@.S\ M9R.>20-369X&'B6@Y:Z!3IW(^&@/Z3V^XA!9"AP)+@W,!?Y9/!7PB$=.=H[W MQ,)(PMZEN^'/P+> . &._))L!TPB[O6"!\-X/':&#KZ&X S53>$G"F^+\X>I M_1^XAVBN@(!?LCWQ209??[)=6!7 "!^>,)?XR_?:?IC'UCN,YX"2,X&D$UAKW,%DT+X#VP7+YOC<_Y& M;<)B)3*XFJ@\&?C&!S9,_\DR24@8%P1_+J/"UV\WA"5&=TE@*%N?@E8 0M>> MA>RM_,>[D1/.7'O^UO$($/12WGT-:PH;N-^K]9ID!HMD1[&\L)!K]*=<8@3_ M6Z=9Z_=Z2_]DJ6X1XMKAT8+\)NXT M.DZJ3SY&LJ XB E%>9UN@YS679%B6/,,-#]ZUS+:UX[2%TO1PT[BL<1G'6=7-5G_' M&3P'Q^4CE0&?3CS]GC4_3M'5ZIQIM>B(Y2;'7L-L-4\S*5DCW4M%NG[/[%DG M1+K5J97E]#X5.F#1E18XS!NRD>&Q1Q[W(,MC[/K/8=[3BMZF9PP^>)'C\4 " M]UJB,^\'FQL1&TX\.-#C/!-0G 7^?]A0E'6&=]/<[*E-&5&:. A]W6NU/FKR& (P9WP#S /$;>[?1=S. TF(= \(<[ MEY[;01S"XV&8N2PR/M&--_#YM?-@J =;'<: .U,6A#7CJW09%R/*L^.Z&3P9 M,,,>CP$)&#GBO:$S(PP KG>%/'-SDA MN-S]&J<"NCR2;*9B&' KR[["H<@?!3!0#$FY@A?ABNE>&$8 %(6-.2%_+F!# MYLRB/8!+8H4Z)GKVC1GL:H*YM:DL4[JM-WZP+33Y@5VX7^09L5B4'W?I03'\ M@!MATYGKSQF[).)DHTR R82/(Z.QY\173.)+'D7FDP, #,)X-O,#'API0@_/ M]RYAD0#.M?PX=,=5BSY@$"I(!:)25P?P5B3..03("-+R%2:(8'4.>?#AL4^1 MYQ$\BH$?BG8-@#,RBI[9$0D,."Z\XL)V!88%@9 +"IT4DIAI>-.>ECQ&TD<$ MN7%5<8]%K 2V/XX1442HO'*W=^L9J+<0.Q8R,[FE92Y#$V&/EP[7\>A@U 8C MB7;@8= 2*-#W1, ?,QH$MWY,DQ'1'85 AQ.\4!F<'+$Q[# O)OP!"GG +GX# M0Y"7& ,_+GM1O-DT212FGW??@P85PLXGTC%76G3L!&XZ>S6BS9-P6A,_7"F MQ C'8OLD%+-K$!M-)4P^J^6\XH MTEP,-1\\NP0+4$8TP;@[H$G-N*74C8[)U2O@= PY'&X "QQ<)+PD$R4* )/& M/)U%:TX_ISEE1>1G%@Q_" 1%2/.?-8Q_#L97DK!KQD<5_^993(3IHH2%4#MU M'1++Y;TH=N;YSQF61BH0B!O% 6"QHA0-TB* %U#"!R:) &%=?;OE8LI!:2%3 MZWD:E\ &KDX!PX'7ISY]'S/!F,CG%02_^ J>1Z/.OLB3>*24@:9@U0AF8M6_ MW?_K[R%H=T/0#,)Q#*K); :ZL)W&+:X;(UM5BQ)*J42?&1A1'N8LIY%*?M)V M"X4-X0Y@ZB/C*NPO[5HWR55$%&SV4LF+H'Y(:Y@.]-F>4P24-D*!6H;:%&:H M&M^DU?:0$,6#) J4)Y_X@1+ZXFK<%_\)4Z]#XQMI:\;5;SSC1_U>(^6>^!DE M4(*5IB +]P96C:!\-*SF?R<3$E0,%J&1IT&_?T>'\FZDA(?0E,8.YJT!_4]B M^/;R(@-=Z_2^7<]"IV*U3B>"VH2!;3,9@E92,[[%01C;P!5$CK:R9XBY"WDR MPM*#> :R(I$BB*"_I!452GL$>X1 3&LQ\IVA/!KQ%%:9DJXY^IXUU%O..4(& MTKZ@OF#!/A,/%BFNB:F:6!1V(CO@K0$;8C5+D3)KIUY/XTDK7>WZ/'% G84] M8>XM6/[P$*"-0C7@@O^,W3EMG:TF2B&_%I'OS*N-TN#M)>"MH!_J*V !)N^!VMI=5%N)+<&5NW_[2Z/9 M?+>@FZ;^] _BG<;]D )0B_RS032]./E2(@0DI!(5:/ MVY>>Y\<4#Y/.RXD-B.F'RAT3A!&2&P]H48([_>X291YI&=_(5V/9]-8E"X'G M<82/$#TY'*X__.]EQ[):B@A2M@=(5U4&\.U?WV4Y&Z!/QISAJ\%_'Q\)_':& M-Q1P#[)/5D!/^LW2!?4%RW"XV&'JTX-YD9?0QL--8W'X3.V\E9#V6Z2RXD;^K1]0< ^,60F?0II+J3+%PS+_]8N%VQVS2>-E.7 M(,#D/WI JJ-$N454S)6V&?3H$G^D\)#7C.^SI%"&BA$4Q%:"V [#>(JHQJ,C M,V3GY*1%#R<>43C9A\ X*$"P'9#PF"C((ML3E<.)J)5G!L8/&UJHY_M*+NR$ MB!(/]AJD)XLM)9^+>9?C\78T%\[KA3/9,Q1-\,V45SEQ0/7::7E]X< "%.^\ M'%"Q8.$[C78]=?GBY/8C[.819)R4^NH74M!@10E1(*&M,S8\%HG@*F ^@Z\1 M90^2=6T#;Q\>1A')XRZP0]@B7"C2-2<-'AR,4(2BA0+X&Y+' Q&'P$N(32VD MY7HC4#&XH ;[6+0RN^2_-/&@RRPD!55C".IY M)LZQW'7S8/]@(UN@HU+NLJ;#)1=L&*D,&)9\T74OR+E>MF0VV>HZ8A%[2*,\ M]1-:PE/&3%;:!>Q2$7X142"#X&+,13O^,;"G&5=MK];,412Q1YR1?\L!)!]A&P),CQ$&HC+_R1P#F JU(S[M-4GJK\+.9': M#2K9? LYSH, 'N.ZPKUP;8'>X1[-'"*ERD$CL!URQP>&8,MI%HU8G&Z>7,#7\3 M];U?17VOW&#-N"(_RH@A5?#:2]SP4 QMI(53_:\26LRO:-)&47@!B0VI\OD9 MX R*=S]IWU)%LOMG# K^0% JM$EU$]I 2M:3=00R3 M+X6?'=C$#@?D#@2AOM3@'J$_:/0(+ERR&4O#EE%2#9^('\G#3;J>2N8=%* MV=^U3%+JF<@0JAD?8 O*39)<,-*=,("3K#B;'$,>=W)(8X 'Z+@F0>0#FBK& M4E'_P 0>O%//-] JD7DE=NQ&/+4ES&T@#R_:!C(V;H!BG3GS\.&L"8&VBN P MP#9"\L!@1 ;P8BXR7V ?'CV A?6N"^>*4P^!ON0M0@J!S+$4\(3L<#Y@+'_"+PE^OQ@J?@_8.VX3][*>LD3Q4KJ[^![T7+_D:8*M.TGAG_ M)#7" 8/+(=ZHA"$6Y'MV.AUHH9G&4ZXSNZACAM0- M*0(QPS.@4QLHQ+U /,Q=-XG6#;S> 78^HJ]SY!JAPN$,8MH4)D $:5^@XU%_ M,&X7#/PX$J*0JP>(AOX >)!J=,'0Z0\2R0)$?'4-$M.)DJ2G:QF?!MLV?)7T MK8EX[N-WSP98HC$-#XYX*!S^1550E%#Y4=V 4HWD%4@+'&S,?W/;&TCKCO%< M2J%Q6?7+?U?-B!,^\10["YSP!P>GRM7B"5PAR2?L7"I5;IG&>/WU?VX_7%I] M Q.KV=09"H+(_]J84"L>L*0\ZH>1YE2R40D/*/$T3$ #'U\#)0BX$J88V%31 M0!\G#Y9,*^.IU3+M5V;*AM0W:(K*I4Q!4QG?Z?8IJ61F7)EZ?/"/SU/Y@6([ ML)!RGO%SCF,7N[U$+*T"1H4 (*?Y"+C"$#56L@?53\YTAAIQ.B_=% #G.F*J M# 'S3E/L0H@=L3QEAB!6"F]4RHJ4.@EV- $L@*^F$O(HAC '@111MOH0KI5@J73B &=N(*XC7(N-*Q'^2[.040O[#?T;8JERQ)*53 '>ZT#_5]=$H MQ&9>:DLBM5095R:R\2"><9@"%%/(*)6+S+MJ:WA7G#KS[93$P98="D0%NCI! M3? #9N9?%F4)$L5U8L.*Q 9+)S9L#[6E_KZ+5W=_LZ>S=Q]>O4ZJ9(K*?3@# M03F7E9R/V-^)-#G4;K @F],,:M1KJ2Q%\Z@[/D_ 4J>0O.0L;+$ @>=\IY?F MA7 VBF!5]9;P.UD/(K7=7(<^9!M%+?I0;E.W,L%Y8D^R,Q20F%S.=7[.#_^+ M'A-G/$]+AI3PQ+3TM-:@:J>(MW-_/[%LE>-.$7&:I"CK(+AT+A+,:FGD3@5R M-R]KD[H<*8\7+CQ@J&Q+J9KAN@5B6,4P"$YI"3S$ "P)8"5UA9G@>V/4K8=, MY6B@HF)FY.OOM(_ (OYGZ5,5T?'U21 F$HJ2(//)!P:VK$, M#@-.@$9,IK!(8Q 7<\=&SU@GDVO@BH!<\U&U#*LCT4S M?I"$121,D4#)_$<]CE))1J, *311?U,$BE]7QD*(R,4/GU,L?I\X+LLY .BV M[1$H/.CP),L82& B&CN*KH5I=$R?>,!X'5(<)LD "\J_N835Y=B13./)6@0% MVKZ97#[U6"U&$ADWYHB4KL!9:8L+G].3'3A^' JC<.:O/M^,AI# 1H KW (O M,*RKFG$'KZ+C N&MC6FJ^9)OEKECC)E,LWR3H?HB.]:J< E/I6MX;"?;,>5 M@E6Z@)5_;,$Q1?6FZ3:GN1*OE9TOS70EKBH$'LR7U*D* D_2V<1>N=*.TD2Z MF<,UW4+)#,6 ?;KX0#1\=*0B)$HH75NP'$K.F"DF !R 'Y\6&F=172Z6,YBG MR))XFE^8MW43"A15%I*!)\8ZI4/*L@SA_B/V(8LY\S%TQQUBLS4#]2^,DR"VUKJ' 6W"0W;.'F MD4J%1R5AZDDLG4>4I.K( W54B8ZN:LZV&/*989($.F)CF>8XLXD[#EW;01%# M.1P(:U I*NA9RVCA/%*O/!P<>\GYFN78YL;%K;;KR\KEA"LLT%AQ_(J2-X4- MK:0>[Y^+=P<+^W3YJ6TAI5'1:T%_X\+6K(("DDI:.Z(Q5=QK[,$U&59#&!99 MQ\6>Z)_$(CR_8)"P/Q 96?XV$K:&J^8*KL2VAA/?#[ECAK$?@@1%^VM>S"^@ M S:(^'9>RT@:.:=Z%Z$):CTCZ)N@AM>2TBF-.V$V9J#U5O[\3HGF1L:N4# MR&;%9WHGR'1*67R[F(N98*I#Z"D]\"I%*?,)ZO< -RBT:T%-R'L=CZI1N,4C MLRTPH [W%B#F!1'$.(9!_*['*+J MOK/14IZ+PVEED WY%(;^Z+;(1LX[7]$$B7,NDT1O$^$#66%!VTRA\<*=HJF! M%F6"=6/["1!3+!"+NZ#L!WGX,8B[PM7YDA0?$8](;IM^2G7*0(.2)VTK\99M MG"'L/PI(^FZ*%XL^-SG(*.)("TXR7<$JMRGEC1+75&9DCO5(RE!8ZV>QS51Q MU6>'+"T:@<%W.)VQR*$[Q!!;2&)9.05"Y]%SX/@V^2:$YX.@26;8Q)YA3_DT M?A [$XS>M>=\)R)FGV1#^ED^D*0U!NMI;!UIF2B8([Q&9"N\S4G*(1K(S';! M&N2LA$Q+GJ2,AJR5@"J54Y$P/*Q@HB).'V!5%HJD3)D\-47CX'_$9#:9%5^$ MOD@!.10F2.?T+/FHTMT2+IBCH:2LFUJ6"=TE[:]$Y.7,5S#'#&ENHCD?=J@( MK;CY@$QJ OT1E:'-V_*??J(!'PS@\(Y889)!D.MH!=>TT11&1%T]J4!/*CC% MI((J-/@L;G^YRQB!?C7'"'Q9S46V&2IPF D5NTXD*!^H-QQ8L=&!7QC@]C3= MHC(=PK^P2$ZVXG&.(F=YJ899G'5SY^T.7^ZVSQ=6R^QW&Z\/<_BJSJ_0Z%L5 M].V9O7Z_9-A[]A,K%N01[UB^!WFT9J2 6J.Q'30+2;B$V-PT&YWZYMAIP(2AU5Y-\+@ MA6!8.[W=[6XK)$*MV97T_; M,MO-_FZ3N$JDNM"W.SR9O]0,1S6[OY"SW5]3R2;P(;-@:K,W4H%-QM-G3C&M MZV6:+=L=OMQD?F'US;JUO:97#JM;H^\+1]]FWVSVMI521T%A(;]RI7I-'KH\ M39@"/BZZ=66/>=H/KAZWIDL>V7R#/32!]O2[(0_T/57ZQ:*^D@=_?U MN\%K?NPPA"W94Q_XOQ!B6WQ5,D=9>]F7[)JG?1+!1V81,JO;4A[2+R7 M^1C/I\92@4MJ893>,";\\E(S?SS&"\0^0KEM-!)H),O!9H*894_/:YCS+V?Z M>(YDJSC9B/4\2;Z7NH'M*)[:UZVG>,M*7@G% M[8V..[7NS])QEK+:J['97*3$Y)9H"IN@X)D]Y_F>121CI0"'+$]U2J2];IS+ M62%=X%8%I,Y#%R@*L'&,;.Y$MJEUVSWD[WO/Q\=?OW$/:$4S.-JWP?4?I< MNA/[?H\.K'#UT?,G*#[L.9+C1Q6\V9$?W I91'_ )[^081:YJC"_*A.QG.\ *&:6F@VK#2SDFMK))>Q; M-C(,ZH@[<^VA;(VONL?V>;U^*Z6X;W%'Z6MNI';RD]BS_.J7W/4:G\.6;SFC M__/*:?:&;##NLI$]M%K6:-!K-6VKW;#MNC6P.ZW6_^VU7YVR/&59"BO'13]I M1ODU:499OJ5HU-0_8Y?!GJI'V4HI4+9A]PBIIZG-O MT; G#;ZMP&==-@EL&V5Q:K@IN+4NVQIN.\#M;X_1NR+(K1$;^TJL5D/91PE_%N>ZU]W^T! MTZH[*]*J=Z\HO'W^+J//^%#))UV1:7:R-M^UAZ M;WRW7>NMLT#[JPQ0:U,+]*#^C((MOWJ/PPWXV+M0]HJ5,QAY,J6:R<%[=O/$ M3&_(7-[4V\][ W"@*^^BO'(")N_E'6=:)L.KRZ:Q\($Y2W9F#_PG!CA,S2GE M<'0QL]@.F)T9-BD32FDL!7;#IG:(/(V!^FI_9(,@QD$Q:F0S=?[==';L)UX' MFAI^G'\R.]/Z,XL^.6-6 ^ST)NRE*2/@R\T)$0UZ>87P9N,CH/38;$_E9-T MNG@/XM_]E7-$,@,[Y?CL56,[Q;WM9WCG\MR7 S)378_UOMVL>#W6\=+@EB9K M%B[31GV)*/"'V+%K(:*60W3S"HU=R%A5L;'K&J@1&_ QB[) M>C&6*YK@"(I,GE; J/IB*"#(8U>C40B =)B=GMS56;;32!@QXFY^Q MF]T,LE5H:[Q9Y#//X(VKQX#QS-Z'^8SMH]WQ1G I7TPX <0'8)DO&!!"3'P6 M8D)D6^VER^Y.Z0.E:_3Q68VXY@,@I#ZA$(AL0B4OI1 4XRU10J.$^\"&O& MC)S&)OD;.[O.7\S%\-FM8/)W= -DW4%V^U.WFXT21UQV]C%7 >$^I*;\($^= M*AZ+;BHU"%WQV,.VE#TSX";%:0O]\O<-N?/L]=HT>_5M\RBJU^_UM#BJ9I8- MTZ,#4Q.V6$+]IU:7J@389-R];I&[O4;0J)]' ]9\#*)<[5>IY&3155H6&7^( M-38,[HN@33Z^_S)MC7V"IMQ\IV7VVKV?:JKY4]#Y*8ZU-,-DMX8 VP6:#A=9 MWSFFEIN.7K&(VFW2?Z)+B139'(K<$."Y<2&C\-E3JWP)C%.)8<3^V. MXWR< ML2Y??,!??6"#),4BGE&S(*N>[O)'O:UPZ"V:A?+=*_&+Y%7*=[&QA9;O/E&& M"[;N2'K]R3?OU .?Q /\ /E-I'MTD9O/+FR=9P"=!;PYPD!T^.G5_TK-,X!L M''RBX*V:<;6T(4*2Q((),J/ ?O9XQP\,".: K88EXV,T01:>47!5'926G9F& M(7MS(P(\PHXDV""$!QZ_#B,?S4B+]F312MG?M6BB-7H^'3#H82YH:BMGZLJ-J0G!-!FW&??H>=L< S;GA8&7^-B5._VRXF MGP0XI/V??AQ@O'GF8F#TU]=&O=:N_Q6;VPF*R)U_*407P&$G +$]#QMVT/YQ MM+ KT2 'D%:ML0(@U.DJ!0BY8ZL&DJYJC8.^XNSM5.0Z@7".! W>-F<8![S! MD V,AWF(M6$\""/;$XTQ\4[%9/D9"T)*(E"]P+A"3&7%^ !>DXN1^CCU$$^J MRW]=1-E#[.P8D^<'65X<@JS&K+AD"GMZC $.M$XR!Y)G^&*(/%/ /?I?F4+ M1VTG \]==..%PH,'^X7_Q^>'+*!1VO(]RA(0SQ(7Y7EH",S"\R 7MKKOPL+M MR>W3(G)8NB"E:W\Z(U8&B!O O8_)P,"\ A;8KHE'BW,)'#CRGHTPN\,$6?>( M(]5QYRQXA/O!C$-[B..['3%]?89LUL%&4C1L/H!S_Y#Y)R,GY%W?^*/T%]Y8 M3F2"#(F0"#4H+P20@?=AI$G@]+,$G>@E.6'N",ET[ > EQR;G)%C8Y<[('\: M2X^L5(QL!PR3\ U9"F9\(0\6A$QAR M))>YA+E[,U.X@SL>NCX.CE<8SW'8X2QPV2JR^2N^@8BS5DH^ S.CR1T( (<2 M1A62)2"0O;P69.?ZE![<2%;MR23U;)K3@QH H2>>>P\)/D?NJ=5[M3[3[>!L M>DD:VWA\^:OMTM7?3U!@7J43O"HF=*Y6Y6 3QH_ B$.UD/1#Y'<^ & @ ! 2 M -(9;B:F=8\8(!'71VYA8:-9;U[8KR]:K_%C=^PQ%LE7]Y?_,JB5I3^-W4?" M/I!GB*7W-]='QKF^55ZF3,XT=_\_W1LX,:'!K%I/_)+[?K\.5[![61\5Q>YP,:7 @-]>(M MX* 3X!=EEW8T(D"+!W09(-MEKO^\/.]5%P:\;[=*4!BP3<9Q=2L%MJ:]BDF] MKY[Q3]NC&C(KI6D1KV*B SDV$ Y%;UUB#R?@3%B)\ AF_M0'X>30M( H\*4' MSK!GL$M[..%F=2A8:B*/X)>.8CNX"'.)*4U]Y$[JD\+ZG/(]D@4J1C.091)& MII#BDKO%W.EI&Z_ K@MP;94/F9JR\HI_L69\%WX4)^2_X; .F-0-J.I 2D5N ML#IC1@[*HG6-C)HB36HR7GWTM_H!O\%D12H'3(;!D)1*UN/02\^*&1,\R(K+ MP '=O4XHW0^Y/9A"G4 @H4DO6D!3Y::=]@#R2HQ,R<6 &]W\9^'2S2V/FH.< M,S$OH6=M*8AGNUDYB!::!CBKA-T%_HT#R*$#/;V:( MCT?#397;"5&/U_F::3OQDMN) NL!]HHR)8A1^,NH =R:,D/!SPJ(K1I M,7X&O63 V(PGVXT3QSX'!NC[K%9"/\"6)'*]A+<2#RW?Z=::F5S^*'N0L"+- MUA.[2)(%>15M&CF4=M3A! _NXYL*/P:5A4NWGDEHEOL:RH5'3X598J@ @QH44&W-C MX0KFO(;CJ,"'!1P2KR91HE7*D-2%-M@(<-!X&*79Z#(M9($+4PUF*+4.>!X9 MHM G,AY#OA'\:Y!TER"E:3NMI%)(7FSK;&/H5PSK=S)S,EZ05P=T@[Q2YLUL MO4T3\I4=8=:D7&NX_*-AE (J,XC8S(B>_82L"MXR0 P @S00!P8)K*>@DPUDN)+R4\B)X M0MI-QHU-O %0F]#Y3_L81K(J>\\1).U;>M]N+_["W_ZZZEX[UNK=_8;-G]EHX?(T6[N"KX]N'FLP@ MU#;(RZ[,N?[]_>K+P^W#UXEY=M?$/ \Z!6I+3>FS'?P C?$.NWA\ M5M&\JNE$(M%$]#&AB8QV@(E,W'Q+M2L9NS%:=SP,*<)9J4&R,DN'J_W#.#4#HZIARNU!U%N69X>,@),:N&FZ+?[" R;F]- M'M'O7LDPZ/'C?9NZ'TN#N;?R)BAU\QXT)H<& 9Y[OO;2?.SU6==KDZL7DF^;D -SX\6F99 #-2&\EQ+VX.J6'3V >1M[Y0 MS\D)WKB-9)1U'*@T"^17O!DEM9W*-)2J@=W)F8QL5$6)?CRK?.1G4LOS6+ZR MC67-0(XOV2K"+W4Y)[ B 8-9SZ%6?L< M&/C'"1 VG"@I)D#G3ECCV[]W*+-1507 MB(RAJGJ0+XBR73IGE>"ACM*12]0 MBN=-YC.44#Q]Q:K_58B[@J,\4\I,)BTM:Z/FT:)R,N.C$._74KRCWE,Q>?%U M0^K;K^9#WGC9%@[H@O/>[QYY+*C!)BR*MF* ? )W3:MR)XD=4FJO+<+"Y'/, M?DXTHN5>EV?A<)=HAF$OY$W\E4NU0RS4&:F'$B+EV\/L<=Y!D 1IT58Q:\S% M#G4@L99F^8>V*S4WYOF\FH6$3^&*IF2A&7 +4<6A(813(>R0F]B<> 6''U)3 MW1G0+[IM,,L]E8R-3N60V(@S8HNKNI:I/ V. M8 AED#&X#O\.G."VF*RA]70(\RW)3$-67& -^N^'MF MO9Q7?TTV\5I^'WMC^\D/2,(EO#]+WLCA?^[.A/1(1*%MP#X8$12/EB3M)95Q MMBTT475%G!<1PY6016"@W_D/"@2Z-"O=2M3:WY,D[*1H!-3*1_)S(_.PAPHK M*#_3Y]U8*B?T;E4F 1[EAL\"O^=I"$[EHGYP;Z@YPH?%5',G<[S/O@LG0U9Z M!6@P!5L!Q0?HQ#55.?KYZC9I!LY'OH?))'= %"K9$0G&-2P%$4% 69O#52&' M,'MA$R:8%!//^.*@CXT+KN'$86,LTQG&% [QQ\"(66 :__$IH5]LB.JE!CY& M1@!W1T[ R*/ ;;B\74B6S]5MJAOD+ ["V.:9V$J.DH9/\2"4#VPX\8@M).V9 M/"Y @\@)LVR!PI@H>( 0,O2&C@BDK:3@AD;.$\$]^2)5G(T9QLL-&FA/Q(9? MP@TSC\>F^'%X8I5(YDH*'D0UU!0+FP#+_V2)L!OQOE.P=F(\9 !1PCRJU6%L M/+SMSO]D>7XVS288(BH5X_S5+3D.X!KI=FP#S4HGLGGP#1?'X#*/S*45@=CS M!X@*POB9Q=AT^#X]!C[)@N=53@O/Y^P?.[T^DA*WAS#/S7\F+YDZG4S14+7/ M@HD7GI*K>EB,F=H=)AAA][%@&EZZP,2QAR-_,\._B69#?S9!K\F09 PJ%J'J M7Q1[LM>T!U?*OTJ$QPE'I?-3PWTN9$)6^"FA?*04R= !E+&#E,&_\!)?=\"B M9\:D-L"+()%F8I'+*"VQ,=EEO*Z!D8?"\0J6%:LB7 >,'G>&>$=P$[ 2B&,J M:8==_1=YAC.>RV0 X;A4$C6Y!!UL7!5L[.PCV C'K4BT<74IUU%[=?=[M7ZO MK6.-I8@UMLXJUGC]].PZR"TMAILD:P[[ M'O. %1IN6!8=^*)?P+? 'X(U%E31A)"]#F0T#@\W3!]NI@XGS'@,)% 7 _$0 MI1&*F-=,YKNE1BD L,HAIT(W7Q*^K8@*% M2B;D]1!L9/)=8IV@B;$!]+W\B?_F/2+P>1'^$[H[[P\CG'B8G<4+4,1?[V^N M_PZ+QZXX,VY4-A" G8H?D#R3RE+T,H6IRIRR0V[QPSNP 9-J1# MD\[MHMMH*-+B M O8(9A:^K.X@082J&1!?CPIDQGF#2#7DCJ><8W(3FDK*V0=SXXYPSFK:EU;[ M@KVFAZWV2/PDW#II:J@9OTJ#@$J0 O;DL&?S ?&$X@*"*("KOMO<$(*=2GP MK!G+QAS8Q+D9$ M)AF!D28J-/LX07$L]H>\GD%6J]-8()L*"$/T#X%1&$3ET=!0IZ"C2*,*]]Z0B671""YIT"C];+;3/"JBKS G?<^?%R@&Z S&\\*1.!ZL% MO'2 (S=%0N'S(;=/<(?D!<0M B>8.F%ZXMQ"R1W?'0](K-5YIG&H2JN$,WL8 M*;TID 7B(9#AD,<\HP -L925D8*\$V8L))MF]LCV,N3US%[L #!W[/#(G_)P M+MNJ=$T* G<"D:EC7+FA3X;5?YCPSPJ7*\L8Q5G%%],K:1LP-](P9=2*K L1/:P\P,%5;@AC'S0PP7MT])-:M(WA4WP M$$D=;-N_WN01CEHD\Y^:UJ<]QHG'N+L?CW&SFAYC<9%41WCR&RJ6E-^N[AZX MH79[6S.^/OSCYLZX_?+QZ]WGJX?;KU]VK0^PZIUU3=':._3:%B_I:IZ#>]A/ MD/*QH??=RC'R<_#!?[KY[>H3=[[??+C]\MLFWG>YQY]N8$][+(EB^SM3?3.2 MA!0;O0#1G/?#F2?]ZV9B7CRV8WT46DL@$KG40RY[Y(V)L885$[(*](!->5I_ M#4_K[ +]AF9I+R%H:%V=5=00:PV-CU?7#U_O7C*S(@^<([WGJMA-U+I9>ZYU MLT7?1>6FD7VXT>SBYE_LB=]%CNI50TFK(N,:-R,'Q9LI@XY"7F1M!YE^YL(> M,RYPBW(L!1IY'WDMX*O7->-#OAWHFBZ@IK"4I2-KH2&IZG20LL>%GT!%\G8 M(+<8A5]16JSIPZA^H#:669$C#EZ@#I?H-A Y4T8X(8A2D9JJF4HMDXRGF-H_ MN(_,G$VCX6A$QYV7-(O+Q0I "1=PI\-AJU]BE]?0M% M#]QOM0!HDR ]L45X/ -NP"]D5B9EH7* JI1Z[V<@F@[&XCW+3,D"9\TCNJ$] M) ( S4[#FVC!?(!MC 8H)8,511]L=H/"$O"$Q&P":PH'Q.X L.>V*YF*E8+.2B M =N@8$?%1^Z(2TK-Q' *Q;PVZIYLRT(>T8-(64LP0J0E[I)C'DLL16-(\2.!$-Q9.C-'XY<@$:/CA^'"'8LBDIC8K2*(=6,+S;/ZS9Y M*08?Z.EC6##!4?)(*J@$[#&YUG0TK(C2U-^-T!XS,%UFV!!.CMQ(=HDQ2+PD M#TF::_T2C_ES5.PU4G\2/E5JJ/A$;>+$D!1:MXB\:!3\)(ZP%!6_H>Y&?66( M].FZMG($4_7QT "4G5#R>KH#@$C7QJJKX-'VG#\S94 C'#D">@YW#4="^*62 MZ",V(T>R_>0[([QN*G5!63#FGN@T<+ '4B0J5?"P=)3(IEC9!-W)I"8\^\$/ MU9! [$[V("!:I.[IH-RXR>%33&T YZ)[IJP)7F.&SG!Y[3;> /U5T7,Z[I:C M; HRI=A6EF7RM&.L00W<$6)U]831 [G;9HY@$X;\#-O.8^8^L""3LTO*L1(*5DYV93/CX1:Q@SQ'P&& ]5><2I&N/4'A M/*KL^@-,EH$5_:FS[&+,U+>!K!X?J9$ CW;P*/D&BP^-$-1%JOPF_%YX!=M^ M\3_I[F;@B&.^>'Q.&#(.%!'@853DN*GXC(VW"1FT#]1I36A-E^5 MQ@+Q2%0:TD\^<@=7/JUP'AOP\9)*;Q&85-,GE0%*(4 F274X#J4=J'Q]/HJ! M!_1'A7G_/#4CPO0W,QW&#D$V!6E1+)@3L(Z! MG$/%>Q%PD!3L/!,AI.HF&E*%_!0/H0:^T0Z WXY$>"T9!*_D^BP&34(,V\L6 MM 9)A9+8_<#V?N">AR#[7'M(>. Z (@1Z3#R5^.8W%YFPL;P%'S$$H<*)SD> M3-TL>E\J)O,[RY ^:$5.Y/-F ?E:R1GHET-2@A+A1^'L*5Z++02C*"Y+I#;\**#DD)+TGOE(+X//X1"' M X4P&)&CU:',/HP>\X(9+L9ED4^B =R.X0=44%529"JPG:@,/]A<3)'SF$M! M7CEG1%;8*NY--YS2*W)*KJS]XL0VBB,1\Z5[)6V!Y4XO"$O"3[$A]"\/<"X; M7Y@G4;*\(62(\BEB>V\6,5 4'DE^J'@P&ZEZ+]"%_#33^ M=$+?33$ R>D2-5C6>.4(( .'+"+]QQ]4D$D^%/(%E.0"U&R)%T#\V5QV!UP7 M$?8BZ=PH4%/C"[/]4M0*I#O!/HFT(S3W1/,=3/M/* P1 M$CJ,*1\&!"B(;Q*I&1$JTEUHV.,0V2<6UX?O\BMQ[8(GDP++H([!I"H$H%PP MOBXWBK.K!RSIB:"&)^ALCQ79'KVC#KK9K8+O&"'L8O"DL1F0%/!BGDP)2WO@ MQ\;=W^SI[-T'J2&2^#:%/TJ^)KMVDRG#G:AY\B//U#.IJ;P%!9CY U\8:BCJ M/13>Z,F+L=Y@(3$N24CT'D9L%14M8D MU;4\D2 :%]#U=G2:!G;UF/OO$P>KSRD_$'45E>I'GD;X)54YY:?/(!P#ML"H M51;=X@42?R99ON #3B[53(2GF5A")@>Q(^;/+LY9 VC:O8\"@15]P ELB8=E'R M=H+["SDHH9%&I0%8:-+@55C^K]W1QS@F9CGV&$!H$!>YF?NK1\%\!W> M+P_@1L$U/L)/G? 1+%/D6(OTM8\6LY;5>+7IDCI_XNSS)QIGE3[Q_/QLV_O]\^_/]8I/K][O;A]H;79'^_O\$_BNRPHV5; M%*=#'WDFQDH.]@5$_N[97%9[XQ;6FNN<@NM,G='(94LM'^L8ZMD6;>?WG(S* MR>]$!_QP\_'J^Z>'>^/[MZ]?@!]]N?UZEV)+F@7MB06MFU:O69!6?,ZKV\SG MVR\WH/!\O $])S7(XJ@II*7B'U$JB+4[)VE8FI-H3K*&D[3/BI,LKU5;ST,6 M]8NSUU/6\)F?8JXZ]O&^W=]+I6OCH)/8=JY@W9$@].RU%R%7.FD% $UDW:]867&H+R&U;5E]\?-9L M,.N Q___;/E%6&%X"7O%9-JW[(^),W"B=\?9!H?1"%M[4LCTK>=[[)4Q"=@8 M2""*9F_?O'E^?J[!#FN/_M.;JV XP;8^;]CHT0[>C.S(?@/J5KW9;;]!=.FW MZU:S;N$_K6;OS8C]T;1JDVCZZOW5E!?18$CVCE&-Q\BXQANAM$]*LKCU8!\S M/Y6W[H^P89H8I9 ?+(B3P6@(BX@L4R76P@\?0.5]QI0$6/)J%CBNB%YUJ02Q MSG.;",\&C= J721;]SP:S, J67:\S7OI_[WT/@W;VSGS@O* M3?^M$I-E^SL.I\]8\)2IEJS+T8H^A8;3@Q2M^FN0^'9>A=1L[21LK:'9VGFQ M-^T4=\LQL@_4ORS)P+IG5"=RA3,WL1 9:](= M; 5+B;7?U."2>ZPU7F!\BR-5TYQO/==+ZA9;Q"P:/\/+KD626XZ3]2[_E6)/ M"U_4[*D\[*FIV=-YL:%2:2BV8M6%HGV#KTT, MDFMR9A_.BB<))\9+SE/S"0<\>SP]Y^PZ->=,SFJ_YZN8=7,GVZU_I]&J.$&$#Q!I7=BIJ3STDW1SJ#G" MV>DC\&>KWVSQH4S<]-$607G(63M&*T7.C0W(.9G1HLGY99%S0TOG2I%S8S?I MS&=N[D3N@UT(G!?56SWC>^V^=ETST,'7?6^J(DTG]+*!](9MY0C!_0>,8^W M2OA55OJKT8O&)V %L0W- M_;O@7Z'O.MR2_]5VR;B_GS!LYFA'RR=>>DL[45\XSFO^*_518\GW[M7H*F1@ M7Y-V Q)2#]1S&S_V!4'PV:W_.)8_$Q(GAA$UMXX,_C+E75D>'3HNI MUU>?-*868>JU[0YCWOC/^.1X/["OIL;;4MP,1PJ)K5??>3?K&L/Z/8.4:TPT=<>#@BCO]19M$B>]G88]$K%;7D M2;E?HMWMJV@X=\:C]%K(Q)K"> I;GI]^D'5Q X9.?3\-&+JOWI>I 4/9YH7? MW_[VY>HAT[)IBZ;*)^R \BT.0AR()BL%^+R.Q'V\4>"0)CVR1P<'0\!2U&T_ MQC;3.*=AQ%LS!YQYXSP71F-T>/4 IF,/V,1VQ[+U?8PA3/Z F(@9>]B?'Q<4 MO;+_I!2$U7!.>FV\6^CW=) ^ Z!W]';J,]"NM5O[[PC0:M5 ?NY]V6:M<8 ^ M(< 8VNW--ELLVT37RY/+MOVKM/O82:?,=DUQNQ%9%,45.*R,VL!8.5\L*-%] M%6OS'^R(O3VGA(0O8)I09+W#;8?]G^U(K6R+C_?K_ "W==(3O0G?&/_T)Y[Q MSYKQQ<'#%'&,$I!\\:-"#:$.>;/(H!BZ(:&VXAZXVKNT2?0I;B)W"ZC5HQ_* M05V7\W.PMD4RR<1A8_Y/E?7&?Q2I;?3VQ4SEOC&5&\='R06OM5PH,QO5S+!,,ZI^-&':%/X7$\N==KB7/16NY',M,C R,# Y,S N M>'-D[5UM<^,HMOX^OX*;+W>VJMVQ;.6UIGO+23I]4YMT7'%Z9^[],H4E;%,M M"R]"23R__@*2+-F2$,AV*[M65=>,(W%>X#D<#G! O_W];>Z!%T0#3/Q/1];' M[A% OD-<[$\_'7U_ONV<'_W]\R^__/9?G[F6WK9.[^P)Q<]V#GM MNK!C3RS4N; OSCIVKV?!R=E9WSGM?YA>P@MG/#FW>0GDG'?L+CSO0&>".F/K MU''Z9[WS4]B33-^"R\"9H3D$O&)^8\V9#;SC@_Y\?B]IV M+_K=I+!@A17,L1\PZ#LKYC[Q_7!>3. R>LR6"W3,"W5X*42QDY7CLA5=5LC) MO+YG]U$KI=Z)#V5#,=$KHM=2CNGSJJ9"F_ M181"EPNABW6ZG2[U]*BK1+'CT80C(1!B3TP$!LCY."4OQPX)?4:7E3TR4!$F M?YAWQC66+L*.<7K8T[BA)ZL[GU:GX2#L-9/1P&'Q$-1"[WGZKMH8EI]3H)] M_!]1>P^.36O/29#W;U_Q!46F%>> M?W^Z*PW!I-RT?,(T89L:XN)-@@U48(/?1_RQ_ M;U8T)HZ+* @W_((VW7J'*B2+'R8-J6Q>WT4^)^8_ N)A5\R-KJ G(IK1#"$6 M:+=[)2,%()8$I,=1&/&61"M$8IX@RQ3$7$'$M@4KT\9#2'GU9HAAKO#.D%OG MJH91>( Z,()?UZ3\[=!A735@0":/W%=+';?JC"4!&)E=A@'T4Z")63*L IV=U+2N:>N# \4@04B3^2/D('!).AX["#6(0>UN! MD;!086)W^3]=3,"O,WY-QR#5TI3N":%0BX1!"+E ->*A2D4D$BMC4 M+71^HB%H&42O:_?RW7T7!L&#H?A7ZQST #/S\+N0I!X(3NS]N(J#'#6>T OR M0_2$'#*-F&KB7$"H]O"GEEQV6H,M9@(R7 ZZ[9_AV--VPJ7D*ASZW;-^WK$6 MX !^C;@==F?@K02G4XJF, I9XQ)F+M&8K=K_G=M:'2DJDA$C7&!2KG5U@BF? M9C,*'1:(3+/K,&!DCNBVV"J9JI&]L.52K@:R*R%1DEPBIL4U\H/HC870VQ;) M#39*[*RN+5=K-;"+V;982:;K3_Y"[DU(14B(*";NM@AJ,5?C:MER(58#UXVG M7!J(Q(%(7@NX9,H;8T+H7&PL/HX]'(U-VP*M9*H&F/O=,SV ,T) *J6%M1*! M/ZV] ,O9MM#N'-IOB,^*.2*(-UFP0'0T@U0WM:>85CDOM/I6/NCA?$#$"/PJ M6/T-<&9 *)@!V0")'.,,$U=;_16T^\!F^P5[(\ L:(8>'=0*RGRF;\/)HAFJ.16PSUV1!+%8$J1I#;KI/O5 M0=V?SVVKJV\8_"77"21*@50KD*CU :PI)O=#8M7 2K>V[V=;]0%1YT,N]&(^^ M-*7%]+I\XES#8C+B02(?1 JT1E(,VQ?_K^4<[<6IS.+6MW$IZK3&C]0/5TV88L/QRVA.O*Z3.+!M;RH-NPY _ MA7M8C-F1&FK#.K.MW/J]>J(MU2JPJD2SC%G)W&>A'$BT:VUNKV!K)SG\!$5: MN_LWL+M,SDF=;#=SOFJK.+=[9KL/V9R9 \YP,\9A>T>AX-QBO!>,83 39^E? MH"<:AONXZ&1]NH.N"VDU(^7F<>_"RJ>CRB/A&:[2!\='_U/&+5R95C;*HM)F MITRIZG?[^7,;>M =8G95=:-?D_F"^&AUZT*FM.%(N@M12L?;M^Q>?A=6#WOA MH1/IJPL@LF2M0R[LDG7.@!BS5:,N-C)JHW[(QT1N(:;_A%Z('A 4[6:2EE5, MJQQ5^WTKGR@N^ #)"&0Y'3H*1B.GBH-ZL+3[^:SP$D0.<70L;%@S7Z=DH?9K M)W8O%\F4@G. [FOM:D;3ZQ,*2-7.Z]3*9WIOW-P8,SIP"(Q-:#%3.[-SNY<;:4KPZH ,]]:SQ?4?1C=5+^-H M6:;*^,AP*Z8&8S6L%W9/MQMV0")I%8S'&41<6@MS7/^OA+BOV#.<4>EP4@)I M=^U>;L6K%,B$=8M:7/]'-D-TX#@T1.X]AF/LU3BY5(.Q&E/+[N7F6Z682DD@ M%@4RL@X29+FW)J[J=\6R$/(#J8\FD"7$ROC2[EGY8V:244=R EE6!P^$48RI M9*&,,NU^/[\/4 ;*(<:9Q4T;K;/=<3?CB]VN(? M9W8_MR>GP%/PE_-#(:&%<=U#YD?$-_'3\/J++02HH3ZW^[F-N"J?7/0J%GJ0 MZ%_#!6;0DVVCO9V:(5%/,BZL@K/O$7D$QX&V])X5Y6W!/(-+L-7<5 ZO9.>570WPXJ;C#;6^+6X.,;) M>Y5\E LM)_U^/C5$B=$AKK:H&KE6'I8V/[47M.U^P7%?%7B'G7>E:/=[Q,/A M:Q(8'['2YZC&\L3N%YS)56,I10 AHX5SO?'EIHILGCM?9O@+D3N#5LE=#?.I MW3?TM\D.401V1F"+^3HJ(O5T"+'+&TBV57K1K>FL8BL9:OS/['[!:5LU_C*G M5D@%7&QL!QG!K1VL8W0;,MZN#US6/)S+UAK"98T,PJU$J*W@W.X7'%%46T$D M$\1"8S-(Q+8V8 B0P2FUK82T=M!\')!YO]L0H("Q&N\+VRXXH*@S^F=+'2+& M3\@37XL=0JK]R>HU$N5*Q6G7RM\)&),#27^@+?W 7PB-Z" (T)R''"BX\QVS M3J3/3]EW3BW;+OBP5P8C<9(_X0]2 1]$.L''@^\TRJ8W^(*%/L<6SCW"N>7M M"EJLU #V;%OM,]OS]2; U>J"=6]*:,&K!]X@8!3^'_*1 X?WU_6[7#$?-61] MVR[X+N(Z9!F^@#,^2+Q&:"K"Y*^(3"E^)/[_$+ M94PYSJ'3O?2H3:0"S;SI_O MJF4@!WU8?>!YY%4LG?$6N:;(Q>R>\%ZB"W IN7)MX:QGY;\KLV(ELTV-"JT]';DCC?84@Y#PQ"V4$ M1DFX^'04%<<,S8\ D\5]XOOA_-(E[WN$/ED'#B$J8$I*]TX/JN/611_'/ 9T?D5 M\ ZJH94UFC3?"""V8U*77M2[452PLVG@%TB^.<#]Z(ZE*+;&H:/,5 MZ'5Y[QA]'\C[ L0=*I7]J:1\XU5Y&@U$[N73Z'M0T5OR!1M7?C <7%>T?*9$ M\^I:76L$>00!7RNTSA=L7/DAH8Q4V/EZF<95EA^65FN\5J1QA<5E$2'C 5%R MA21W&",R8:^0HHI02H.R\>KI?QM875ES/HU7/5[!X[,),HTB\9M8("-#N!Q, M.'8/F$\R>/]! V>&>7G!H33FK,]PYVT1/4F(],Q\+BY\@![^2])P8RW\WGBE MS9NQ:=P*TMB2EQOP27%EV),6W('R+KMT,><:Q#"M RBNF_*G.B,!)6[HL!'D MUE4Q'A24;!R$T8S[Q-Q]0)D/5XV7:9'XW,^ ^U'W6RAJ0"9W?L"@Y\4?E2CI MGSN64MUJ6)07_=N@SV*?H2FB6EVV^%MBD;:/7%ON@Z#' 9]2."]O%F,^>_)6 M!C6/%RDJ LUT>!0%"CUPB%(E8\O1ELSI%,410>WA$910M(A#0)?-1N3>O]42#66'V_QFX@?>,#FHDC' MK5H8"N$#P1T5$6ERV\2JLAM''JI"ZJ&3C MZ@_$KI?6[LQZL<85OX_"=D*7J_5<=144!(U7)G&&5WH^\^K]*)Z=/R6A%2P. MK>(5:._+&XN\7'2@5V]N5I=W\RNY^6!\=;L*&_#6AEZ:/W/G\W@:!B:1O0ZS M^C,V%XWW%]VOK>!J[G%GBS9N_15&J3<1J2!NO)+?"%?N"A.19N*%\I%IVOEFF1[*)S/&/ZR@LRY-[%'F;UB5?U*O=>!+[;:7OMA?TO M7)FYO*$@G:Z*U*+,YMP3?[W['05MP;O>9!"VRZG%T3F=A@VY:*Y[Q=KM1JG& M^]PJ\GV><>^F&26OE6V\"F*8%I;PAK1Q!_"K9 MW[Z!RX#WIGB@,K!,78;-SXZ$P3U."J=Z)2OTIX=IB<&=WEWX$(TH(9\=Q[T;T2-R.)@X?08WC!O6_Y]O//5V1/'7X14F1X M=B8^!#.(6Z;,ZJ-=B>^OOGCU++LBE7+]4*-6_\SZ=AXCWW9>4LW_/1H MF^Z,L97=5LVP\^7>@1URNWG"TQDCD^^\HXB[/ 9S<<_47['84ONK(MQB9KW? MQ>\%Q1Z/:4XKPI[-8HUC51Q3/R$\'X&4?)Q/>6[(G1FY#RN=8 M8=5A$PW"QBN7":+2#S5K+^_D21JOT$A:ON83J!TA_<(_*U1LA)Z28&4R&39B]GWGQAMJP6.VJ68,IEZ9C MEX'=E4?I-<[=%Y1LW(3OY-V'^"5RBO'&G;H>2I+&*Q1?[;'Z?F!I )8O^%X# MKG1CZ97H;D&E)1M'Y $&;&-FN0JD] 8X$P[-5S?!(%[UX8%'E,/^%6GGV:E( M&Z^@WO!4/34U9=.TI_]&_!&#G">A2WUO6475.)S%V3SQ]DN=1* -TL8K6'2! MC\G:99ZF:4M4;)LE2\US$M;;=]M@\&ZW]XT.D[_7(^/))9_BXC(G3N)Q5#N% MY03-IO=<$XJT)G0%!1M'(4EM&>CE, _>C>+?R ND#%!PZ=%,FS)K#:EWQH>\?\&$XS1@3%Z2[^:N-H^K M!HZ?KL?N6]YH0(KU()-_$K'E=>?S"20/<-+==D9XM#6=(CK#TQE_]R8NFPG0 M0E2SM!6WY-IPFSS#'\B%0P[S'#IR015ZU^2>N16[Q%5D/Z^3R2M* V>&YO#S M+_\/4$L#!!0 ( %J'9E'K6"C75", ).! 0 5 8V1X&ULY7U;NBC?NEH[LG5+Y4.-8N*WR9GID7!BX) M^6Q1I.:0LJWZ]9N@).M&420/0%'>K@[;DBC@R\P/0":02/S]W[\?CY]]A7[6 M32?_^(7]E?[R#"9QFKK)T3]^^?SI-;&__/L___*7O_\O0O[SUP]OG[VC!SR$]^];-OSS[5X+9'\]R/SU^]J]I_T?WU1/RS\4OO9B>G/7=T9?Y M,TXYO?W3_F_<.ID=]T33Y(G,#(B3SA#).?/9&!&U^-]'?_,NAFPE?@*B)9)Z M2WS,0 +3,0K#K?9\T>BXF_SQM_)'\#-XAL)-9HLO__'+E_G\Y&_/GW_[]NVO MWT,__NNT/WK.*17/+S_]R\7'O]_Y_#>Q^#1SSCU?_/3'1V?=L@]BL^SY?[Y[ M^S%^@6-/NLEL[B>Q=##K_C9;?//M-/KY0N?;L7!W]= P?(#\K?W_^\.9&EVAJ^-[-\._CY^7GSU],D0V'_JB@ M7?SV_.P$_O'+K#L^&?_XWI<>\C]^B>G[C!2S4B=HZ?/?KG[Y^57WT8_CZ7@A M[5O\^J*)TME62.#['"8)TO4N-I00?WTR@X3_F$W'72H\_M6/BXD^?@&8S[83 M_<%6J^AD,^P_E%6ZONQ\/(TW/C0N7)SVE[\Y]@'&B^^.3F?DR/N3T>_3.%ZT^1S&\]GE=Q;Z)91=$/K?5H$YU^WV GZ>A&X\AG35[.S%:=_C1#=R MF1D:C"%!,D%D4()8*C0)SCH+6K$870LQ[X=T4]AK5#KHX[-IGZ#'F?R79]^@ MS+L7D_HY/M_'.QR[.:5-$FZ>9P?/G[98:OS(SYM(DES@V/T@QE MQD&,T]/)_+:,EY@X+DI4,TM$SA+7KR11:!.)4DIR7#! Q-""':MAK<,0_E09 M4M$BU5B"T_&\]W'^+_2&7IS.YM-CZ ]F,YC?A"8B2&\L22YD)##^RTE#B?,L MNQ"8\5ZW(,M:Z-;AC'BJG*EOGVK4>=MYG/&Z>0>SD?+H^R:7B7(9 3 E2? I MDRRU^VUJ#U1XTRGP$MO9[]-)O 7E8PT.@3',Z[BUJLR/UL,Y93F&B(+FNYJ M$ER";Y^6SEH4:6&::KQY?P(]*F-R]!8PBET&2U )01MU#% "[?I:N)-!%P. M9T^=J6W8<%^(.4#_U8C^ZOAD/#T#^ #CLMFW1%*?F= &!S.CIF"C%B=D)HA7 M*@I/E\(QVO!HP9%D@B-2!TY\EAP7@&R# M\%:+T&2W]EY$>^H\59H^*EBAM8?]0]*L0P2O"0@+95\E$@L^$(P8LU4J!1^; MA.>K8>VI#U6#'A7M48TCK[M).4-:CLAS*J-SDABO.9$\!F(SU21%*:ER@CO= M9(%9!6H=?JBGR8]JMMC-WLXE,A!,9V4801\)14Y<$"M"(LH(1X/(GOLF1R'K M@%N'+?IILJ6Z;>HY(V6#?8:,!6: E:"P)';8S(B-6A.7M-(BA@!*-O$\%MW7 M$>+'$21W,M*$LJ /AZ$NAM$X'7,2*8],6R4]L':R[&'@M86-[WA+6VNX&E/? M3+[";%[RFF8'D[38ZKC:W[@0T5#-O+>1),LUD9$;8I5G)(K,G('LE6PRO:V! M;9_BK J$J&V-:C3Y@+#Z+F*\]\+/OB"V\M>K_SGMOOIQ07MM3RQ9E;F5B,KP M0*00G#AF-,E994>3D$DT<:K7A[A/\5<%TC2R3:,@[$-1ZOO\>08+T4<:%V'/ MM2%*9Y0<#">6:ERIF79>)R&8:+.'O0K5/H5@%1A2SP)-HJ[;@++D+KARS$*- M(%+F0!SZ:H1YJ;3!"<_;YD'7%H385USH)JE, M7R=E'?P=$1F'@E$*!+1%Q\AJ=.%3R(0K\-G2I%)LXGJN K5/854%0E33?S5& M_#:=IF_=>#R"$O0KSXFG%DGIDB.>LTRR3E9PKU6PT,+ZEP#6L;1Y.I;>2J]U M#[//I;CFEDCCLO412+8!75I.$8JUB3@N@D^4Y01- HRE:-:QMWTZ]AZN\18' MUSC%?)Q/XQ]?IF-4Z*Q,-_.SD6(6)Q<'))J(J Q#W.8/9PAMT?"0"LT M27MUV@)ZW))$E7%IU3J0H)4A7FI&$SIBEC5)";PW[75OCJKKVW];O5>_4+'( M\4;YWD[]Y%JN-[I:EUN!5F1#5?"$TA*G2^^(*VFL3J!3;C$J"[+5D?5Z" >K M8CR>?BLAR.MI?T]G/TX(J"Q.9B+!EWB$64Z<1&L!ROZ''Y_"*"EMDY]P$\@^37J5 MC3](Y_4\S)2Z(KL?'_HNO9F\\"?=W(]'GD7E0N8D(P8B<68ECO%$>)3>XESK MHU+! Q5/;N>\FD%[Y?M)-CF:XT)\>GR[2=E]"[F(W'X5@ M@E%1$&&$Q0@87;2@F22,64.SY9!MDX7O86C[= 97F225[5(Y;>F'X^XD9(,< M7>"0S. JA@X@@1R93Y*Z')NL&BLR?K98"Y<>B1_,7_B^/T/=GT_6('AB&/:3 M[$KJC8@8G@@T)C>>R^P-#;')QN-:Z/;)9=J>(7<6S.J&:93L,O(H'62M<'PK M'(J"HI2!Q9(TP:P+*LO&,ST#578-!<[Y M-":BA.&>"N]LF_.)+;?E]B&SJ09)VABH:@KE!#]R5L[*.3-"^9*5SM'9D^@% MD \D.0]%Q"B<*[);N5U$/OD.=5CP=9JKIBD B?HU+_Z?E(*D5TF:-Z4,'LA MN9:"6%7"/B\YL99"X2+&@AXPCSQF2-&-$9E/J3M&$D:BSF65K1)M;]S=0 M#%^>+UMZC=-0N3/434XQP+C2Y*^0ISVM<["=)*CJI%\ O%LI?80*YFX^LY(P%7'!M*2J) 78D+H1,K _&TJ"2 M=4UVAN_!LV&4V_8HO3:]AFF_XO'0;'&]Z ++;*2R8S%D1B+3I?YTDL2'Z(DQ MTKL8(\NYR31_&\C@9E"'^%BVY&40>NJ6*$ M)5-V;C$^]"4K@6HGA/."4M^$\NO!VZ?Y=1!3[J3?U;=.U2'Q/I?4Z$7>&?1? MNPBSC]-Q&LF(P4DITP[4^U+^)A'G,91P/"C/371.-V'+_9#V:2>P*D,J6:'F M/C!@,V6;^B5\A?%T<2/BDJA!IQBT4$197]8#IG 69Y18X6* I' *;W7/\7Y4 M^[0!6)4;]6Q1_U[C-2>!6(@:32Y6;Y"P)G@D2I4NJ'&:89%N08@F6X>S_ M"I-3N/2';Q=:>/4]CD_+8QEEJP7_G]"[&>4LF6#1$9YBR:>6)=U%.Q(D2*JL M1O!-;FIM@76?UMFA3+H[6-J:KITKZF5V64M/1%"22(4H?$Z6Q"2!J8C. 6M4 M2665*_K(<4AM>@S2>N6(=# ^M;F7]]!J]KC3];XR]]YK_UN: MM$&1F7,DEUH8*2<4$](1 8MG![@N)6^ ^[:-+XN/(AZ=H?_]Y%T.:,?9,^'T?SCWH*7]+[ M7H^GW]H3-4*HO^ M798D2:-768%QR'_?1KARO'KV>?<=EY,_D1N!_$>??UX@4;FYVP(A(/Y? D M6D<<\Z*4O\A):$JU5HURL=:$./CX_@LZ*+_ZQ<)[7+SX!:-&FK*L3.!$.U]N M0CE/K$F*> TB2):C@2:7EY?#V:=YNA%[[AS<#[=+M0'S>=*#'W=_0OK-=Y,2 M7[Z?7(\HI>?"-,X6)U+EB:)>JJ@B9:+)5935L/:IF/*.F%313M6X\Q).>HC=A>_% M@XS918(D]D2&A',D1$2 3A<$Q$;;7%JZ#F*?BB[OB!=;VZ#A.G5^=_;.&XXC M*75T4DJ,]7E&.4TFH0 %QDV0B7D;FKS(L#;"=?CC?B[^M+%>0W)=W-1^>5$E M;^F-[5$ ;;6+G&3*R\5^C2$A#8* $1&$I4E"DQ(;V\%=:S>0_O2.=W7+-F3A M93&1JRAA)"CCDD,B$&5Y]D;B$FR9(@*B1=5(ZG230E?K@%N+83LK+OQH#!MH MM89\NBQ+4F3V%"?42 U)22N,-ETB@5H@.FB;-4[!0'=$I&NHUF+0S[;Y7,]. M#:FS\OW2D>9:4,^!2!,09!2.6%S&B93&B9"#B*Y5SOHF.->BUT^RE[T+4[;V M[J\>@;GN(BKM:'^1:3/O)-L>;&7$' M'M:A/ULLU)SS#"Q;HGQY:(IS1SQS@B3';,HRE\<'=^M>72!;BU"[JHCUZ*[5 M-N:J]]K;CR/BCWX,[_.-]^A^/$8W4DJ#,!Z(B D9;I1";-H3;:R12G%PMHF# MM1Z\M?BD?S)/JX'E6B^!5RHXCTR3%(9K28E,.A!I>23!IT1T1.)K&S!"W>7N MUBUX:['*_&2L:F"Y'3ORYX^I4AZSIUF>%S*1EB7B@D)%T"0BBRY2MJ-#XWLQ MKL4O^]/SJXX-6V>&GB=0W=0#EZ!I?U(3Z%=-/J#&MCP'8$6S@TUQ-B@:J4E/<$3(X7QDTR%PUDWYNS*/O_/RT7+TN%UJFXS'$Q0WM]_DZ4,Y5 MQE K8@1/%PK:8A=[<.H>_* MW?_;7O=%(:I7W^,7/SF"#WX.KW)&H4<2N#.1HP,0%GOFAI/@+"=,) ]*2&-E MDYL@-OV MD3O@/;ENU+ M$NA;<. Q0EG-H!2&0=??L8SXHB1.\D1P6LN"RY*IU,2UWC:4?<*W:?>"HT,Y MT)JCYS<*;N(#$$Q1I0A@^%"V@W)Y^(\2&T Z:8&:-N^1KP]QGVZ7/7V.#N7 M8W"4BDAUS(D$4*845HK$Z2 )=2HJ*K7%@;1/'-U<&1=W?187"P_[#EL_*4^N MG@=M(Z&$"%S)S-!41'8:1AW\3U.)0CU:*2EIS)$35B(KKQ&2$E0J(((C%'* MG72--F361;A/SLB."-7&>DW(M=@QNG@MV D#02,$ZZ'<\HD9P:#<@ &\T6 L METUJ#]V#9Y\\A$<@SK:6:;.-5PJUO3]9;/.\^@Y][,JU,$JM#?)<-EH>/& D M2!N(,SI$QA)^I\EM] >1/8$MNI;4&6ZMZB<*[\]K_5W.AHOJWJ. LYX!AK.? MY*6D-SCB2_U+REQ) ]1,M[G3L K44[BE7IT[M8Q4G387]Y@_33_Y[R7IH=2* M1+E?3_M["OYPAH$-QE(GACW'XO\0Y#;K-C>(M 6]X:_VGHEM3 MX[:LE_L29K'O%O/K-/]Z.NLF,-NJ9NCRABJ4!UT#X>!RJDO[> ESWXWK*>.R MO58Z68IWL&J0NMULF@][F"'1%U#])'TLP[ _F^:/W=&DRUTL9_[GBIV[-OUW*WJRIU90]-5+J^3"V&+;9YZL=557BK MS3;#> 7N!FJZ^9T_(;T\+3O/YZ>6596W5D]-5+JYC+6>05AUH_H.JI'W/LGL M*-%9E*,D+4CP3A.?6 #+=;2^T1O6F\ <5+[VLJMOR[KZ';Y=;2&@=?*T/RX; M3>_#N#N?EC_BG[/<0;IKY)$'I3FD2#A;W!Q6G 2M$O%:,\:B4?IV";!["M^V MP[A7R6'MN'FC;.Z>6+SB/*3LB_^GQPJY?X86?QR^?3P[2 M_ST]3_?^-+T0X%+L5[-YA_:"]_E3[RL:;GW?W>96CJPJWK6*WMHXE&O+U.# MD&55YR/67J78Q\Z5>ENNP6K]'>;=HF+]>#J;G<#YD=HVNEO>4 4%K8&PC1:V MW_!;U5PKC339]EO:TRO?3S!L+G[ZXNL!<]A&[;?2W%KR5-H)^-=B28=T\!5Z M?P2_GQX'Z-_GE]WXM#S,6+J?O3^=S^9^DA:)?PQ >U9JR\A$9#9 +"L9VMYF MJY-)MDU%_0UQ#O4GEW9W7V=7CL&(:2&CLI%$72X/"B&(M:!0*L-S$J!R:!(F M;8EWG^+^EDR\[?CMPKS58IM[%','9SFPBZ.LO: L"B)4>90#M"4V*$T4" XF M>^]4D[VZC5#N4^#]Z+RK8LJ6HI@,N\6.L( Z2/$/_^<0<9=8Y!/$ M+Y/I>'ITM@BX,_37?FN1J/ 6@^]2)_VHA\5O#V!F6T M+5-?8^VL^P[Z^,?] M:'=DTNU1M+1C)=TT-M[';NZ/QB53'IR,CYK;['UNVYNIBVU MT,XVKR9_GAW##BRQLJ.6>E]?PH:+TW@:2G;$5_0D%I6PSN^Q+!F:'^?XVW#4 MQ1L3\(\?XV]<:Z7M^K4CS$V7N,?0>SL:/0"R!0O6[+*E$;>1NIT-'MT)V3O_ M8Y]=CUT8Y#%T_LAJ73XD=S0 -NY\]Y/3XQ/_G9_-[T9Q'V &OH]?KJ]KB]N1 MAZ?X7=\Z?*J$J:F7WD)O>V_F[0Z@=X#J"9BZ^B'W_0OMU5'[X$SGS3MIZD*L M)=GN-5MY7*SHYC&T6Y^Y-XN(^?/2S_.SJVWRK=3Y<*LUM+UGR%7-M=)(DWEP:4\#!MC*]EII MIE7!BG'Q>3Y^ 1BDDJ7M5+E$_Q"^)BK8?M"L:*V1.IH,F64=77NDN#)3EK3< M2%D/R5 I*_2RF[/?83YBCB7GJ$8]I$1D@$ \,X;HP(.5(5!F&CTQ>@5B^+-R M%VU]\-_>^3F&2!Z#(P72>JL\22Q&(J6T)$ VQ''JE8V:\S;/("Q%LT^YF%O; M_^Y3<$/U7O%EP0LH_YKV?[R9+.H.SF8CJ@131B1BC1:E3&XB'EPB&0P-G&NA M1%MVWX"S3XF1]4FPO>;KL^!U-^EF7R#]-ITFQ,)SY#YHHF5 \< Y4MYY(6", MXN#!1M6D(NAR./MT':\^"[;7?,LDUV6K[>4K9_[: V<3&')PLD4OC3R)362K MY%7<^VA.4BO^R M2?-R.=JCQT6U@]B"5[4$V*L7-IM1\%',O>L5M*SQW[KQD.W@=9IMM$:N1-]D MCV)1/!^9T9]"NJQ$4'^_XH%>&FES$]DJ>1QW>WMQVO=ET"1-91:*$1?++2X. M@CAC,@DNX2BB43KO&LV1RQ%56#U*PSA-9 RN2J+#^#7\:!TGC-^GDW@A/"1! MG9*, ,X1Y7551X*PE$03C6524*F;^%H;8-PG+Z0.BY;,_TT,5J^6_44VS%7- MAY%-T7 O @D1RENL$I<:%QSQGG.G.7#FV[RT<@?*/FV4M.''0/57H\$]T_9R MGGJ6;.1 4BK5]4,I=I-S0-I*P6-(D45HP8\-,.[3WDH;XK0R6$O?<9%^%^X\ M,K&%OW-/2Q5\FG4P#G8*EW>R_7G>RO::*:7)F=[RKL[S--Z@LSDI27$E/!KB M+F_>23,EKBU9(\U>?XVIND:7-=Y,DP]*TDB#5V^O+G[^>=(-2E+8O)-F&EU; MLD::/?SXN21I'?[ZOKY"E[3=3(\/R=%R:-^=<+Z7?PXIGS6@M[:#?R-9*V1) MGG1S/U[TO%T&Y+7?KY+=>!^>JJ)>/MDWS<-7C;7:K:R:]?!75=EAWWU=U T] M?U>UDL+N:;6RNM;!7N$^Q_%QMRB^5>;)4K 5NX+)MJ\=K6JNROV,-=&VU,N M.P4/-MI61VUN$:SH;WBN^MJ--]9&=YMMJ<;4T \\D M%H\.7'^RO70THM&F %H1'4(FT@1+0G"!<*TT<+!9"OZ0 I>V/'3;[WI['\I> MV/O\>08'LQG,KQ]+CH#EX)*/)/&R4P4TDV =)RQ:&123TN0F20QKXMN'S.90X^QXH6[/0J)25-RO&)*DLANJJS5ME&)RLLW(][LCG,@,,55VWV M^?@%5\5/T!]?FUV3S\>'_FSH%?)!_;75_8;R M5LHT?0L8?,--5_7'4V(_ )S"J*1J1QDS!E^:EG4P$$NY*.M@%DX(I:!)"MVZ M (?'>2OZ^3Q)W6SQ6#RD5]_++<"#X_+5R+MR%5!GXJ,K&Q465PP!G& TZD&J MF 0T>59F*[3[%6(UX-WMY;V]3>ME*RX'._@KP=4*B&71[)57QP0=FVA-R@'A]Y$;VWL-RNEE&("GD3"60D MCP06,,00ACC'A&"9,V.;/+2U%\OHM7[^"WS_>GK:C\ E82-D H(*(F.TQ&NF MRFP;E%%6I]@DMMT4Z--7Q_E)^0/C*(5@>LDD1"XJ$NN M&+%19%P2K'/<9Z52DUS_C9$^S;5V1XS;W):/0[EOTY$0+H)A0+*PJ>PJVX<[+]CH[,IV\P_@KOT!_Z@GZ.HU$: M7Z[>E"BFO/OHI& D&1:2HT'8L/O(= 7@#7>7__^AWR#+UCE$7 GUT_17*'N& M!WD._0]G@ G*LLB4*&F@Y !H@N.#$L88SLPB.._56L>,F_>]#I/4S\"D7=AF MMQ/9!SCV'89C_?O\NINAZ0KF46*),BTI*;=%43=&XBJ?!:%991U+41/^>%/9 M4LCK4%#_#!3C9UC6Z7(XZ]H^MK*-#%45=S";]_Z_80+1'[Y]48EH MRQNMK*XUD ^_V0I'BX)],#WJ_3H;?<5TN)VX*-9;$T8NS;<-MK9K?TJ5- =U-^N M+=*VYN[!>#S]5J(X[.]%#ZF;OYVBY;=2Z[UM55#9>CB;J6-[!_^!%ANJIHG; M?E]G!Q,_/IMULVF^[Q,#QNOP3ANJ>4O)FUGB8SF^Z<^F^>*BX0>(T'U=<"&< M'1RA%_NBO-X^[<\:6&3SSAM:9J FZI7<+MG?LZO>%T\J7!8V+;=VG;.2>,8\ MD2$KXA8O_T0 GYS-T.;-B]6PZI0\0 U?-8__*@>4J3Q[,UL<"1WZV;R<#PI. M4WE'@G@J%9'*!1(RX\0"UQX@&B&:W!7?!.0^96E69-3R*@D-[%:YF,8#""]5 MD1U"$"JC K@DTH,F7K!$G'29:1I8&=Z/Q:RE0^W1"W<_*K.VL=N:1_<7WR]_ ME-J'__S+_P-02P,$% @ 6H=F452UJ0CGD@ +((' !4 !C9'AS+3(P M,C P.3,P7V1E9BYX;6SLO6MW&[>2+OQ]?D7>G*\O=G"_S)H]9SG.9;).$GO% MWF?FFU8!*-B<4**'I))X__I3H"1;IDBIFVPT*8DS>RFZT-V%>@I 5>&IPK_] M[[_.IU_]@?/%9';Q]Z_%W_C77^%%FN7)Q;N_?_V/MS\P__7__O=_^9=_^_\8 M^Z]O?_OYJ^]FZ?(<+Y9?O9PC+#%_]>=D^?ZK_\RX^/VK,I^=?_6?L_GODS^ ML7]?_:.7LP\?YY-W[Y=?22[Y^E_G_RI]T"5(8)9G8+H(9$$'Q[24 HIS*EGU M_[_[5P@I%J_I$Y@\TQP\@U2016%34DYZ"W+UT.GDXO=_K5\B+/ K&MS%8O7C MW[]^OUQ^^-=OOOGSSS__]E><3_\VF[_[1G*NOKGY]-?7'__KSN?_5*M/BQ#" M-ZN_?OKH8K+I@_18\SX%-+A9+N$B?7T"OS\M/__"V-.:;JS_2 M1Q>3?UVL_OW/LP3+%3P/#N&KK9^H/[&;C['Z*R8D4^)O?RWRU__^+U]]=:4Y MF*?Y;(J_8?GJ^MM__/;374DG%\MO\N3\F^O/? /3*4F\>L+RXP?\^]>+R?F' M*=[\[OT [CQY VM6#V#F>1YP/*>H7S[TEYXV0ZQ+6 M1](:BW]-%O3?\V]6TKV"U?64!\57(GS^Q[=>3SA/+B9U MZ?B9?KQ^0GW73H+@7TN\R)B__FJ2__[U)'CME50R&R>UA^*=%=QX(PIP$SF< M;12IIT;H?1<+S/3-8C:=Y+KA? O3NI:^>8^X7.RFJ@>?.H0.^XF^IER%V?DH MM8NE:$ 3(D]:!AUCILU2F;-^@QA8ZZ]A3A[ >UQ.$G18]W>!X,M7C(''/8-: M TT1ZU&0* M8]!)ZPQ2;=R%5CM0@45<;4/7;_BFXO4-3I>+F]^L$&1<7'MV_VN[*%>0[3ZX MW_ /O+C$Q8NX6,XA+<_ T:10(K(4=6#:),N"%9E%$ZQWD:9(M"V&MB[(EP/[ M;(TOYC=#O/8'=G08:I0S*,[+V8":O8*/!O#U5[-YQOG?O^8#(?T#C9NFS$JD M_Z2@[^7E8CD[Q_GW?Z7I98T77RP62/_+;^&O,Z.LU^@5"SQ+II-0#+C2+"OD MI0Y>P&9O:QACZ"/K^/:R'\";K:49.G<-2NQK4-<+[,6[E[/%Z M(G]6B-/<6DB)H4JKF+\P0(^,>W0Q2\.]X2W,YT')'OWB,JSN&QA'E>M5^7$V MRU6Z-SC_8Y)P\68VS6>N&.Y<-DQDXYD6)3-P&5F24=L! M\9LU47X#L_@-%T@/?$]B?4?+$67 ) M:([8*'ULL]W<(]53,X[A(+AK'W)?^WB#4_K3NQ_Q@E0P)1%?Y'/2=QWV<8K-1)ZB9.:C?QGIK%- #EKNFH(7:@L9;1-C&1=D*=F#GLI^B[P>C _]*>+1+[R MS[/%XDQP6S*-C6%4))(6@D$*U15W"IT-(@K?U//\+,O3\35WU&^#;>*GBS]P ML:Q#O)+IIXLESNDW9T9*YR X5JQ53*MH&$B0S%B9-!8EDVT2<6P3Z-&#/XBF M&ZSVKY;O[$4\EJ0\.*8]+_0E*!93("/5TB6K1=1@FLS_>\5Z M]-8PH-8;; 2?UZ>;-,KDXI*$_)P)_A;+;(Y7GWL+?^'BE\G%;#Y9?KPQ:]K6 MOGS*]_]S27_^!9?O9_GS7%B<4="DL7(=E#!D_IGT"06!%>'I_VDBR#89X!'' M^.BM]5CMX:[IFV%,GX9P/16_)5^]3)9GWA6*Z;ECPI0Z(ZUFGOP[9D-2TAG@ MW.IV9GI'GB=B4OOI^2[\=E_X?\7E+>B&L4L!$+JM 3%/X+I&Y#%P'L%9" M;@'Z%U(\>JAWU^E=@-V^ '\/\PM:N1:O[\(?]H7_/[&2;C&_^(-2,^@BF99*\M!+RD=O*NTP MV7#@LO>Q_Q9IK^W[CM!G)FF5:SY'1$>.K R!07*69>,-^B HQ&N2.>LIYU.U MHD%PV6!'>Y_X[\VQWT.7F\YDO[IB,O]KFLX6F/_^]7)^B9]_26$O_K7\?KIZX=^_7N"[ M^LVNYK"8+\]>SV?Y,BU?S:]/EE_\-5F<\6"*39"9"MHRK3@%P,$+YB@>=DD$ M<+8+58B>?\L8Z*=U0]@FP("F<$_)P3VFL0.6LP%U.N!A_2UY;O,'OENMDYV$ M.ENK>Q@(\+O2#+D-;"O:^(SY,$#=17T@+8]F DYPHTH,+/"8F2Y!,2]29!E< M%IG\8BFZ)!B.$?HOZE\.@GP?Y0Z(>"6.WTCU!J:X^&7E#YUQH8M1$>C])3$= M/ T02V&!HE_C@M,NK/F#=RGH6YX]G@\WH,9GPZEK0)+O2IP;9@]\P>RY9I9> MRV-FCQW=HA6Z=KO_VS9J*R,_\ MO54YR9OE+/W^?C8E 197QQE-RDHVO&:$\I*'!K=69F)%Y%'&G+G7VBL,KABI M(P)'R6U2#Y>9;'CAX.4FJECP)5+8YU8UU8DS'T$RKY*1*4%*L6VP]?-0Y28K M;;V=P\4"TNH$[HL2JN\FBQK#7,YO,96"L%&+Z!D/L2ZH,C&?A61":!^UM5:K MT&;L/24]BHQ$'TNY&Y6VQ*9!1 MSY+B)=(*S2AL1_+5## 22&[E)[F>J'-ND1VNL8YS+6N=3) LH+%.:/'Z?<@ZAS7)\^"1H4^S6UZ.]%-_"$NI0?UHL M+C%_=SDG@5[C?#*[SM6N_OCJPVKZ?/\7SM.$G(:SP)TGE] S:X'"0RY%9=([ M%H/AM!0;6]I4-/07]8G;4EOH6E1"W"?QBH=WIK F% U-AV!H.CA>CZ:E813K M4%3#GNE6C/V)CZ0]. '7LERFN89!KO6_BKEI)659"L](L;=D,-:LXK MC6E%ACOCIOB"&6E-S9Q\1^]91(J:1:)?QIB4:U14LX.P3]S 6L/7@'Q[[Z3X M%?]<_6EQ9DPRRI.[J+TE*8M!!M(F$C67HC!IT8:@WTV\)VY6PT/4@,IZU^V3 M5H,LM/4&]+8>M2+SQ1L&P67#4?H0FA0,/^!O[SA'OH#VC M0UJ%@)91,7D8H M#&*A^%W;K(21//%V\V%#=NY)V_[NJF] Z7R1__ORFCW^=O8BYY6R85I7_9\N M7L*'R1*F*PN,ZTO];T@#6$R6>)WGOIK&OV&:O;N"[/_"]!+/O W9B*!92DXS M#: J9=4P27/& K>8.YW(]S:MU@-[VH9Z5&;1@-#:>7QW/)S;8=J#8SV3Q8G@ M4;((O)[+0&!!N\2<]A%L<$JTB;Q'&M]I$HQM) W8O5LHCY=M8ULJPE M_)(F!Q.^$I>SYLR'K%C1$HS$(B(V,;H]9'[:YC<6F&UXQ-NGSN<85">-$$IB M27A96ZDI"C]]S9_)& **E-LTGNLDW=,VKN$!VF!&>Z?'.WD(GT=2O]:^K:O> M)6<%D7.5:-OGP9-Z;&:>K_KV\5K99T&W";KW$?II&]UH<&ZPQ;VS[5V$OSH6 M<,D5;D-D@IM:36:0>7""Q"V!H^-@4Y-R[,X2GJRL/U ;3&KO;/J7Q<=@8N ) MD/&,9.!>.A:3J59NQ+%>U>200&G"E@&&&E@L1C2==:DZQ",312?N[:] MM ]=2;8?9V]G71ZZDNS.$*ZLJP8KLXNZ1*_J*ZP*0O&4FHHH90TT!Y"!]\2DW\1_OE>HIV,%P M:F_22'Y)X\-\T[?G6BI/X^2)5_L,4&^?3"P >4BNH"Y!:(AM.F)M%N8)?JR)'N M3'L)B_<_3&=_MKDR[?/31T!PRU#6L>(YUQ:[V9BDD2) D;RDG5I:^E[:+=?9 M/3BH7JA\AXLTGZR.OF?EV\L%K1N+G0#8_*#]==U!P#6U)@RTTP4AG:"-3M(< MT,(E&SB Y/3=V8.B[J_![^H2/!U.D3?/:Z3/C>*N6VO2GDO@5FC4 K(WT8I2 M;_G#HF76F]5Z\^1]PX" M@[16NMKPHY)(Q>J^%-H'@X\H3>1*-4G+#CF(/9M.K+HAW&)5_3*9XF))_L=K M^%C?^>)\=GE1&\87J1*Y")[6*0HB?&0@E&.F2.^=+*AT?LB<>[UQ?._K8):U MUK6B 2+#]RI9%_*[RZNFW,L92?FB+''^2>P7Z?V$/E]%/U,FZAA]8DFFPFH_ M+18Q)6:5]CYJ(]"&'A0GH)/# *EX4-)LL[=-T=S>GNNT\6U02E!L6Z)$="S->75-Q(/YO7 MIO.I1*TLTUB)32Z28$I%6DBSIQTZ\&B;I+6W2O0,C6I8E%H4WJ;WF"^G^*H, MH*NK@^7$ PB.@LE@0^4(&Q:*4@QM=E87)W-JN2.N"6'?L=F]9 MNDF @U%&#FP/LP%Q&;B_[6_XX;(V=US@BW=S7 UV7<3K\Y,N0@[=\KBS=..W M0-X?R-E8*!S,9+PK)GN)K(@@R#.@U1P(9<:SBTZE8KM=S?,83.6>ELD'LI0^ MRA\ZX_ K+I:8?E[FO]7OIO@?"-/E^S=I@A?I4Y=@7TK,GF>&JXX6HM++5=(, MZ_6)&057R#O%A5W>-FX;WD8HS5JJ>.CDYEOX'3.\?@_S-&30WY(Q;8@IETQ9";_K(>L MB^7B5?G'Q8?Y[ _,%#V2T[:2+\QG][I^K).JW'Z\_\_'5 MG+[[;TS+U6H9*:!TIJB:+JWWC'##H@NUU7R.(#VW)K4Y8!I^+,_9*1KNLE!1-&K:,8"T/T+>/W%AZX#+X\=UW_V6%T->2@!8QY2R8TS$RK8-G M/DC/N-9 2RZ64KI=1?+%8\?/:>^AW]D@RFG T7Y+GWM5;NV95Z4'+@3/=6+> MLI[ M&"=D *372P)&@*F!H]%7;!6+,AP$L]PFVCR1LRB%9GGE"5O6 MLW)XH^J#3I/JL\VK]$T*PJ=8N,\L9B5H:4[ 0B+%B)QSP9Q0M2E8OE^L\9V< MIJC>J5@;#)*MKM&0M2KU9NC%K+R>XX*D7/GQ<)'?7)Z?P_SCK+R9O+N8E$D" MFEPIU11:[<(TFTX2!0*[L,#W>M_^+/'AAKO&(H<$RIF Q42M.:@H?1#D T7) M/9>QG TU\-'0/13*1X)V-]1=B3I9'>BK5LKX8$K@W.5LG)3)[X7Z0='?H]!C MB-<>%OLN92,9->T'7',M%,7&'()W)651,E<4/;N]H!^FNN17_//6H^>S"_HV M76V#K^8OW]>MZ:>+VY^87*0) ?SS)_I/=(HVO)A90.N9!NMJIY_":'%3UF>* M^T(3]M7>DN_=].J:HOD;?J@)KHMW_R 37)S5BU-M%HFAT/52@GJ72N&%\7I# M(^=*%-7$H]HLSOB>U+@6=:AA=?DN9UYH05\L>*,0:?B=$H3;WO!FY&,A X#7+,N^KE*N6NI0)=N_0E MQ2W3-FMY^I^'7367\S1Q;)6.3 M,58!.A8\TO+,R9NDNI0IV\C&L>V%HM[@]3B+MLK M6:X)>5V$:7F<]H4T!VZIN#]:ZW:PMZJ;X^_1%8B97/C:QTLKF9E'G5DI)1G@ M@2??I"_Y"+AW;9W8&/8^&AZ:14-Q6YG-SVO#_.\O_OGQ_!-'.CM>@J3AZ7J3 M@ZZG+\ U9\9F .TQPGKKO"WQ\K8W'. J^]VU/AM:94/G/7Z=_8'3;R>SVJ$> M/JSHSS=B:1L#.J.9Y<74BZQPU:J^WI/)00<':KT!YK:"@JWO>+18#J2VK;-R MR)/!NTTV=CD,V/"4_7/[#XFVEJJWF4OK""91%,V5''26$3%'S5%;G3?T$]GY MS.7NHU;>VTX'*5N?U4*#F\1<;T#FK' 6C::=B"RRZA"C+27PB$YHM4&/=P7> M4YO?31;P[MT5B.3O'^15MFN*Z%XL%.7>8W\)?9P#& M2UXKCU*HK6MC8$%ZP[*2U@05N3300A<[R#K^ICNH)=UM)ML6K0;$YBWZN$H/ MR,H?0HC, FE Q\-#]^5U/U!W41](RVTF_0;A)*T] MPFC'3*S5T\YQ5B_-H?U%1:6U$!RZI,>.$?I[VG.-A'P?Y0Y^]GDEU1N8?CK" M QM4KNU^!69- S1U@"HSYW/0)0F07G8[];SS['$;+@VD\=EPZAK^EH %0NTI M=9&_HSUI.OM0O8?K[>GF1!9T\"9()A/Y(UI+S3PY(RQF[S2 KM5AG>#L\+)' MC^_0"AUX@?X4_/V(M3?WA_>UP==J53(R"QD4,J'J=7.9QEY=3Q9RJ5QD593N MT@:KTP*]58HGY9\-H^L!>;HKH:[B@]LB79M\%Z&&=M*V2C.^DS806K-6JAYZ M(=@J7,*@12Z.%0ZT.GFGF \*F%=>!PMHE1PL1AL9_WL\M3'A[Z/A@6%_<8YS MDN133X#,1? A,!F=N#KZ ZD32Z%HGGT=^6!-=+]\];@;_4!8S 919(,SU.]_ M^?[%3_$]F<1'C.T>RITZ.#J MQ>L7+V_$\#;9RI'GQJ=Z';!G@$*Q7#Q%DQP2N9"=O/#/SWS,0.VCGE&NR[W+ M3[HA9"S^O,7(&)3B=>\;6A"\N@]IC=XEBE)<:^[(?]8%?)1)2&\X+:$\:ATW MT+NZ#FY?8B-)>DFF.20N:\]L0G2\1^PUW:./UD3'C4A2T[0#U*;4A@^@.$JS MB5JW?0![:OO+W_P3\W>7\UHD1)OK+ ^*0:?0>[)XJWR/ROXG1R%44/BMZ];VB!6O\DA 14F^0\D&A2L;T+KW78.P-Z]O^7OQX<.4]MWK=Y(IO+P\OYRNFGI] M7PJFJ[9A-^J[N2R)@IQDO&*T31NFK0@L6-JBA:'(1Z+FGC?IEK*_Z -17W_# MZJ5<39^[.)U9E5/)TC %SI/G470MFT"6N=%!47B8.UU\M*M^[I=N_%/MD2UN M"P%V0,P:A&N=A/S^KP^D'\QO)^?TD5?E#?UV4:YZ^EWI4IPY T[2_S'G*FF M(V=!@"8?VA:3O##*-BDK'&H )_,< _D&9+J=U7B54J_5G8D<4.9DXA13( DN*G?JJ/SJBTIC8/T1EZH/!:#R6+D(]-RI3+Z Z$5IVT?)H)D ;K$^H M(XNZMBSQ5M14(]8[0+C/,>:@!SLT.7(JT_#(]U'N"%2F I9+(2U3@393K2LW MIUX+$>HNFBV$[-=.4QX=E:F7QA^@,O51UR&H3$JXN@4IDL^$JY.&F#&P",4% MJ5 5V:U_Y2.B,NV,[] *;1>&[!Y.O5G"?/D=+*^6,ZM2TMD!RZJ6PU;+C58' M1MJ3(#'5P1YE./W%,)Z1[W@$=G"@P\3[=4N^GU/LI]7Y*O9]2[\_&/$^I]U/J_? V M>DJ]GU+OI]3[*?5^2KV?4N^GU/LI]7Y*O9]2[VU2[T,F*7_%Y>2"?B)Q%PMR M?-Z\A_F:N]DM$[GY0?NG&SL(N)93K+?I9*53LHY@A.B55\ ]"! NY*+.'A1U M?PWNWFGYOLI&D-"%+[81!MUFG>[9 M$P&+U]<_[\%8[_7\1KKO-)QU,#!RIZWA"/2?C#%)XS5WBA8KE;S9#$:'@>V/ MSHN+Y>2[R?2RACQO,%W.24U[W>"ZPUL:(=5C:&MXN<+!TP3240HM7 G1%!\1 M1!11H96;\;K_??NEH^JS\YUG7S4:QGS5B/C\P^7RNK/"NNE\SIL8(:R1/E#8 M&LBA32XQH-3(*1W.:%8/ =+WK M*P1O&5=>HT@E%MNDK^4@TH^?DSZ(]:YG_<9'OL'!RIOT'O/E%%^5/8=S?2^8 M3@JY+RP)(._6T9>83&196L^CR-G+)BWDAQW&6&GKHS#C UK H9/9 ^'P[W@A'5GDXZ! M+):53.X3=YA5&-%%;FUN#W2#?[36U@?%%K<)+&?I]ZH:TO/5*>T4+JXSLS(% MR[D53(IZU;(O2$(*R7+1O C%@UEOU3/492-;93J6R&I7 .]<-#*,]K?&04/F MQ5_.IF1 L_GJ\/[%?%YO1+ZZN7Z')-;VA^V?J^HHZ%I*ROA0LB(,M2PZH0/2 M<;3&>YF$%=R?=1)Y&(W^^.;_D"4L*Z_K+:;W%[/I[-W'%5.BX/S6OYI=P$7^ M>9+(?/#%NSFN_O4>J<6V C5$=GB%K;.R)7AIA-;22:UL#$(5<%*$I!1H(;=; MQR"B[;?(;Y7MQ47^=7:1MOQY)>059W#Q.;3.()"T85GM&$F[8; U2LA,A,Q] M4B61.;78%88I$WL3K:3#CY8Q5-)7!9AWIG!;?U F#AF%?.,:V5 M$3(XK8UX:#[V>-_X.^/!K&KMB'EP-!ID%3==8OCS!.)D.EE^O-/EZHPV()FS M+$P!&MK[96# O6-F==L)0/"V2<%$/S&?HI*4)HLE7Z)*_?0RF<@\I_$"6TD?Y0Y/$?WSS?ZYS M?%H +Z%8ED.FQ5+4+**)BG$NK/+)>-KD.\6(GQXY+F6XD;YG>RMKP!!N-%LET+>*&F NSW%DC3):& M/\FKL8_(5]H;EX'O:MQ>6-A%J.=6"M\+J$X%T;MH>;Q2>*%3[43#8JG7D@6C M& "M7\;K0,MAYDEV.>HZ1NC[EL(/CWP?Y0Z=Y>A2^TL[E.(Y6Q:MHV4N&<-\ MTHJ)*+*+26G$M5W_"113]\&D;S%U'X4>EC3V"VVMOV\GQHS$:]I=BH9DIH%4 MLW[]EI)D786+6@-N>880H-2:*H[UYWOX;;O+:EDBH)!1R?$K-1R@2-GCNR$($+]9&U(%W= B> 6EN%]MI MA48#VM*]YGVFA4DBUJNJ2R8_JD3/(*^<9Q6]UYX"YS+ZZO0,#6IXM 8\M6F8 MG9'<@M.1%E)7=:5X/:W6DB7'P=%2JD2;W?'$@-O;5 ]L#4?+@(O@)==1L,)K M[S53"1A.)0I2DPDU@'12=##I$P.NIST\Q(#K@\O!Z$Q=A'SN#+A>0.[$:]H% MA<,QX "=))$8"4V3A/O$/ K#)*H$REH'>3#&[2-CP+6WE#[*'SHWO,HH7:=0KY;#SU:%EP?G<\&4%B#4J:W]+E7 MY=;FM[)75;0307H6,=/(H@\LNFJ^N001O#2I$WF^MS>\49IG[D<,AU2#2.RN M,F#S^&_:PW80MVESE7[R'J;7R@!(K_>M& &F%DU3>HIM M66XS!IDL=.K==&+)[9YIV1N7T5AR781Z;BRY7D!UXDKMHN716'+)&1[Z/<0[#D0M(JTN[%3(J! GY0+/"L6)8< M.;=.J-3M!IE'Q)+KA4E?EEP?A0Y-A+AV4'[ 3\($K02WY PY3\Z0JI E+F'Y<+-]TMC]U:UYC#LJ88V\J+/A2FA;'#J=,(&5H@2G!9>9O'?S 'FQNQ!'Q%B, M&3B/-C"E*5S1+CL64'N6G5$T;51(HA'!Y?",Q>MH;WZ^%BC=6O.YZV5K_=S]RZD\?:UN+R9NB-/3^NU%0 MV"SHJP^KK,+T^[H856_UZ@K3,PB>*PZ6&2OJW=_.,8]&,Q?(@; >N-"YDY4- M(,QS-;NQ<1R;WWB7OAN#E[$$R:+AU?OQE@7@AI60.!1=2-PF5XD\*SKV+O8X M IZ/@Q)),\@7+1,K.B0:D:&Q!9I956E>VJ1<:>*QG"B1>]ON@:WA:"F1Z$51 M>554KVB+H-"#!A&1Q80QV)2YPE-3P ;V\! EL@\N!^.W=1'RN5,B>P&Y$]%M M%Q0.9C+&($>3-"N%'%'-P3.(4;)@G8 "+FHW& 7[D5$BVUM*'^6WI$06%(JC MMBQ9CTP;6UAP@8+DQ+4E%U$XWHU"\ @HD;UTOHT2V4=AHU$B,:H<"Q8F4J;] MCF1AL3C/N _<82G>=CJS.U$B!_ CAD/J""B17<0]42+W1WI/]MHN,!T!);(X MU,;7QB' L9)J;.TZ%6AIYSP)7G.F0ZT&OB" $A9 MTFY;Z776&Q9ET224SU: 52 ':WC\Q)F*NR9 ]L9E-*9B%Z&>&U.Q%U"=^&J[ M:'DTIJ+R:(L*DB5T5;B46 C),5N,\,*7%-$]4NC[,A6'1[Z/_:^E>@-3 M_.3A!C A0V(82KTPO""#@)X5Y6*FC=#1MMAIZ[_[[&,AK_72^&PX=1VV.=_W M%__\>(XCD-7N?5%#:EKW :X1T43@.1-\R7NEE0!?G-"01"Q>!>_C]A.]>U]Y M1+0SBR&*9 OS*I*78J-EWLG BJ$XA[O"BVERZ_,QT,ZZ]3)2QIB<+-)(R.W7 M/%6/'S@#!\$E[KE*C5H)/MW.4WVLKE_GJ3YH-<@-MX@C4N#>&L<4:*B]M *+ M7B"SW"BD55>HW.6,Z$2S&-]4#VP-AZ99W)]'RZGR5VB21LU+OSHPV1_I/7/;N\!T#-:5A18(D8&V%-:1 M.\%"+KZVU;4(-E@>FCC,1V%5.QV8C&I4/= 9Y\ $Z\5*FH:;:@-4#;7Z@>1B MRD)R+HB2I'\HH'[,!R:]$'GXP*2/.@^;5?EQ.HLPO56@<%V7<+=KQ1N*9Y;X M;I*^:&_QZ<];RAQ:)&C&DKEAKN<@:E]+&Z506_CIHH2B-4\'[[TSHEB/@<=D M8'N$,I;T1Y2!"EP7*(FSXARGB+T6#"NN&0#H4!R@D4^V\+%;3J/P>GB0)3.Q M=O+/RI.&4F#!Z RN1,1RRD UM+I^&:@^:#7(0/4L2PH2HZ=-DTGTI(7E^>7TY7&7L(RO?_'AQ?YO^DS*[W- MKH?R\GU5Y4\7OR L+N<43;R>SVCS6BS.K*F7AWMDWDL*(PIYDX$<2/(!2X@V MHW9M J]V0SI9]:'M9$!Z;Y^;5G211ABAZCV\)*(II+F0/6D.@[-*H=+=&/_/ MX]Z;'>RL%1H##;RCX=SWWI,!#8[.74/21WCVZ(W3II9>>5!83U,Y\R4;IE06 M4G#C#&^RYY[.'O?>80]L#8<^>]Q:5ZB#X3F8Q%2HQ6.J1 9!UVNVM>7T*R^Q MBTF?2KQ[VL-#)=Y]<#E8O6X7(9][B7,N<2_3 DD@4A#CK M6+ 8613)%Y1)6L^?B*GT+?%N;RE]E#_T<>"OY!5B^GF9_U:_F^)_($R7[]^D M"5ZD3R3A3!%I (I3DR*Q="(5Q!0C"\DE4V\(%^N=P;=K1%X7U0FK54 M<8M\+'R8+&%:DW,O9XOEXE7YQ\6'^>P/S*_G,]J_EQ-A7!T/GS;= Z796"H>O,7O=_]EA=#7DF@+ MKM#/+(=<>P.!8CX5P;@USA7)A8_='.HO'OMHD=Q=.0W6]BV-HC_[5#>G@F]G MKW%>9O/S'V;S5\OW.%]\^[%R2Z_Z;W#I4"-%"RI7.BDOS =IF<50'$:;L'1I M4=![3QA$^I.[>R!+&/#@;H!!U"'<]"OL,(B6CO$@HSB,0WT *QK.CO-: MGF\-)@NT"FD=R"N^=^3 //F=+&6>0 H9-=IG9L#ZH?WIV<\7[=W4._11 M6QWT:HD+%//$HATSBIO:+,TP$%FPF%(.6G&-NLN5&-V.TF[>^LP]]MT1&)#A M]$F(FYOA.H@Q^#'\Y_>/?]"^(P+K&.ZAOA:3^F8G$=)%E,A,5HX\EU0;):G M@@ZTL'@9U?=SX90W- >U*<$[J?X03MMG2"-.^%)FJ2 M@?:2>5L"=UP$<-WNTKOSZ&>^@PZ@[[OHF^'0OR%5=9!G\Y[:Q0X.D28:0O%; M,=Q#:T/'OIOD$N@M8B8OG?O(M,DDD@J.)9=]EMQRM/*X4-RR<8X!8A]E#0W> M W<97F\5MA3N/,^,0CJ2D)="(_7(K!1!:&,R2M$)SDZO&V]C'0:2AR\$WT>? M0V^]JZ*1;V&!^5.Y"FTS)\>*9'?!VN2CLZE- M/XBCL*J=VIN-:51]T!F\O=G]#8>N)83@ 8I2+(9:3*VR8D&6V@S%Z>(]=]EV M2R-T>MWQMS_KA=BLJ;H/VP[M@?&TZ&;6\94-FY'M,NBU7F+HLM,AHE8&- ;O MG57)0Y1>>O*C^?:*XXXO/Z)68-FY8F203$9.DT4:QX!S,FZ+P7 ;35*ZQ>;S M>%J!6:>]E335LZJ7"B6A6316T7>2)GN2,F!LHZ&GVPJLC]7U:P76!ZVATPQW M>U=\"INO__3K957RK'P''Q=E-G\-'ZN.SJ(C72A$9F2MEPO1L^"*8C9GBK'J MT8?HFFO:38)G:$[C(39\_K)3CQUI.4\^9)9K)::VVC"O@V,B.*=3@80N[6A4 M3[#CT8 FM#<:#2H#>[:T,UJ*" %90=J8M*K]F7@EGM$*FJ15H$.3(K!GU:*P MV2:X'YX-:/L-EB4A3D"60@M+0 4@@,+2STU"9I;]L]L#4< M;9LD*%X+RS-+W)+KRAU-4B&1!>Z]Y(('**V69T(&< H^*!5,\XR9:$XI ([LD-AZ#J?1MD]3> M4OHH?^@ \O5L3A'N39D!F&2RII6ZB'I[G^ L9$&"E")$=EQFZ%;%C#S&J).*Q%0T^R9KN75R5 MPUE"@]3$0)57'09QJNG>:-0'L*(VQ; [F,#1UG1KGTEV&^O9><-DX(KQ4,RQO!^:#_Z MFN[]T=Y-OPK+JY"VF]Q>SZ>S=QU6X4G"^H0U="_;83@(TY)+MKY U M9IDNL?#L"7<3=+::OBF>5@03P7*9RO9#FIU$.2*>66[N^L3P=GMEJ;7B+\_.UM,&6U>H&Q3.R#FNYR$PHE4AG6K# -3#G M ]*&$0,IK=/BW/_=C_QHO8^U?;&"-T:I03;P@9LQ%?0.]'0=D'A8":3?%392EU;;=,DJ0MY!*-9$C$@S:"251?*TF,P ME;Z$Q?:6TD?Y0^5SCY6TV$OSLV'4=K2T19Z$YQ@#\\86\N,<,I\AL>2EMTX: ?G8>#%/DK:X MB\-R.$LX6MIBET&<:(M#G_7O:D5-^%Z[F,#1TA:5=V1H2;" .C#MM&*AWDI7 MBG8YHO/9-&F6<<1V/ IM\?!FW ?Y,6B+Q17AE6">UWR/1\NBJ17/QJ3LI7 J M=6N*]71HB[T0>HBVV$.]8] 6%7DAWB@R_Z!JO9:F0,AP!CXI'F62Y*4\,]KB M_FCOIMX&6Q.--V$=/S:G#6NR7K#PKK M@S8S ":CK$UK8F8LP'?ZF3Z #;ST!7K!S69 M/E ,[:*^G)U_N%SB_/O_N9Q<[><7^>"#T.W":4W15O2"&6D*"5<"BR5*)FAA MY%%%VXW==HS0WW/0.1+R?93;(N\Z^PC3Y<>;,[JL,T .+&1)D780F8$VD<4< M%"INE8^Y2?[TMA3C'H0.A,QZ4G-GM1ZV9_L8978'J*3;I5@.8W:12V5H9NO M+?!<*"HP6/=T#GX[0? 1U,/%Z) GO>HK1;:M0V8!#=FVDS8DQ3W7ZDG7P^W> M>KD4XZ!8AI&B0UTTS6KG:M><++*,G#N_:P7*LVB6WAI#P^5$O3!Y6"\\"Y"/O=2@EY [D00WP6%@YF,28EK MS26MX;PF!*QA(0G./&J'$*"$]3KD1VLJ?4L)VEM*'^4/WN9@1BONIXL"H4 ] M9X1D@>ES 11VM!4$% \D@1"9U:5V M>*1X(*R"@@@B\E)"X$V\YU,%P?Y^RN$LX6@K"+H,XE1!L-&H#V!%;1H?[V " M1UM!8)R%%(5@01ED&FC+\MX'EK4/:%6T139)C!^Q'8_3^/C@9MP'^1$J"+Q2 MEAM'DCB>R0^6F04;$RODY A( 2+83M[ATZD@Z(70 Q4$?=0[0@6!MV" 9\- M -3^(#0T#,!D1BVT5M[FY];X>'^T=U/OUKE]P$O31VJ V_OEHU^DOF/CVV A M2NT3YU9J1V:$5OCL+7G]$9,R?:]4?QQ-;VWQ#CAZ1LN9H'A91@IQA&=%8\)L M8[3X9)O>=NQX:;BU&I!Q)RLS-U$06(QBA>?BLS,FE"9\IZ?!\YB M3#0L+$KJ+G2[$_.CIST\Q/SH@\O!CO&["/G'E M05.^I"D[%97\,"+CI4AT@N; M62/%'BUKQ&BG-:C(4@%DVOC:_<8G!I8KEV-6WD,+S_O$&MG?QSF<)1PM:Z3+ M($ZLD8;'[;VLJ,UQ^PXF<+RL$0LA0(HL>&5I\P+' ")G4M!H;#8F0GAF=CP* M:^0(S+@'\D.[E/_X\,.<9+RN<[QI-J-()3R0J61!7G2$PH+C4*\; >VC$#YW M:^.SZ>F/EDO0!Z79D"H>_AQJDSY^P\EYO)PO\):467C#I=*5Z4!C5D[4.XP\ M175\Y;.SCC9@-".775LQ:>(MS-_A\D?\3(?B%IWQD1D0@FGO M'0O26N:+5]P)'0/OV<%T^\N>G9D,#[- M_[<@+@TE4T,^4Q.UK=&<5$@I./ "!-="IP RI&R2U,YBL7;[<=10 MTAT1^TD*+46,A8%VD6:4%"RBDQ1AV8Q(VW<637SR8V(__73Q!ZT\]?&O_KS M_"U,X2+AF_;UR+M[,7Z7\N)W-<;8Z?)5Z(P* M, =?DX)C:$K$XEKR! M7**0,9D6QO2@9,_8HH9%;?!2V)W[^3B>1&W)YDLAH;F6S N++#LI8^'.9E4Z M!C;/L@/3+B8U'F(-[TKV!F@&?)H&9QS1FV0D"\EXIH7S#)RMK<=LBB@L">TZK4T/ MO^L9FD@+% 9LI'RC)]+%.8FQA/G'6V/_<3Y;+%Y]P*J?BW=WZ:)<*FG *99D MQ-HDM+!H"GV74[$JR(2NR_6BO=>AG:1]AL8W'KIW3=+L:Y+?7>(/I-(7I= R M"DM\>3F?UYVY8-"(13(L7C$-R;*82$I-TR4'I^6=;I;#&-T6>9ZQ60V!T%W# ML?N?CUY;R 5* MD(2E,$X322H!4?K!^OT>PF+N*;TX1H/I \?@[!A27;J(J]LG4/DA8>?,NX%1E#0C%KH<<&QY=O MEA10KW@^4U@L*#:I'(:504,0H,%D9G--QM2[(6+M0A8*#SE(@38TJ:O8*M$S M]U:&1:S%6=(M>:ZG3!>)FE[/>T>DPU0F#(39^G'0, IOT=[CKF0Q9\5-C@P] MZ%IKEID74C%KM,)4LDQ!/F83>(#4/YH%]-%SBTM5<$[;VXO7A"#.YWC%B;MA M^NJ0.<3$K!*%:>>!A7KW*ZRJ6(5UG#>YO^<>F0Z0NMP3LO7=8"!]#^A:;*UB M#I$6GNPU2T9QIDTJ#(+C+$?0M6I VCA8:_\GWE!BUW3'WK@,2!SH5P3=1A M1'M+Z:/\41,7%F*FX7-F>>UQ;!0P'RWMNX5C,!*U>W2)BT:H=,YA]%%IDSX2 M4W*N\^LZUEM;Y=6MU%(:L""8X*+V.>3(O!:>#-U8F;DS4?HV9^M;97KF;LC0 MJ#5@J6T1[>9"^@["M>W0<(]TA^J\,!"6W6QD#R":]$FX3\BD.,5:O#"4M,EJ MY0RMC;7I9:;%-DG$S)MP%P]@)0_V-3B$D?31_^!^R-W2P3MU@S>MF Q7]78W MYJ!6,6EG*4R7A@FAO"[2!HZJFU?2^9V'*#8>#*E9>S4/W9_@Y>S\G';K"4PG M_UP)2;OM]Q?__'B.;RX_?)A^7)7BQ]G,/T%;QSO**R(F)%9C+7#D_;,*UN8=3IGKNL9=K>4_$ZO M/QG7X" -?.3W>C[+EVGY:OX&YW],TM6*7KD1(:C"G*IEHTI8YK.B!=Z[I$.D M6="I:J[3Z=XF 9YYK#((+@-69=Z2IX[_6J+%]5SI(M30[(&MTHS/%M@?J+NH M#Z3E-DO%!N%2 8@9->/29_( :Q=]$+2(@>=@18Y:#<8^&AGZ>T[_1T*^CW); MQ&:SCS"MU/W53J4#!B^SIN7,TL8HLZ*=2@LFZ&?B'%N R @9!9 M#WQV5FLKOQ+6VLFNJJ]O'!0K:'C2L1*!1FJ#8E%ZSB0F(:T-EHNNS:\>?-EC M1K>)0ILD7/:LK7^SA/GR.UA>+7H"' =E$S.F'AZ0,\N"K7250EZL-I*BHR9M M^(8=QC/W.H_ -K9V7WA,+8;/UBYS.HXFPV0&%/TB:-ADN_4:OC4:OC4:OC4:OC4:O@(+.K4:OC4 M:OC4:OC4:OAQF-CP:)U:#3\Q$SFU&FZP#IU:#9]:#9]:#1_/U5@9N6GIJ-3R"&S)ZH]E3J^%3J^%3J^%3J^%3J^%3J^%-T<:IU? C MZA][:C6\G\F<6@V?6@V?6@V?6@V?6@T?DQLR>.?14ZOA4ZOA4ZOA(["24ZOA M4ZOA4ZOA4ZOA8[&+4ZOA4ZOA1^H:GUH-GUH-GUH-GUH-/P<[/K4:/K4:?D"( M4S?84ZOA@4SLU&KXU&KXU&KXU&KXU&KXU&KXU&KXU&KXU&KXU&KXU&JX7:OA M41JPWBJ[ORJHOVZ[^:5T>_93W?J2ANU1NPULK=NI,58XB%&$&+7+"0(8::^, MGX=J7#I8RXGL17$Z2"8A.8H?:>T(!@U+1A9T1G"T32HR'F_;D0/9<;.F(WTL MH EO;\]Q7$6OSG,3"D96)*^5MV!8+)&37ZLDHB]*P'':\:C-19Z*[?;'_!C: MB6PD81L-$H()Y+(YOR++,A]#8-Z3 F,I'DJ7..71U<,JH'I@\7!"AJZ M"/G<:V!Z ;E39<,N*!S,9#1JT,H1I%G3U"" 69#%,)2AZ RVE/!<:V#:6TH? MY8]: Q.#3(D&RZ3,AI'?1T.7.C-(*E+$+R E_E"<_&AK8'JATKD&IH]*!RZV M_:W&[RN3=C&X2-$_$P;(,],66(B>)/$0G.76H1ANMM^\]9FZ$;MI?<"^&Y^$ MN.$V=Q!C<._@\_O'W_]W1& =PSW4-_2V?DL<[XT@R_,UO4YFB5&SJ 6M)\4J M6J"*]:8+4>PX4+QG:QX6Q#Y:&QB\7TA3YY?G-VV=O"\\2<.XS+6I-9(,QBD6 ME8\)M5"T"0T%WQ=O'GG7W57WLR$4-_ ^^@O\=4L0Z7F0(1DF-=E9G%P$T$RQ37-7,5#?EGX%A-7$51 M=+T$8<1BO&?J/0V-U( ]23H6GG80[E0!O!N6_2J =P!B] I@BR:+Y#DS7ENF M$VUK0*$F2]86RU4VM.H^$2O9IP*XF9'TT?\!*X"%*BYSH9G1=?U,SK- 7B^+ M$$*$@CE@Q[XDC[8"N!=2.U8 ]U'SH2N BZAWPP7)K!7D"VL.#"Q(%F563D30 M2II.)O'(*X!WMHN6"G\$EZO'%(LAMTS)X"B4BF3E%$8S$8SFF%UQH5&MV5.X M7/TH'.2#V'U'8<WXG7=^+U MG7A])U[?B==WXO4]%C?BQ.L[\?I.O+X3K^_$ZSOQ^DZ\OA.O[\3K._'Z3KR^ M$Z_OQ.L[,B,Y\?I.O+X3K^_$ZQN+USFGY<$QB:BCYEK3O@<'= Z-! MT_S#[*+^<5;6/KU/@[\AWCL&BGV'OX9PSI[BMI2+1*,E)VP)99=M<-HJW6FF M=9!@GVWSRR?2&OX+S'^GYY)9?9;AYT_\%*&U$S8+VMBE9AJX84$7SS@OQL9B MH@31;=OL]^)]PXCZ.GK'^EN7+V$^_TCQ]_^%Z26>I6"\2HD&)GAMPDT#\Z@5 M2TH+3PSVB#ALS.E?5$:.G:]=8% )]U<)01Y MU J]JK?P64<3P&"].=HRY*(@2M QI4Z+[TZO;\VF',U41D+@T-S(!Q;7%4V' M/)5:P< "T&I"4\ RT#JS@E%1? "67-(1][L#I.S'LH5N&UY?3-IT0#06U:X!J9=G9RF MDL5OAXE&5DR##C(&F0@C2I949H4P#T@USCI,"XLJNP-RZY&R*MB=2D<\T%' M;KV$S$<<_,'282UL9;<,6!] &F3 ?IEUIV,S08 U9AW(CX97[FKB*NZ9(BY@*6_$&%BEQ,$"Q:CBP8 MXZPV'C4V:5_12;JQ2M%;6LKP,#R"%*E3EF)>0(:I4)11'"V5$0M36ICP4_-VSHGU@.+9<5!?93UG1%H8P9%)J%Q2/S1*Y3;I8E9G7(=64 M26*QT(^Q!,TC%!&$>AX6N'M6]& &V >\\;*B,1O P#-+WE)(*K5D7G#+LO<% M1$ )KDM9]//,BO:"M%M6M \>C4@RUY)8#&BY,82@5;7:T)(D4C&?4LPQ)A=] M$W_\LPC/R!IVU/O =;J?<@ZKE1(,CZXF&,CL:#Q8*'ZT7#(7A9<&:&S"= ]5MIK#UR*AX!ER MD2QR21L*.LY\@,@2>I)50-;091D_'E3O:9C0!M0^&ARU55'1@)B48=Y(6X\3 M#(M&6^9?:NBO73?N2%1'\6--T<9G[D&!N/=YC73;A=K@7:*E MA0>,R6I>Z2).<"6FSA,7QZ]-6!#;F>/T\@3J8KPL3UZ_*KB]\J MB6(^N7A''_AU=C&_^?%;6$QN'1*$$!)?\:E%/22(G#.*(@*+TB HD%'%)F>W M@XYBWTCVA\D%7-3RUI\N**:[7('UZ7=7 GX+T]K3X\U[Q.6/\]GE!Q)B\2+2 MQR$MS[A4,NO$651 6X_(B7DHY/'3EA.CT$[*)O'OOH*/'S4?SGK7P^A103]H MC1*%G'5]LDQ%'LB%J2Z22!2*&N%"%D'RU"P[ZI3[(-<@##S%9 MKPLHE$\14F!*"57S79(%3P.!:'($591L4R8WV C&.M0_HO7Q(. ?"TW@T^B_ M_?CIV_^8X+SV0OGX,_Z!TRO>O!#!@ ,&6=($E4:SX+ACP@B;-0TLN":U!]W$ M.U1R]$"FL\V AX.PY1I[.U*X*^]-T_0.PK;D%_22]C"$@A:P;[.L9I@=W-!2 M :>$U!N^53"DS&C2GY=MZ%@OIQ#M9D NT:)HPZNZ1Z8 A[_!H;K.;/:$8+5I= MS92H,^B(R'@I-922@H5(H91%QW-6"5.;I>;X:)?'X3<-!%4#E(LNLI^H MF2T,84AFW"XH'ALUTPH.)B5)"SL-1-,"S$(*A:& ;&E1=A(:M<\^-@O"KH% LVD#IVMO M=\+ /4]KH\D.=($$=V$HW/+F-MA\:PIKF1>'.6N=HO0A:^^(E]UH!)J^4]29NU/S]@]D;A=?S M&84MRX_7+1D^U)#U I<#(_+ 6]J@TV=H:TC):&6QM,(4R!J+AI*EH-7<): ) M(_A&I!YXWW[>P,W#7]-[ER]NO>'S$1 Z$XJA^*_&?$PGKEC4"5D![:W4SJ3< MY/#W8='V=86VON''^6Q!'B(H-,51X(W!U2M5% ..F7&G,@JI'.0F'2WN%VM\ MUVA@&UEW@ 9$H4':Z45*E^>7JZ;XW^&'.:;)JG\]?3_%ZT;V+\YG\^5U7_NM M@SFCY1AUL;6$NE[0X[QGT1C%#( R*DGDO E/:J@!/#F[.PBR#0*ZK8+]BLLS M24J(V6N6$M;;7 (%%! =?)7RE RBQ M(.-0%4 N/(L\YWH+LS3".9YLD]K,K@*.Q9]I;"M-\#@6SLO6(7W[\2T]8I5W MTP6*!0T,7 XT'Y1C\?^U]V[-;>3(NNC[^2\X!_?+RXEPNR_1$>ZVH]TS.\YY M422 A,T]DNA%4I[Q_/J=H$A;HD2JBBP4*8FQ5O38EEWU(;\L(&_()-^;*16= MCL[0UMFDC7 ';,>_"CBD3G3=I/;D9LR3K )<#PWO +%E$J8#QN/D6@;GMZO^ M'$C.D?2(? K%7;V0I8AGC1)9T :8LVA]IHT\Z/"B].>)3,DIJ$\?3H:^^_CN M=F#==/;M.[)UPM!QHZ*QS)(K2M"\9$$9)!L?:^5#=!Y\IXN/6U]Q0@;QOFQ, M!Q=E U_^'<(5626#'[((Q]*9.$WQ'1JG^]F9&@;V;K">V1$%C:M6JG^SI* M1@0&P9#>.BVD-2&0M]_I4'CR52^'\0:B?4C\P1/'WTZ7%[J68T]_KU&_3S.< M?^],GT0IR.OPISJ7-)3:4)[<_V(R! F6UMYFYML.4"]'00:GX*%ZZ'$*(WZ; M3O._)Y>'-._O\M@V"S_B9[^CB%MTEJ(Y,'9ZR"!,6'R+-Z-*.Y8QD' M2W[9D_A-2K,;O%O[.C 13[RE#2]]EK9!D[,Y<^45M\[IY&5PPAL,P4"V)7C_ M*$W=%]F+M8^+:?I7)$,PUZ.?W--E>F4?9K8\Z7#I=X&X^2%$E6D?BC((KDOA M8$10%G7&Z(.+_.)IL -([,S[P)A?-#X=^<*IP7P1_WE3+['U9 M_G3^YBL163^_7Z>SW^C?+BYL\5:EVDV+(Y MF OSM%6R3.9"!M0\BR96Z43:^NIM?+3>HM?)DLX/(6Z%\XQ]E7S(3SUYOJFOX^ MG]]4^^@BHG&Q^,2BASJ0S#KF??9,DE-B0=5V&KZ- ]@3Z:O3T;9<-H@X#O51 MW2P^3V>3_V*^0,<-&%4GK^@ZI%I[%F1TS"63R AUECZM4]YGOZ_DU2GO<76A M:=G1DTN;;UO;;)-$[6 K&*MPZ=@J M?!3&3Z;RB7R8/^'J-D\N-+FG4B&S0M,"D)-5DW1A)2<$[B*&9)O4%MP!-;]O9,26A;# MK,?:)T_7)AE",%2*%X,J8MKHX+8E%;SQX"/D]0X0\G0@"8URE_GQL.3R3]]_ MJ;\08:O&ZSHE[+@P&+H3R!B*(+6'>UTG Q7NV/SAE.%I:)4BJ[>>WMR-OSKM6\3OT^JDX\5'1S.DEE M%:)V-M,GFF6=UFE,[:[(F2'GHLX]5MJUJ91XA4GE@]3X*(R?2E+Y%O[Z]G5V M2D(DZ=F4+=/26>9#S8<*7H*S/!K=Y";B/13//ZW<2Q$V6T;M3<@QZL>V"N+' M,J[S1LZGRYI:9J=;+.HX.>X#=*6OK3H6T<]%B9UW"JTVS'A-]CC9+"PXJ9FO M=W&$DL[+X^2 3D9YGTC;G[CN]N%WZ"#P]ULK=[.?JSPWQ\R#M8:)4">O%! L M2"OK(/@B<.U= MF\+,U))[B.:%)I,,-J*Z!4KTK!L-4C!K*(SR[.9D]::K&S- M!DERKH,GYSH*QE52T=3".M_$U+F#X76[A/N2T4XO5JK?!4Q+3^X>FN.X8'MS M\SC'!PBVP6%R'Y0,0"!T9NC)_M'2TAY7C&)):2LA"\# Z\]-0__[W= 75H8N (I,!7&T88>E3P4(B*3;Z#,([WZ;= M=W>,+UMK]J-BZU[3OCS^QX2TY<__0:\9ODQ^UTM:E;BV;W_6ZHY?/1P\:, ++-F"]\P',<_I5J"(DZ255 ,F[H:];9&19)<9B!C%:!#!I/ZQ;"2ZD)ZJ._36N"^FA M*U-@\/H/AB+%N>:H!-0XZ,P?IHU00YE-@8#0PUTRI"W MP*)7IM[8C6"CDKE-D>8+JPGJI0@[:X+Z$/)LRBDZK.E<$]2_)JB7KHQ25[$' MT<]%B<$J%[S/S$7AF);)L)!!L$S?>83DL_!-,JS/1WE[U02=G.[VX;>!SCX6 MU/GKXS_6<6%39Z%[8%H@2D0A<4YN_% MS N14=V%B^):57GC;!Z0YN]#Q9'3_(''DCA8 MVD45?2K::P;"2Y:,X,4E[YQ\[6G^MEJS'Q5'3/-_^/B/.9"5_=/[X;/[CSR[ M55+_J65LML"+,;F@8Y$.= (>A<[.0KVHBMPFW)++?^0M1T_A)W#*Q1B8(#Y( MGU-FD%(=H@?2!XRT4QTGTO&\4OB0@TVZ%%;$\C*)0!:C]8Q$B4)E9;5LTL3Y MU:?P^^AOTQ1^'PUX-BE\JY6TCHSE%*%.7*%?!8>!Y3I^V?$0=6ZGUN<4_A#Z M?52=:-)4;]>*XI85W4Z^F);?K^<+N+Q1!C% M@.WR#EOL+W387,$"[Z[ZMRE7$0(GD MA',;$B]%2]Y6Z3LB/2OYT7AOT35OP.NC0BF= \.8:"'&DY^ 4%BT)21,WL;0 M)#GW&@L'#S*>C\+XJ10.WAO%4K1+!8VG;P])C%+5N9LZ,IM!HBC<@&C2L_1E M3:CJI0:[)E3UH6.$>44=T+RJ"56]Z'EB<-$>LFW/N)8R6'2TC94#4@T7U$VGI"E4M.09W($55QY$B3^Q M.=*>1U&" M#L%V''-Q:A.J>@EYUX2J/A(:NG/4FRKG#Q__\6:91[H#"HO1*'QBM3T)@4J) M><\-,XDG(87,M/JNM#WZAF?-W^$R:_/9??P';(*J60,0QA(>TBFM0=4.N$@^ M#V+,!$\7Z/']/7S#LR;R<)D-'?>KH/QCH'0NW)-IQ[S4AI!%1=M$]4-4"MQ: MC60#=B;RL3<\;R(/EEF#40_WR]9%0J^M]+]=*5,>Z<[$/T<[DO90PHH7P=!9\4?>)T M!@3DH99!: G)9*?;C7Q\%LK;Z[[4R>EN'WY;!"!^Y 96V:Y5D:0T+DICZHSH MVFO:D$LF"18ZK1/GW'C19##'%CPGF/)I3O9F7&, IAK?CK+*AI#(:"U2DV%9 M$F=>>V"E%MGR($ILHS0OZG;4(3;=OF0TL/?OUW9W ?.*;D?UXF;GQ9E]!-O\ M=E1"6XJSGJ$*J4;QR'FM+?50N2QC"4[;)K6-IW4[:CB2^\CSR+>CA LFQD#8 M1.W\&J)D,=561%;7/_?"V#&',)[B[:A>;!YP.ZH/%4>^'052%"6!,YG(%M?< M"A:\=:R YBE*K\6H-?ZG>#NJK=;L1\6 >\U\MKBH$R.6%M+'A-L$=O:#?;>K$5@2OTZ0>A=8BLX2"$60QL6 M2$*H,686N*C-)7PT.L;$A7ZFW&\Q.\>DOH]T&U'^ZW2&">:+=4;+J:+K7>$< M@F':8F8Q2,ML44IBS@$Z=?/IQ?=]".,9!0-R\PC;!PAVJ^78_H;TXW_ZRW_J M+W'P.].=WM;J%G7_I6[>P(W MK2,M(2?&@R%/1Y3"0HJ:F>B#1*.%56,ZG4>_:7VADHZRSK] 79#I7!3SD0=6 MG'=DQ9=4L,U8[4?AG&#P?EB=ZN9O]6)E/(?\::&L9O?]1G]Q,?_]^O9:]F^S MZ7Q^H53,&3E9&.2,DF=AZ*2(QM9>&E[X'!+W\J2^O.UK.6OIR/K0Y ;SH>O! MO%[0KS"9_1,N;_#"2B54*))!<&0.U9+DZ*!>?8G.9,NQ\!ZW01L@?#6J>SH\ M'Z,&:MNZOJ_@S7Q^TF,N)XMOMW?]N'329,7H?Q33SI/+ M4&)A19L2!!8CW9AMJ(9WEU\+ M#U+(0,>4];5.W7,6E$=>C*SI_#476EQ47I%M_[SY.ODXS7 M>;G FA*T );Q6#.&2G'F52I,!VH2(I]5JJ^O*SA_#477EX<=@3JK%7"0? M)6"23)9ZR@416# !&"B K$$HRT_+BWTY+>:.H.*':L!#;;:GV6(N<>[02OHF M!9 SGA*P !CIM\9J'07X$)JI]="K>9WZ?52=>*CH[N!;8)?+OX/Y<>&N$@L7 MR7EI%)JU/%!JP]U"U_J&[]FZ:?KR7]7 M,TE6P:,+\(Y.AT1^<%0D1U_J(DMDZ)RS3@852Y.;BZ.L[M5I]NGIS,,/(YSN MA_']2;?_Z/WB,\[^_@S7ZX7+%$!@(&/*>L,TU/&2H(@:A"A\AB1L$\/Z:"L^ M?T GJ5N/I)H.3Z=^+\_L)(/5&4J_>E]^K/+6_ZCKG]^6:CJN*2LIL3 O?>ZP"I9?3H$4S' M"?XF4B9G"YRCT\TA84_H ^,VD]/E@*#4WO0Y1"MTDBZ$)A>K M3ZH7_*F8&?L2T\ LO=_5M@N85]07OA,O#Q3EGOTA1^.Y#[R/')?>)]\#H;7*S!<,QW LQ!L8'0 %NWK M6$$);&B[T+VEOZ'V>0K+,@9*&31TV<[C.RW M/'58R7>!OB%W5U1V5M'^$+PNZ*)4(CM1B@/-A8D7'9Y_X/ER$^>3/('9MX^P M')Y0W_3N^T4O"$Y)$163QEJF"U M7P0]0!XAMS2$0/#!3:OP!0V$>3&%1 MHL5HK,[0IL!]"Z"7JB'[2[W%>-#;H.-\A:WJ:TV?+\-2%_3J8&1"8@P#.;(Y M,^!@6 HA('FQA>LF[OPN4"]**P:3?HLZ]1^+?4L6TX2>NO0>_L*$DZ^8W]_; MU!SZZ(4N3+@ZO6K96I?7^SS:J)**A-RH(7T?E"]*=]KQTZ+PY;L+;'[CX/*63<=DW N\LYJ=O#__R^J_=!LIE=/1MD!\@A7+6+L=UP'N*)?WMFU5Q' +@B;7NYZ$N)Q M$FL#<;K#EQN0D..HCC->R-(= M36/Z\-#"R[N-PWVXA+0\ M3J^N)HNE(PK7F9R)FGW"ZS3!_:+8.QXW0/BZ*]B- MN+60Y$Q[+8E"K3UZHJ#HY(OTIG!NPD5'V$-)=FG2#"W?U4.;2ODQX)NS" &R MX9 &**JE\<+0/YHBBAKL$ M"Q:!^0(24$LZDLU3!'5^V\'M/F8(M9@/+G^9U]8G'V93\HH6WRXXI@P0$Q.& M/!,-.3 ?R%?25D>/J2@AFTRJW 9HO$.U#=,/6GD,(?@&695UVF>%A]9+MN;_ MQK3X>_K;;'ISG=\AS'%^X9/)D5;(N-6!:<4S"Z@",\I#A%@BFZTH*&!@F5-X1N\1VGH(.0I,&M-+EE'TN(F]S*V(GIIFC&,Z!O?$L\KH[%DN_"B76/(\+ M*=+>:9JXQD_@>FG*,B0-#0:$W=I5OTZN:Z'3$F0UI]Z7*HD9I(6XT 4X%R8S MC,K6MAJ<5<@L*R&R%PC0TL#=@>RE:+7R$MIU;_ ?^9 M7-U<_32=S:;_)H&0NM-/%M\NE,I*10BL#O1@&@AF1*.8B:($[T)4O$G-11^0 M+TZ#6A'48$@6+;_.2%P5R4WF__HQ-%%<%".,32A9":7VA:IU4-8",R'I++3A M#IK,(]P%ZJ4IRV $M!CV]#/&Q>_79&;=+,<)P7PR__AEAI#?7_\39I.:E*I3 MD<4%2&T,"LV*4(DD4&LH>006B]:F0(C:-;%BN@)\:5K3A)A'-.C@&HO[0._. ME5\VQ\]W9K3RI%.JUW(SBJKLD!D47RL+?+)"BXBE28BF.\27K46#D?.('AT> M_YW.YS\D\*T&"&[@\BW,9M_HCY:CV]^N'#[/'7=.<2:#KUD+(CUP59A(QG#T M&5 UN3W='>)+TZ-&Y#RB1WM'B)>"^-&A9H=(;JMJ1;!2HW.,NWK-!)-AX"4R M'P3MILA-[MB\MOL[6Q>_CY!-:B3@8Y>VSV>+BQ_)]3IS):6;JYO+ND?^C'3N MILGM>!>JR_3!9ZB 6^KN MGZ'^]>%PZ$J@-V122@Q(F\T7^*Y R9? ;0R3(5?4'% MO8!LNY'\X-DOGN##I#GX5VRX>/L9Y_ %X5_KGFRQ.%E;KS%C9&8Z)#+D;!0, M,(.14NFPV4UW&[V///W%$WRH1(<>^O%&E8O?[@T2^>W(-D.6!IW:V#=D.^%_R84!MD$CS:&E2&JF2! M>4R"H09'6XQ.:$7$D6+2FEYYI'Z53)LDDMPOZ07V)88V0B&Q1U[X=\]?ETP=[R M_O\AX(_3&6 L11E$/P]@N<%5\8/6P %02:L8MU"8KE,S@DN1HU#;@/%_!FOX+K:+-/YC\E_=&CPE#/9AB&2$V!#8C%SPT1, M4040A4.3\_DQ,./W+QB/S@?I] .Y:' #\WX5VO)3,5P+L"*SI" QG25]*D$K MEDKVT0:,OC31CH=07K)5=J#@&UR.NH]HYZ8Z>Z2@XBZ@X(P.U ]8P48 M7NH--N_[Q79DJ_ST[4]8W,SP]HK*N@:O;E_6H/?%>Q8UU%[)EC"3US$GS MG>@^1-!!.2DM,SH;I@7MCR$HSS '[1&,@#8CK$97ER>,RA/0ECY4--"2WZ\S M7EU/RN1VV.=O-W [*W9UFDJL XLRL)RAUB3$PJ(0CGE"K01'Z723X.AN6.,; M,8,Q.&TF_A;AJLKDR%!4-VF\\@%:!K;/Q': U#6!MQW:D.-90/#ZE'P>2T"*N MM0.B1^U,IIU-%$U>FS6)1><)HD0K0FT18IO<+AQ=/YZ*%&II9!&=KNGL&0/M@/ (P96A M>'TT/#HT*S$9/9:(D6YN5][E.P,R!+S[C;/FBWZ_+=':UNF'1@J6=KVK*6/=%;K"7$0)F M'3""TJ*.C36$3G,;>?1)\EWL=5WN4$S6Q/T'F&1ZUV8[IS9\=GAA4U;[+GB# M6]H@;1)*:P^@!9A@"]'LK(\RVVCC+F[[+7THAG^]J<[O'R3&JYNKY7O7(P'; M$/ST^YKRVW.Y&_3:VD$H6#H;@]5"EJAELJ80M95EN9/>7@L?=">^\_.&F_ C M;VF__SZUM W^>#:Z6)VY,(G,*=I[#7B7O!0*G<#\Y-;[R/L.LYV, M*W0])!3SU@BFC?8,BDNL;C'9@XL<0@O[>"NB@X=%33[=QL:N%Q]OOGRY_/;C M)7]AM7%)U*O/X\W5].9Z(H*L.3CT)XR8![QS37BGZE/+/"IUS0<=FFP]Z15.7)L9>C:TH? M D;0D!4JIY2F,]4S(PUGF@ R'R&S),@?J]I#-B)*G^G0K&WY'.E^-*(FCJW6QAN-9F/TQ;:+^IN/ M?OYFP@ B&[S3PETTZR*1#G@>MP>Z4'F,C/80@M_*X0%2&[PURB.XZ.51%=H4 MP K:'EP$%DHTI*A!"95S]MBQ<\98+&XY;<<@L8^P!B?ORVQR*;FPJWU=)1XT MSYX).B&81IY80!/HJ,@R:2Y!6M^-N/L/'KEG[,%BG@XDHZ'/OH_X9;%$07C" MN@BNEEB2A<<N3ASYFW0V4U]+?V!SWJ-MX\'/F[! 9;353AJR>^ N7 M;78^0)W#NT?.Y]Z_/SR;LQW.9IZMD*R\3L$4KHM- 8N1P:8LBS1>J8MMP/:6 MSA_T!^GF$F9U3MI5O)Q@G5=T0+JL^\.'E6N/A6P(7=<)@4XHG9&4EI.^6FU" M!N_K#4P0%]U?<^A%O!_O^9ON@M!82"Y.&O#AM./ES#AV+RH;J M, )/C>[B[08V0$WEC.D;+B0&UXY'*RH$8&-J6>@S91[C$^1\3^L]B>HT7 MF>P\\"$S(:6I]PNJJ2?KK61*>L&T]V2-)."L9$ 9 MLL^F-$E@[87VA2C4>(PU:!'W\PW^2F)Z4PIM=R2;]1P1:ZOZ&UPC_['3;TMXIK_].W>3Y8Y"?J4HI?&L,RKJP_"L0!2,X=! MY>AS\MBFJ&,?M&.5!S75M_8\';N*J#8X_K'*VN:NMB]9?)[>&9+]\$\1:\/C M97P^9.TA"F19UB])Z\@"2929I- BB5P&V4$I.PWM. 3HL=*+(ZC0] A4#CPS M9ANN59"S"[*A1Q3MAC3^(*+QJ)TVY65ANCE&R3#DM(@9G07S[H;8 =$3;N$/(!TI.KH M83C;S% ,(_ 6K1\>(@M)EQ@X9](&0D;Z3\BD8\YJK5(1!MLT1Q]+!9ZJ>AY+ M _K(N46M,\[H!'OS@1C$V0SS$MIZ\HXN&C7/C.M,)Z-SCH%0AK:^H%5VNOZW MR:&Q'=,1&GL<2-GF:3"0O >T'JJU]+;>_\/9EWKD?;>",6F?E$7&4TV=%5D8 MF4V>80@I)YEL5G8H[^$Q "_?1AA$] -F$&X'?GVYF:7/,,?O!5>;$%??01>0 MPX].[HAN_!#%X41.QV)AX"A$=[ V0;*.?",N0+/J9+-0VW@JY;2PN:C@^ M1 ME1VQB2-I2A_ACQI^B* ,ENJ"FYQJDD*RVGV%66?!ZZ2<@&Z%Q:<3?FC$2N=( M1!^1-FG(_^C!N51TS94IGB,+3BV#:X) "F1%E01"6NY"$[-R!Z:7;VD,34R3 M29N/0EM7>G< UW:.X0YTQQI4.!"7W73D "*:C!K6*:ZA7A_)C$Y'S93E43DRN9S6W0R/SN\\F9JD?9B:MA?S\,77 M5U=T($_@;6%TN,0+6%$YM(@]8QPL89-'%1+S[ MX'+NI!(]7_QB]**EP-N,K+W5V3J2\BM>3K]L]#98UYC_/5W5V_TZG2UOS<_O MM(0VFEM>>&*^H&,Z8&(1C&=&:!5DB,ZW&<\P"/K79/V.37:#-O\'+.).4^HN MBV@\%_SP51QM0/C86C2<'A^H J>U ]]93#1)*3J;6"*+EFE39U#F3#:&T!F- M-CF*+LF*EZ3'3X\1?Q%JW(?YH7V-+2M8FSAU2N:OD_]@;4<[GV2\-9-7A@]R M;S5"8)YL*J:3)LF1.\9*-"(ZC"'';G?^#@!QE+'C8W,^/0)A0[LQ'7#_-+V^ MF?\VAPCSKY.TNV.;E%RKX-C,F?/=*UQB%HDIDI=?+$F^2ZWOCKEZ!X# M\/+=D4%$_U 5[ "J4">FK1#-UPFJ#J"&3O-O13-^6O]PHAZR/I"4V^P&CX#S MP1CEBF"V1&#:.SKYBE+,2RS.*QZU[5(,>(K4[TC3C\1\'^&V<+^FW^#R^]1N M[<#2;J:80EV8IJ.'154R'8566"#KWK=IUW\/Q;BI^H&8V?1M]A;KP*5]?U7; MY]95*]QS92I^KYE&Y+69(%D;)3D3/$8-@]T&^O[6UW&:[R?DATR[@YE>*5P7 M&(/7YOUX__C'])X,;')X@/B&+JJ[ R<%VB=HOV%9 'F>T5D6>:T-\RB<2P@B M=>D?=1HL[CAQAR6QC]0&)N\/^$^=J[(>S5A'_!E!VXBH R#1UCQ[<2R)[,G1 MIDTG=ZE&Z$3?O3>/7/.VK^RG0PANX&-S-1EGG<&V6'0HGEF%ENE@EUVDD*4D MI$J(=&QTN3_7C<&[;WZ&#.XMN":YA0-;IGQYW:H+R("=FZ' M>FZ'>FZ'>FZ'>LH*+<#O7<#O5TK=]S.]1S.]1S.]1S.]37 MH,?G=JCG=JCG=JCG=JCG=JBGHUSG=JCG=JCG=JBGUA/SW [UW [U:,R?VZ&> MVZ&>VZ$^[]/\W [UW [UW [UW YU#>/<#O7<#O7<#G6H=JBM.DC>::!RVQIE MU0;Q/J#^K2.W/G?8GI'=X&\TBRR1J*Q6;%9*QQQ#P<1YX=E%)8N3%YW><.0& M1>^^]S?A$3@9SX4YAXE,=&Y8B.2.F>)]LM9I3$VZP@RWA-/I]@0BB$3&K@B! M?!3!)0.7"U,Y*]#:1>.Z]#)Y5=V>CJ+'[?I"]=" )D7C!Z[CUH?#Z%66VK/B M(QD-*2.+H!R3 7..#C,=1R>IQR-WCGH9NMN?\U-H.O7H#2"G?(IH%9.^EN-R M0Q:7X)[I##9G*8IR@WEYIW3?\A@Z\-0%S#Y<'.TV71>0K_T"9B\B][I6MP\+ M1U.9 "59@84%5V^;.44?27+DWY4$R4D#(@\7 WY>%S#;:TH?X8]Z =.CY0)C M9BE[6QN"UD2'B\S;%%3(Q7 %W>Y!/,,+F+U8Z7P!LX](FV5\LI1.!JV9C0;H M2)2%D89S5FBY08@8>1CNNO6Q,SY'-B/VD_J ?9TV WA=8+S0%% O!K9D#_81 M7\,4D :=.$9RK0QYY)K4D-7Y!2R!!P!CH^:#1:!/(P4T!(E]I#9T"NA>'!R4 M=IE;R1(!(N."W&,HA,9KYXODN8 =S+<[D01"+]EO32#T$=S0*:![N2A1,$DM M'1/)U^"8KA?BK&,VE8!125=LE[8%SRF)MS>#>PMNO(OBMSU7C$]:2,54BM5( M X+FLF4F>%I;H?-^U&OBK]1Z&IJI)B,U=MV5[0+NW)MB/RY[M1W8AXC1>U,X MK;C*-9-NZ#NA+90\0Q7I1,LJ\QS I]1HJLISZDW13DGZR/^8O2F2D85S8 6( M2YVY8B$;0^QJ&7V.UFV.7GUQO2EZ,;5O;XH>8CYV;XJ4!''K!5>.:]*?;6BY8"/_UASD&94,B;8L[;2.9\ A:=SR1%K,WI M#8H03C(Q?A+#G$_"0#Z:/FSM]S9V;=[A@YUW/'F<^KPGQCD#5\H7%^C\T=I$ MY<%@D:F@I?\-172JT!M@DO.Y1N_=N4;O7*.WGQZ?:_3.-7KG&KUSC=ZY1N]< MHW>NT3MZY=6Y1N\T5>5NT3O7Z)UK],XU>N<:O7.-WDFQ>*[1.]?HG6OT MSC5ZYQJ]N4;O.59?G6OTSC5ZYQJ]:=9BG6OTSC5Z)U.CUZJ*ZM7>H ?*-L25J-B?N0O1#:H8P0-7$CDC'<)LP7 M3S^^R8G^[GL./"@9E%*:*>,B.3G",N"Y3E@N06I4$G6CXIG=P :JR?B5OM [ MKYK@_")%I0Q8RX2+FFG:.5D(J)@T0:,IZ 1O9,9L070RN]1^6K&E,N) R3O;P*>SM1)!,RDR':E &S7D @R2IJ,6%938Y%MX"M@+ M4Y!!>6C@!>W7)5L(B2YH0ED R!X+@059HT]1^:(YTO]T&0?06WGV0CM>L59# M/6K/TRE47/T]6=0E_GZ=)U\G^08NEUXF8*V(=F3@^5AJ%WYD@';9439IT#QH MWF6KZA34?13!\VIAWXOTZ9#"'S@Y\P#0_YHL/B_76Y?^>?+E[^DOUXO)XMO* MX^@"=>A<:D^,X^=;!V!UEXXTH.3(6I3)>1:Y),/-%\F\]Y:L-QZ,=9J3 M\?:BM&='GO>XRM.'B8&5YN?)#!/]>#VAS8@,7.N:)JEMZ+5CX,FL)WS:&A$( MVF!IQ?NO'C>OV)2AZ2#B;7*E87N$VY*?)GE %M$EIE6=;IJR8U()84C/G2QC MA@Q>AS4R-#$#UF]UBWUV 7?.->['9:\TTCY$C)YKC#;'Y"5]':#(+U0FLF!5 M80*,5\9KHS:32,]62P[(-;93DC[R'SK7>'?[K(?M_;CX]RK'(D5"XM!9Q[0H MGHY9J5CQ)165O #8"+=L22EU>=O)!.#V86?:4K1;38\ADT,S);CRUN,RDHK7=9.N?(OB\N@R## M/@9.!C]JD64_SAXNLR%SM!+R@ Y(V1[RNK&9W+'8#49#"C&4*)10J.OWZ(VV M68(*8+,J/;_"[3ZTU@4;WOOR%QW6OX&Z<(H8U1V",[K MI$U(2AN0RH!VG%S^?J1O0W!@*FOCJ7=>^",'4Z,2MOC$@G)U#J_ES!N>F;7% M),%% NQRV:I_YJH#N '+ -Y.K\G828MJ][R]F2^F5SC[Y3_I\B;3N^M-./K_ M_#?\Y\+3+AR21I9EK> #HQF969D5 >2T%^6P4\'\(04"7;&.;Y@.KE$[R@>: M,-8@6/9V.E^\+[]-I_GNO.R/T\M\@5+&7(IDT62RU+/P#*+R3"$:S F+::-+ MVR&]0)492/Y-@ARKXLWK_#/I]>7T2Y5$O8UP/<>+7"V^H#*3H5XP6=8Y\&B8 MC%Y[*0HGK6ZST>Q ]0+U8S@6&D1-/^(E_>C3;^2$S^"2(+[)5R3RZI@O)E]Q MC=*FPH4TCDDMZN19DB"%X"M^0X=+F'M\"U2:!KPTN-]3M[ZZ MZ:W@S"^\E\Y@1"8Q$!XR31G4:CNE-9;L(B;7I(G4)I 7J!$'R7IKK\C]N7__ M!:LNUI62UX/OIO/Y1=$V)'"2%1Y<#0\&%I',H82F&(<:DY>/MWR/G".=_3*ZGL\GBV^^UB0S. M%[2%W7_*+_]S0S_^ Q>?I_23K_17JCQ)9CH'HQ0R02NF_2U*YIU(S*4D8\Q) ME-3D+!EQC2]06T]50QY^#.Y@V_DSS/ GF&-^.[VJA_+M)PHY<\@B,)ZS9%H8 M4\TQLNA],E)PPZ5+36SE1^&\0!4;0.X/M<$/5[>_0P _?5O]<%6*(RUFPPU+ MHN[FA7;S("Q!!DF*388\[>=MJ_8[8QVK9K^]]C3FZ12J]C_,IODF+=[/5M&H M9;D&USXK2_)28!/3.D3F%2#C*2WW4>2=[A=U*IE\#,#QJ^0:$3X=4/ #5\VN M\-P-3*Z*.+J &KHT?RN:\8OP#R?J(>L#27D\%5 F9$4?D1.E]FW,@@6L<>H" M8(L 'N1@O=%&IGY'!?U8S/<0[M E;"M4'^&2C.M5/S"0"I('9C49R-H(32/GO<@OB!)#X=3EQ#M[=8YPO@7KY@E9A%X@)>S6Y:3#RYX]OT,+=. -FGSD^?1RDI=VR-*^O:VN M+;9$SSD#66]RV$@V+IC(E!'6R_HC T/MSH]#> T&VP#"'[@7[4-$Z\KY#IB& MMMBV@3E&E_K#B=K)^P%2;KXAK.]N0LB!'%U2;>G)[4V2Q:(+,PX-#T4(([M< M2SA!YGJEVXG#4].@%&>%97U%JP.8EM== M[Z$YSO76 =EZ4)MUJ*A;[!OW0?GHLTR6&"R"+7DJ7"05@Z)6WI-HGH MP:./EC_>1\[3P80T=%#OI\FTWKR!+WBSF*3[N'@$O.I&WXR7/EL:A!#=*G]E>=Z[(KDUXO5CU69[,_S76K;>M+Q[YVELW M 6S<>TN1IYQ4\49%[8H!::, A)S!(+>NW[VWK1 .]>4V'OON>^F"%CZF4#BS MBM1?@W/T(":%,BNQW2X8[KQI,_D E/?P"?4%PX;Z7303/,=<@M MVKKG*LL$UX[.8)%];A*^V 5J_+UP('UXZ,0.)/DFX8P-;+?^EU=!V0R>)5^K M5F.PS/,0&<\%M08POM- I\/U8=2BIK'X[R_C8U M6929COD4)0,00"Z@M%(G[:$TJ9+;@>E8(8\A&']*B?:4? .?]N%JZ1^N#G]QD#B-A9#TQO'BKH9"?;SS3)4;F!0)+M+5F!=Y$/\[F MT5H_GHB+'$,]^LB^A5JL+NT_@+@N\M$@HD^: =;VAZ*.&2:7BFD?1'9&)A^: M]$Q_ M<)F*?[IF,Q M),% &6ZL\#KD)FT GP+VLJV/_3EH<#_^(;XUNM7WT07?J';(!L"3,48.H/5) MG1F DS',DDVFU':+$"GE%R3EM<[49V MF7(0B9O9O<$8&&5VU#H#8J3*V166-&;"13:\-W4JH^/6:J.3=$UVD&V 7IA2 M#"+W@:M#_X#_/9VM+>O;K+94UDEG!>-&5>N9K/7@9&;U#YW/W!G1)<<;Z MYNM?@#4Z@%P'+.FI:/Z$*WQ?[F%:Z7,74$.7@6]%,WX=^*$T35O)>.#/?#LX MFTB#=4Y,5%PZ&6G M=8F1MMQ[X9ERM36^5X5Y(!^%CB*=O<^TZ(ZCIN\_^,60MH^@6GUIZXD#VD45 M,\]U9A:0,1?J]"R'M*TX#$&+FIGM1=KH^L9U[;R*0&(;/7N4C1B[2?7QAI^PAJ0"/V'I9?5EAL6([012:+I*]> M8V&U?3E]]08C2".EZ'9M>>/!+X:T?02UM;?CT2H;5W\RC]]^_/TW,X2Q"AR? M>O_(=8Z]Q/%@MH-2R7'DM+MJ3AY' RVGWWT>CAFCWWX>Q!K'@?6Z]!1=ET%PS:8$@(Y"+A.0SYP(2H"2K8I,; MI,^]S]PAJM6:IV-7;E9+Z/MEJ[O'SVU)D;T4S?O1Z(+:FK40] MFAYX(Q*B$BPF;1BYHJ3N9-@RY4C1?4$3S7#[P[C\[PABCTE_'PD/3/L;,IT( MR;JQ1HF.%T%NL"\\DU>,O,Y'\LQR8PJ/RDLY6">K^Z\>-RXP$!?30039P/+\ MY8]?UC%W45QQO/;;CD4R+:6DI97 DBB.WN"5 ]^.9SYFH0\2S-0!^ MM+#3KYBK-[LX6G2N(XR1@W3["&"@\QZ&A]:5(&/T;([KY0YQM" M?Q/GRYC01?*A&(V*<5XWC\P3B]QJAJ%8C\([$YO+;Q_H.ZYC2^J@DF5SV3]Q<:'):7>U+L$X%Y@.6!N)24<4VTC6 M6M$0FO3JV@5J?$UI0>2T$0LM"KOW" 61-8]2Z%2OXQ%DRPDR@F0V972@E?:N MS7[[W*.U!^PWK7DZ[6AM]L*@!\U(2/4_CM8$7C 2H0I2T8_B.5J[-_6=HK5] M*!@M2M<%U*N,UO9BJU.X;A]1CZ8'O(3LDM/,!0]T.NO HDZ*CFCRJ06Y-[IT M,7]/D?^]HK7#T]]'PD/&?^KUEMFWBW]\O+#6*&_IS$S<.T:O*V0HH6?*)!$+ M&.7PD4MF\[68YYC^[T_3K__/ZHFW/*]^LTGSC[>>2G"HE_BG!\ENJQMRM+A0 M'5W_[\GEY5@!H,WWC1SIV;G838#0;GLU&*R2PLTQX3\TB:F8O/((S7.6$37V*,V,U*G!=6J*+(DV.P+'%- MLM[N"[3(8'242ID KL4BUP!.-/[2A_L'\9=]9'LBU4Y..@V:O'VEEZ,AZAWQ M"(GQY J'*(O9K.<_^\^'ZDMKGD[!?]XRB<0XB3P98 FD9)H[9#$FPYR4*?M" M'TH9S'E^_H.:>I'^]*"F/L(?:TQ/%TRO;E!3+Z*ZS.O91\IC:0 "[98!D'G@ MM6F6*PR,1 :2"XDJ>VR8]%B M8"YY%S 8XU*3)BVG/:BI%UD=!S7UD70+DW3GA F.(B5O,O.Q1A*X2;5+D:+S M+6+4JC:[/T_H&=I &)Z:!JWD[@]$Z +F54_HZ<76SE$M^XBZ^80>#\;F(#,K M)16F8^V^:JJ;C5A\DCXXU\9)/?$)/5HF+S.ADY"RD')B,W.48G';0KBEE]2G0XMLZ/X>?TZ_ MXN7]$31K6"9D%Y&.J&2M8QI0T3GE)7UOR4(JOJ3-$5M;F-S^CF?+Y4!B&V5F MSYO+R^F_J]:1]KV=89XLWDWK;<]]TB!;GW5XBJ,;S(WT1;31)@U6",TUDN7$ MA0$!UL1"?X[ZH@O@0:2YM.T&E>GJB>TD^QCD#?F26*-"B#ESKE6.7BD=E4%. M7JX#V"[?A^ 'D?*;:[C\-I_,IV7;WS@@QW?X2]MQM>?"-^@LF,B_X+2S:?)! MH@LF.F\43U[&R-%OI7,O$0S"^,>;JRN8?9N67R?7]<<_.E7.X[DO6 MUJ?I[%L#YON_O)T&'"B(#4T '\ KM%P(VB>]I?_S,0!P,D&R$;A5$_K#.,RI MN'T-/?;'B[Y#^_4^M!^)'N#69V,E U>#,C6GY[U,#(6.SI441:=RO]Z^QSY@ M#_6Z'GDG_:J:$_GWZZ\X7U1[YP/,%S_?X$5,VJM,+H> .@A#8&)0,F>"3)VL MN>,QJ)$$LQ7D^$9A-3:HQ^H \Z]?^G#6(&CUL0?W;C$2Q1A?I_=)%P\A-0Z;1>194 M5,RK&.C,TLZ9+G>K!V@ ?A?6*]"A 7EI$6O^'GCO(9C;^+L(V8;B(Q,"%--6 M.1:B"4P5KR590\YL3B,>NGJF+^2QBFA&U[&16#QV;;4 MI/7>4;7IB0S@Z2A3'W9&4B+%_YZ:\#-\FZ^@KD?.6"_(=C1,)$]^+AC.@B^9 M&1LMU]J#ETU:$/3 >!)F_^$\=]"E(4@:)Q@QMP35/P)59)\,',M,C R,# Y,S!? M;&%B+GAM;-2]>Y/;.)8G^O]\"M[>C=CJB$07'R )],[,1OI5ZPB7G==V=>^L MXX8"STQ-*<4<4;(K^]-?@*0DZD4!(,%D1W>4,U,D<,X/XH\'!^?QK__KC\=% M\%VLRGFQ_+<_17\)_Q2()2OX?'G_;W_Z[>L[@/[TO_[]7_[E7_\? /[/J\\? M@C<%VSR*Y3IXO1)D+7CP8[Y^"/[.1?E[(%?%8_#W8O7[_#L!X-^KFUX73\^K M^?W#.HC#.#S^=/77&&$H<4Q %G("H(P$P!#G ,9Q1&2>)RQ+;N[_2C"C$D%U MA6 (P) @0)@4@$898TD>HXS$U:"+^?+WO^K_4%**0"FW+*M?_^U/#^OUTU]_ M_OG'CQ]_^8.N%G\I5O<_QV&8_+R]^D_-Y7^<7/\CJ:Z.,,8_5Y_N+BWGYRY4 MPT8__Y]?/WQA#^*1@/FR7),ETQ.4\[^6U1\_%(RL*\RORA5A_?_O\_N*4^&=]Q<]+<:]7]DZLY@7_ MLB:K]0="Q4))7XVV?GX2__:GKX@?A7^#6-+U%KK]0;Y=\K._N M;JK>HON7>*BO1;$FBQ&^%OMI6B(O]!\^J)^::?1 '61:S=-0=TM4\<=:++FH MV?)@Z&#._^U/ZJ?9I@3WA#S-;M4+[Y/\+,CBK:+SM;A;%4]BM7Z>Y5DL$QQE M((_R5+V;,@I(##.@7DL)EQF)>)C.UKOO]DPLP6]?MF)4[2;SOT\Y(\BO*)-#?]>6=2/XNT?3V)9BAG'890@Q1)Q'BJ#%BDT2:I, M7I3F*$$ABD)DQ1?=TTV--2II U$+5]X$RJBRHX::*&JZVI$$M M:O!3(^QE=K5F##-4AN2-*S..RAYFVA]SB.%=;DSR95VPW[^NR+(D3.\6RSOU M3EVJ&==S1A9OYB5;%.5&?=]N:;E>J6MFB*90_3\!,,V8VD_'$:!2[8T3D:7J M79RJSY$-N5A+,#6^45T\/A;JLP>E8VG'2O8K94947O'WS%V5[$%;^)O@0/R@)7_P;:O!_S<9A)+E<2Y $D,)8,P%(")*0$P%5U87"P6,;9C1;OJIT6)+^H L>7 @OQWU M6:Z#&>_Y0]U*\>R]T#*\>MY?>]9]N?Y 5__14D? OZL)U^7Y9 M>RE_615E.6-)%F<8A0!RB #,8090KH]4&6F_RHTG!-!%GU8O0&R<$L M8T#3G_>Z5*Z)3E]1T5>(D[ BK[/WC,)67=)NZ:GS&@<^^ERP!]%\C:BDRG3A M'& <0P 1# %"5?Q%G.1J(YN+E!IS46O@J?%0)9K+<]<&RX!^'"'P3#V#:&_! M.(XHC,0VE70#$ 1S1LH#M1*UG7&[1-.5^*LOPB[FL7 MWQ_SR M:/S_OY+5[V)-Z$)\$6RSFJ_53NR#FO.]$J"<<9XS2) .Q5 ;)9ADB:(0*0!/ M2![&>8+"#)MOF>PFGQJ/:/&#EOS5^=A>@V"O0O!-*Q%46ECM-2Q7QV1;Y@]S MW]NVR<%ML_7S!_M86T,-OSB"_W$/?[G3XB]#[1W=,.O>6UJ..>+>TTW;P[VI MXQAN)N8M8\5&3?.Q6 L]UX>"+,O/@@DUOYKPHUB_WJQTR,R,)(PS$28@S"A7 M6UJ) >$D!2&!>4A1DN2(S]:[O(CK,?&F,UN],BZD?PSY$%6Y'\&[^9(LV5S] M1,I2K%VBALVQ-S-)O2#J^86PE;EBH@;3Y7VPE_HF(%(9 L'M8E'\T!F+@2Q6 M.M.3S]?!AZ)4P#=:#9BE8 ODH&D+QI./F\=@B\E)8H/U ZFL,YNY9N%^"0[ M F*^ZOEF-"12YHD DL01@)RG@,@X TD6)XK<.(29^<&!^;Q3,X"WDNLPDNXX ML6^5_#:VF,5J&%B]?C#VO?V>!KP65JX?F$Q;>[0Z35N+ MX<:S:NUU/#!H'6YW#;Y>5C' M@4PP9?\2R0$.,V7_)FD:49H+D7*[6&V/TD[M+=,2/RAV\I=!N=7 -KS;YTJ; M6=N363_?+IM&S[JJRE;3FV"GJS+ *VUU4.).WYN@O>1[E8.=SC=!HW6P5WO( MF/,15F?8$'6? H\U,\DOG2T,0] M!J^;E7M XGL'X(J&,>==T+V#G=0=+692OQVSTO&0H_#'!3VV3_JEC]V,Q2TW MS"MG1#OUMDZ\W>7$QC&/9111 '/* !0I 31' O",8@8CE$F9SKZ+%2U,+3_3 MJ6V^Q&T!_'V76Y)76ZIS&=\^4H]MT1G2OC&> M>U13Q1:18ZO#^OZ1$^[VYYP0ABEA+ 493U, 8<0 D0(#CF-"TXP108QB$X<3 M:7)F2]\T+8"HJ)LB8I5!9FG "4(0@2Q#.$$IY#R>S>4^,N\3AO ML+:#L-2/:[.0K+W@326@T9?0[!TW[K+XMH['>>C&2X,\ 7D268\?Q@V&&![% MP7(:3T=V>R779]7B@Z[>\UD7$_XD?RO%K8X%N'TL5NOY/^JS%DS#5">=VLNU+5M5H%&+#@H)-J5H(BCLZ-84?S-. M]8"J9^)L) XJD6^"SUL\E=A!)?=-T)9\.&:TA&I(^C.=>E2.L\3CF,AL;W=C MJVW%L6V]L??+;8TX5@==M#8RLYRG88Y""0C)%&4)G@&4Y.I71A.(PICGS.JD MRV;RJ?%67>MP42SO@9KN,5CL1;7C*ZL5,",M7[AZ9JX+U>]V524;X8,/!E!; MLY<+9D-2F-7\H_*8"S+'9.8TAD.8UR18JQ*XBO2N)*X!P]LU0#X=L#"-_YA= B2FM0*$<*SNH+J5UDEC%"G0%9UT<9+P[+ M6*.#\"OSN]Q,2WU*OF2*U*MOCRY=7AV>OU.R;Q/[5ISNUM,TF(6=IC&*9 48% 3!/A:W@3:BUV#HW']>O'F\;>B30]?I2U M:=FRZ@RB!$99+J,(X*H=149S0&,4@BC"E(<$YR).[/;C/3$=9Z/M&56S77-/ MI'Q[0T\Z?6D!AVSS=5G]07M[G9EFW(9>E_4\Z>+5<:G]_O'M0EZ>9FDE9 M2QHTHMX$M;"!DC;0XIIO(SN0O;Z1' 8OST^_*U16N\GK2/383W8,/MJ.\KJ" M[3VEP=6]$U^VY65HA*2,$PZH9%194A0"2D@,4$)H%@F1L1S;6%*G4TS-D*IK M^&PC#9R#.LY@:?:V[X>0Y\>])9R'XCJ75?>4;O(BY7(N:]F10M*O $Y7)FP= M3[;DNXS8ZIAB?[+#XA1R'2E!$\F4Y9]!@# G $(/LN M#7!-C!=/^#?$R22-WW0H-[ILE0*HF^PVCDY&(\8055901@6 D.>Z)3H&(HQE M%K-,P-2J#]&%>:9&>^VR';6\P6URYW9(25>")SWK1+5\13!;%6++0S\R/!B$@Q VK;I+9,0DIE.NF> MYIC'>9:22*:QG:O48-;IN4X;H;<9DW4&>U%% W47U?Q)5YL-HLBR$VX7WJ;[LT$P]+X/ M<^FX/F0#<#_[I%:OS:=4SJKX^&(8,B(CJ6LD) CC% BCJ$5QD<9JP<+84]W6PH_&6J(=( M1@\1KA^B$\$\^I7)'XIUJG?XJM9(1P@OQ3JH.G('ZI6P7M1%#0I9Y>>LGP.B M\](M+:0^JVG&8+X79_SZ$KNZ$?LJ 3?!-E6M*BNO] M:"K;J5@Y87+X_KH.6 MF^\ASK@%Z/OC=E*2?H A!RWHI(G@J_IRL@?Q]4>Q;8B=L1 1J0P\*#" .JKQ.%V@C MU-$Y._T4"N9TX6)8&:=S"$>+LMKA[BHT9DD:TB@/09JA'$"U[P0D@A3 C,&< M"\+C3-IM1 \GF-[>\];!M74$FJ$MY@R$9QJI!?-2K/*\SH.:/H2WU29 >M=I=8ZD=VJ=XOU>AC:(1Y0]N[N M[@.JO=%AB="@%H?IW..:&Y:(G-@:MO?;U\_?3U%7U/U5K!\*_G[Y7=0[M]._ M"O%1?>>J5LX9XC&#@@,6ZQ0170X5XS@"H8@H%!E/PM0H-[:O(%-CMKW4-X&6 MT:J+=N]5Z>:S,;'VS&^V,%M5_!\"H[XM GK),%I/@2&0:CB$[6&GIKCEZ=>?6XQ6+N3X$WCF.B,QS%$L!B%#_@4+'[LW&Y _<5K*X_ELX(>'XB:^6'?/->U+9/[;6#\<8KN'9. MC8,J:VR> M9FK/Y+ZX"R/E0R 7Q8_RH R.^F2A%7 MAG,(LIEAW1\ZSP_S'K6F!.97F(C?4';"YOH2U?;6^1OFE*37]6M,T0)$2'*@)3ZD<^0#K]E M L@\PBSD F>)4=NVXX&G]N[?RA9HXK1W.,.[IV%GM3LZWSE_5IPVJ,L/W)7G*^NSKCI3K-YLZXB<)99*$* <1 MSB" 840 X5( +*3D,4NH+BQKW03URJQ3>]4V0I/%MKI1+7&@10Z4S%9!6';X MF]'!X*AZ9HF^@#JV/C4$:/C&I]A@1G&>!(UY[+L0 T0P*0"$Q$XYXX=.EZ;%K M[\PUF2\%?TM62V4-E;>,;1XW526"-T+.V7P]8R++"5>[IC1#*8 IC=36"2&0 M\C1%**5I%D:V/3*O33K)GD5:3.*&!8]SWRQ%3;82AO\U$:R M$7C -A[FZ S;BO+JK".WG#1%X;2UI/&=0P0^?)[?/ZP_R=]*4>V@9SB.B"0Y M!BC#BFS"+ *(QKG"7>828A)EB56ID<[9IF9_5.*!0H*-KKQ8)[:#X--1",2- MKN;4)P[B&'-#RV0H)'U;*,=1$3M4E;"UG\97?,0%4/R%21Q/^(+1$A=T[PZ: MN'238U\1H081AS/L*G9OXS/>;,1'\:YSJH#), ,T@!IBC''(8$Q@9=5V[,/[4V*SI&[C>%DCB.)YB5#ZXH-_Q8W[I,H=>W)^_ MW)9DR3]_^6W;Q((@E B8"X"8;L(M=)Q*3A (,\RBD$:826KFE3D_P?0\,%JV MNO>.DM6EH_0IB-W/<']@?#M7-! U(K\-A(A%<^U>R(S45=L2(;NVVA(VT+TI\T$'[\E5^]V7:U'VGEGXFPB@7$8D!%5&H&PJ$@$(N0"81C+%: M:2$B'_NQK0!3LUS4EPCZV8?M(!]V_^4"Y!3W75J'\3=>Q^B]Q(9K)\,D-UK' M"+ENL$[&<2.XC^)'*Z%^52S5CZPJU%%^6KU^T%4[WB_;5\R7;/ZT4"(MQ?NU M>"QG>8BS&.,0Y%"M&80P!3@2" @2P2S.""1V!2][2S0U"E0*!>TB$@$A"[B_4J P] M&(;'E#W

&7.INUE1@'+%RA!)98R&$H*<<,X4'U,H MC8X$S@\_-7;="F==A?,,M?WEFY-&J6E[6JEVK MLN.J'A4HRT^;=;E6NU3%!3,>PSR7"AC*(@D@)SE B?HUYT)D(A$TI^FLKICX M94U6:S,;ZF0>FV_I\6S^OK"OQ/U\J4,U DH652_8GZI.3Z5EQ[E36'.&LC2, M4[QP0M/'DPR?O7(+0%Y]D+GCL)2K%9"45+!?O\;66S$ M+$QE&-(D F%"$8!)+@'""0,XC"3*.8P1MRK@>&:.J1DZ.QLMX$_SW\"]A M&$;!$UD%W[7$NK)NW2KO?P;IC?JL_J4,R&;]4*SF_Q#\)E@6:GLR+\N-&JCJ M-VSP/!@OBQE-] 3;,U'L!.\KS ;M'?P)10&[A5\,LW8O8$OZ7FF M%_#%2UU.'L5WL=R(SX(5]\NY/JWY2E;W8OV%+$2IF]/I?W^=J_^LU4,QBV&< M)7F> 29X"J!D$&!$%:!A%.L>Y1A+(]>]P]Q3XYI:UJ#40E:]'1^WDMJ=M>!!2_*;H 'YRP[D^J=?_4-MSED(-HC,5WR@Y%D75 M@.?V?B4J3]Z,,9%SRBE@+&< 4DD 8NIUBVF$HHP1)'-F$;1B+\'THEJT#CH] ME[6U"%:-&I5UR?>*!&2KB06Q.2R4P7O$+_B>WR5;U _$#SZW46]I$-R.@[K% M*\4O^B.]5ER_^Y<+]]J]6MQ!['R]. P[WBO&7>>#UTR/87H&+U<%ZY^_BC_6 MKY12O\]8+#-!6:YKRD-=L$L"'&>I>J>PA"<9C8A=QMBEB::VO6C'[SI&,A]# M:>9Y& (@S_2^Q^:F[C?Q''QK_M7B!I6\ YXL7X/$2^3S\5PO$P)]0>.+L="7 MKG<-+22E>%V4ZQF5.2$\9 E.0>0,PI(I%F!Y 1GF,)$']@6:[(PHX'=R%;/ M_6Y\CR]-/4>="JI>G*5E)N@>,+.'W0D&ST]W$[CWNDMYA^"\(T6'C;K;#CYR M.-V13J=QM_7\W9*7>>XOGS^*I6*UG$M(H0FJOE\10Z--#"4B69P 1 M2B4D*:3"*(*B8XZIO9)WU5QW<@:UH/9E;8_1['Y:!\+(\W-K#X]3X=L+ Q0 M _=XY-'+X5Y0[5QEW$N7NKUG==698EF=*-R1U:?5E[4N"%$=+MR)5758.8MH M"$6*(X#RD !(*01$8@D81"R.$(YB;%FCWF#6Z3ET:J&WYXO[<\6?-B7?'RY: M!A.8X&_V0A\84\^4T8#9'"(J@77P:"UR?:2H*V[6;3:',P4L(!K22#"9=E3S MP0*'8\/"YM8>9>NV,?US47Y4.C7='=(\P&J>%J27D3[.4< MN*A=)Q:#5[8[/]OXY>TZM3Y;XZ[[CCYEPD7=JZ<.'B>+74*4;ZO^FU%&YWQ&W__#^O^>66,KF7;'U[Z%@B[F]]4! M@"Y"U:CCU(6K&_J<$AJFG &J^YQ!A'- <(9 B$,B:9XP;%=\IS_PHU=D%[L& M7EMYK[?RKJUVYR[)#& M_W-3-@50BUO.JQ@'/?JV]%2M3QER**$BF8>A= W2I"Y@F@49(!77XP#O,D2YAAD,)8(D_/"'W[^+0H MGH6HM\&@TBM@+<4LV[CY7G,S:IS2.GIFU]N[]Z]OZHUULWK-XQOQUM7[OPBV656.CEUS>1S#-,2" BH( A"'.J\X3#WU';')YUJ=$3@7H%@KX%)2_O>*]/-.)[Q]GW0,BVH+2)A M_4$^4A3LL-#;1<"Z@=<9_6HYY'B1KVZZ'D2].@[A&O'Z74U2K)X_BO6,D22. M()& A=HI 5,.U+EOCCQS&>ZK9:>CNF6O<*.VW)9TO%H*WFFZ^;HZ4([4C3B@- 4)Y#B - MU4\PBT%(40ZI3.,,6M7\O#S5U*SX)[H#5['D>!BS/3_<.IY:4 M-\'KH4_JKV,QY*/?,=NH1'!=ZV-:,+C#M25=E<'Z3LGXNEA6EM3?Y^N';0FI MMW^PQ497VM";=?5__I7\,8,LX9AI]H", IB1&.!4QQ[*)))9CDB<6GK;'*28 MGA55YPJL:E4L2<5E&:(X03A*&*!QJI,PHAC0-->=%&*4* MQ,A+8$;XGH'U_";8EB/0-!9LY0]^* 6"K08WP4Z'8*N$S@<;LM&@,X3#=AZT M%V/D5H3..)WV)G0?RGT/7A\_'>=*Z@)9698Q()DNCA>IE2$HCP'!(J)9C.(H MMVR>J(VP*ZUE'"L9]0HF0V]= MST\V^CZV4^=SF]KN&_J$F2H.VIO%^LA9C<#W4VXW9SCE$65"V:J*.I2YE"2 MYE)[]@B,>)SQ-'((?32;?&JT9E[^?B=6^@_D7D2S M)(RS2.0$)%2$ *81U_U0.4AIEK-$(@ZE5770KLDF1T9M68.5$O9&I^XUXMJF M[G6 ;,9)0T'G^PSY +7/%6IWUU%SR,^[#L>PB7D=\XVO ML6]G\D7<:QOA%U' .AI'G)]@.'JNV)U?5[]O]Y/($ MHS5!N:ICNQ?*]8M[M$0YB8!O96J\>MY?TB1RW/X@*_[VCZ=Y;1G4X?$SSB26 M4": 01VV'H4Z^0DE(!=8JC=YFA.(;*S^P22;&JOLY0OJMB0.W4$&63&S+<2+ MK(-GYFIG)[6U:JK;MRJ 3.!*ZKI>B!_^PZR))),DDSQ.08!P!2! '%.K>="DC69Q1CB)FQ>09(0\+L!8]OYK-#QIZ[+BH_* F=SC(NFUS4\H06+E_I^'RS M!\$W"_%)WJI]'Y\O-KJ"\OX4M3[*%KP^ZGY\VM1)")_D6[+2O=[*;16E_8$I M3V-$ M/XA@*=;!HBC+JG ;:RJ[:94"9;JSS<(EI='#VAM2VHNNIV]*;)33!6S:ZK73 M9[8*;@.'=BKJF[9*[BO*!=^^5@DX7D[I_2W&H!0]O)3C4KPWE$]>$?YF'*M? MOM*YQ+8R"L1*1]16G7.:%TXN;> MSN?=O&1D41]FO5-_*VVFC\&@\DP:3B@Y-?>YB,( [7U.QQZ]P<]%]>*]0-9'K4QKH\M; _* MAU]\VU.IEUA2[_LQ[ZO9X^1I:,#]G#P-)N4+G3P-C?+EDZ?!9^H9O%330(IR MD:!0 AGJHB )4_1/1 0PDC 7".8Q<0M=@U"D^H_-R764\_"I(N6GJ;G_3PEH<$>]AZWY.G<$8X?%TP,'J M5/A$[[X'P?L!1SO[/=&A?=Q[^J%S,O9)19NJ'ODOJZ+_;D?.U MLBJ9;P(J9+%2VY3%HOA1]=:JNKJL!)^O ^UC]%!MT0K!@9.Z#28>.[O;'(LS M:=X6-SNT,?AUOA!JV*7XM!3-J2D*B420(Q!F1!=5#B% .EF,2A21""9A;M:Z M[\+X4Z.=G82!$M'R /H2A-T\,P PGAG%!R86Q?_[83-2@7]+C.PJ^%]&H+-* M_YG;QJO$?UGF@VK['9W]:1'3+VMLY%Y0*N:CEBA]+>[$2FW0']\5J^KPL'SU_%7-6;V-!4^92%@,6,P5OT4D M!%C;-BC*$,G2.(38LA#[ %)-C?NV2E5GL2VU#EO<[GPFZR)H=*O\(K5V-X'6 MSLF(&F:ES1AT]/7SS*[C+9U#7?@!H1ZV4OP0@HU<.WY +$^KR0\YN*/%JM97 MK)0=7.615/F?Y?NRW @^DXA2*C$%2- $0,PE0)GD@$50DARG82BMBD-?GFIJ MO+R3M.X>?U-GW)?!O)(V^*G^]<^6-NEEI V-T$'P\\R+>^B^U-#5<@:UH .: MF%?!&-2FO#S;N$;D5:U/K,;K=[AT%"X>'\6*S74$>%V@:,G?+O_Q_"B^;)Z> M%L^W]RLA6ME-$!(H$QZ!#$4"0,HD(*$R#FDH):>22,,Z\RZ33XU<7K_](1Y('2O2@ECVHA0]VTH^!MDV_8'^HC]4PV ;]H1H%NZ'6 MW2G84NFL-#>'2OG [1WBMX$2M5@K^M-T/Y:[-4-=OK>!-MVR2V5I['J5EZ;*:S^ M: Z>%_X6V/J&?*_-%3>2M^G']#CYQO#(.>5].L?SQO"6EA6TZ[,(9;$)>;#E\ M\._<,@P[XWB[!"]('6P,_,S@MA=XOV0KH>9Y(^I_WR^K**J'8J'&*-]6=5T_ M%XO%NV*E)9@)R$*(T@306"( L8S5ESD2@.5#/VAO8UN%_!+46P3>M1] H8KEWL%TFLYV$1_ ]OTL]X&Z]UW!$;\B=AZT( MH^Y#'/$YWI6X#N/H&R&ZR%LU0\VVZI=61.G[9:N0VRRB/$ZB+ 4AEQA P2D@ M(9$ B21.:)8B#J&5F\1B\JDQX=YZ.8PDKQL*+&Q;]]HL@Z';Q!.XOG<-I.ZW MUL2:[V$^B#K7Y->2?T"'B@-J@_I6;.8?U\WB@,R)Q\5E# ?GRRNRT,[E+P]" MK-^(-9DOREM:5M[I&QS,W]SY=FF1ICML^_&T%=@N4N@FI E4- Y9DG?:-D09!#H#42.SJA9L>, MU]#HI,6+-X_'B=?D/R#$JQ>[;8_?D?GJ;V2Q$:U2MN7NC_][+E8Z9/NY27]0 M9)@B*@D((53V)>@NQ^,%L5"? MWO\BEHJM%K=+?LL?Y\NYWJGJZ=[^H8^#=Z:^Y%"9H8R "'+MFLLP(+%0L',> M"I1AB;)L]EVL:&%\PF SO\U#TY;"HS.\%O\F:!2H.SP=J.#(078+8WCBX ML MWT<.!BAOA?= 6DZP#7KF8"7 N(<.+MB)R[# O=#XN>1*;]9Q]$??M M:B)I(@A*4I"D%"H3"B) PQP#)&0NU=Z;LAR;<=NUJ:9'8Q^+[PJJ0Y&=G$1= M )L&R.7<8!K:QSATQ0\?](QX[7-?B M\-C!X'I'1]N9&KAU%]JF2&[CPJ&<9A'41;8C$0,H40H(PCF0-)6$P#P7S.CT MUG+>J6U)&[&5K=*TV6FZ(^]K0;NYTPQ7P="1-CRVOEUHO6&U=Z/9@32H \UP MZG%=9W9XG#C-+&]WL/*^"O:P+!;%_7,5K2+%JK6%+M3T_,.<:8ORN*!@1;16Z" U6J[5BC3+\* M@,XK9V!;CK$>GMGOGV(I+.S6,99D)*/6W]+8F;U](>VTB9T''\]@[JO_@37= M>[ >)7C:+?UT5&:Y:XPU2P6*64X92$):Q?HP0/),_4HS3&.>X7V/5F+@.VJ;0:E%ODF>-P*[5#KI -Q@]?+L#AZ/_)I:HW\_;#62"5P M\*L?$!T*OPP#YM@%7!Q!=:N_!-_H MR/BW9+54>Q>]8ZGBXE^1N_7# MZ^0$KN=P+M5L=7"47H)FW\AR)#.GFEH6"AL:MVZ0S)6O=L=-$/5NCVO]VZ-[ M1JQY>U[:P[JW%ZYQM/,:PKM8!^/5\_Z2TSH8VUS)V\WZH5C-_R'X# J*HAQF M ".IF V+"&"<"D!22?-$;7=S\,,T"S+ :$LYCG)XIQ9D?W%F:9&VCM!G>/M+T%JQKF# M .7=Y=K(J#BP6(+AHYZ,P1@VNO[29",'UE_1^32F_MH-?2W(+1/M>4I-)1Z? M%L6S$,VW.TX01HRD0*F< F4K*CN1,:A )C*,I,SCS,X_:#/[U$BD):!KR+P5 M^+;FW,"0CFBJ[4RP=K"'+R0*;RU:1S2 ]15Y4HJ@\=&IX"L ZDSA;]7F<(Z<"18 M;;6L#D4,Z^LZ+Y\9,_I<$L_DV,Y\KZ7?)L!SC?=.@>H,I/1Z[N&*HI<\;5,9 M7B95VQ*AB]G:MN/8D287\]FM>J*Y?JK?+H'@F58,]3?FB(NZ[A_^80 C' .2A00D-,TD85E(H5%\N&]!IT8,IT[]K<15@]U[ M+?/+>/=/EGA<)W^?A?MG]/4?+/LOG[5?%]S@5_]?Q;J2OE?GH2.DQ\>;]OJS83F9 TRV) LY#K M$P((U#X9 H0EY"Q+B4R5*5BLR<+L!6(^M=4K82> QU>"6 =,B1YLRKI8=+&5 MN=7'U.Z=8+$.9BSO!UW/O*V!U5('6[$U2?_T6XWRGX.=\*U&DL-QL#UB0[*J MQ>RC\J0]*L?,YS""H^D\OU_.Y9PI5CQNOO99Z+Q,-=FOZK^/F\?;QV*C>][K MS]>"S[B48ESS@&-M-./0L)#79$VRJV,8V=1IF;^OMNL-RL1-,)N MK21+@]=]80Q-VE'@]FVT'G=WU!UP&^%W^-?B!SOY!S1!>V,XJ)'I+LVX9F1O MU$X,Q?XCNM'GAZ(L=3:*&E\LV?,M8ZL-6;PFJ]6S^E/E?7R]6:V4'#.$PXQA M00&LH!&XW-0N^:9F#2FC+4+6KH)L1QI!0>J:.GBA: M\X@I-$,RRM4Y1^464P2.6<;X/E>^V=7]4J-S<;ODGW3-0F7GZ*U8N?_\=K$H M?NB&(>^*U9MB0]=RL]A>=5 ]S./K, MA&(C49.3^* ;*G\5J\=/< )KIK$\PR0-,T!1B+,$_#B*", M6[G*KLTX->;6XNE-%VL$M/2,7078T"$V)&R^_6"5K#=!(VU0B:OHM0'R]34@ M[9UAIN ,Z@.[.NFXKB]3#$X\7L8W.M09J6K;'Y6VWY8<25.4("P!I6FBVPT+ M@$4N0);DF#*:1#1*C4N.7)YG:G0R6+7_#FB[*65 P'Q[O$; RJ)HR3"8C52_ MQ!$[NYHFUQ'I+&_2>?*_D7.IV*U7W]T]/^KNQ_89F MRAS,82QU/KL$4+)066"8@IPD"&8DC1,.C8FR8Z*I,>5.U*"2-6B$=7G^N^ U M(,N!0//,EB/A94&8 ^$V$F,ZXV?'F0:@=))FU_WCL::!%@>T:7*]8TD0\C1? MDT75IXK/=;!7J2;39[3\U6;]L5C_AUC?D3F?4:+VJX)D(.0(J>VLXE$4AQ@@ MQ:N(TC@/L=51BNG$4^/5.S70@S+S]5[L::5#?]=U)USQ7YOY4Y5#L!),+T$5 M&TRV7K G\ERE#^A+JR@1];EHNH-9EAPQ73*SO;&/A?#,U8W(05OF8"MT0#?K M0(D=/(MUH 4?L#Z))52#EBLQG7O0 (A@!(B,$4A9&&<2YTF2&X7]=LXR-?YJ MRQ=\TQ(:FC;=6&9)PHCZ'\CS.%%8RA2@!,> 84$8E'E$I32KFS 8FN,41_"$ M9S=W#X:19Z*V <>8C8V4[Z!>=7^+=M5OQY3;/<$H_&JDXY9,S2YVV%=_V2B+ M1=DZS=XE4H8>8RQ7SSCD:BN=$8 X%2 3, HACA(9&9U8GQE[:BRYE$ MFL$.V1T+S\_O@#!8;'S=X1AIK[L5<* ][7E].[>Q1[>,MW,]+^O!9O7")?:U M2#XHV!9W#\52U-&#LRQBC*88 4+2$,!<0D BSD"4)31)(Y%0&9F6(SD>?&H, M5,D75 (VV>CF54E.@.OFH+YP>"8A"R2LZI-<4KE'B9*3(4>K4G))F7:ADHO7 M."9%LA"L= M6^$>(F?FIG'&P[>)8 R%?4[B.94'33,\F&#)\4WNB&]$" M-=>C2XS296#-'N\!X?+].F[BD_;E&)H(I2V$7[L@=(Q.N@K,\+%)EZ=\@%7(IORJ2[.T/W]=E(V' M][-@Q?U2%[AOGV_-8LD05M8#B%.H* GE&< "02!ASB.21RE/K2AI%*FG1FP' M!;"6S;'(:B?Z35!6Q[5%+;T=]8WS-3 CT,DMKF^[RZ!*=JWKMJ99K8-N[5SN M#\@^M[X)=4&!X:A[U"49\@4PCN"COD9&78OCE]&XDSON9K<.]$]2URMZMRA^ ME+>TK()X9VG,,B@37>T,$P"E$ G* (I3CE!+"<<6[V)NB:;V@MD)VL5?:[+ M9YE@O#0I&KBV=&MF&*$PHC; MC)7ZR(@I"0WMR?/8&1R<]4'$\\-_E+ZCI>L#AL7Q61]01CI LP''[BSMDO*= MIVDG-XUWGG9)WH,3M8L7N9DZ=TW8XIU:D_7MDK_=1BZ^>OZJ1JSB3P@.89HE M"$0T3]7>&Q%%7)( P6,JDB2'F#(;B\=@SJD9/EN1;X)*Z"IR_!A_EWM2+^JO\]U-&S5T&*PR" '7(:TB4RF'=4TLL#A MV$*RN=6-A?XNYOKOW7:S(?7,DV;1JKZM=?]JLR[5ZZG256/Z?F[*J@C@C M&<)9+#*09A$'4-E1 $NI3*H8A5$>D2PA1IF//>68&EN]E5*P:J?!M>PZ$:/I M6/!3_>^?[5C*=7G,F&L$T#VSV5:#H%%AVS*@46+;-Z"E1K#78SBJZPGDD/3G M*LJHE-@3KV.:[#NVGND M$MWN=6"#M!F[>\+/,UGOBL]5&;8MN8=C5P=@AB1+F^E'Y3X'7(ZIS&4(-V9Z MOU1&F=@=!.G8Z*HEE_:^\2B/&<]3$ FIF"@)8X (20 FF.5QPF,,K8Y[.^:: M&O/4H@;[H\NML$ZNSBZ0S4AH(.@\DXXS:M;<8X#'D%S3-=VHW&*@]S&7F-PR M*'O;\ZW9V^[W;<)#>K5O*I"#G5/ M@2J[H:76<,0Z\CH,R=ICB3[J*V'D]3A^WXP]_7!IOUO'VG/S5)5O-N(_!%E] M_5',PH1F*28YB"*U@X68,65_ZMY9*5*OJ4RD1-*^:< =\T_MY:*>I[A_.G 7 MX&;O (\P>N;RB^G"._%O@G414%'5:KP)M :!4L%O!K$!=KXSBKM$>/$,8P-\ M3#*.389Q2+/X+$HU"'L@2_Y&?!>+HHI,O+U?B,2*B!"&C9J#F4TZ-O;9"5_$(+;&#G=PNA;W,T._F-3^8>J:REX33 M(O]C<%A'2@H9 EZ[9!$KI#HS2,Q&&B^MQ$JS@UP3NSM[1(7L&]N7'W:]0W'( MDQCF!$BL*[S%) 8DS" 029P1*7$2(V$= W)NIJE1=1VVT)*T1X?6R_":&9N# M@.:9BQWQK8KOJ?NI/VKY;=X>W7PHQM_.+KF8:4\'5F_U9\'=7]D]8@F"__'.QQWVOA M)?W?'<1!V]+;2S%NRWIGE$[:V;N/Y%ILG&[Y+?\<;Z2V\'Y2PO.0ZNHABW_:H#1L55"CF4CC:%%0YRG[,(Y)#EN4@5VL'H$2ZS1W.0)C&VH["*!96 MF4@7YID:B7W8U6VR/?(\#Z/IT69O<+P?8>ZJ%'G-VKR"Q+ 'DN>G&OG@L5/? MTP/&[LM['"3>GG=VZTK)[^9_Z.B-9:GV>:OJG;#MAA1F)(:, 1&2'$":QP!S MG"JD>9Z'N;)U4J,*27T%F1J+5'(&!X+V.19S61J+LT?/@(]U(GE[\:#HLT\$%G#T"-CC]=QA__4+0'"F>/2ON,9]\5Z^UR/5\_ M-QFQG\53L=+A-CHQ95/.$)4Y1 ("(:)4O932'""6$SA),C4;4 MFRWQ&.Y;@6ZZ*_8(I??]LDO(KU;BA8)^V_B]6-AO)<1T W_;&/4*_3T8J$]5 M(5TZMFQ5M4D9IR*C:B$HC #,>0Y(RB.@+)](H#16')?;A7Z@/EF9&:HD"5@%5GG$;$H6L"74!@^.H_QQ.]0)V? M"[J>K^ASZ6+' N9J<3^JY:[.A5!$:0BYT'%>4*?1,D H#T%&,\[5_R'G=I7* M6X-/S3[1L@5:.+?"XVW8S!YL5S \/\_&.-B7#C^C\* UPMOCCUL,_(QF)U6_ MSUWCX%?_HN2I_!QZW];X_W(4QUA@"G*F\PDS&0$B10XB"9DDZD&EH7E P)D) MIO:L[D0,M(PNWM9S*!JXMGMBX_G1]0.+A7.Y)SPC.8UM8;+S!W=@T.GG/7?? M>/[;#JD/_+)=U[G$-J5A]/I!E.1)D-]%\X4C+$VX@ A0@CB '(6 )CP!"$=$ MQ%E*P\2H>,?%&:9&9TK$8"^CRW-[%D<#/NN+CF="\P2,3;A33X!&HK1#H(8* M=>K0O3O:Z=R-(P8\=K=A< *'#&)0$) MQ,I:(VD&2 HIB'*<1K&0.(>1G3/%8-;IN58:H77HBV5= NTF6(JJ&=1\ M>T'5CE/_Y;]',;;MV&NR)H8L-33.OGFJ:MU1"QS4$@>UR#=!)?1-H,2N+QBP MQ+P53,/V]369>.0&OQ98G';ZM;G9O7SK[9+K?W2;O.]DH<^[WI'YJIIF3Y(S M%(5"L# %$6(A@)BG M& $YBFN*$I2BU2L\SGGEJN\DJ9U:;44S_(/:RWP12 M21]\U^+;%X4U6X581%3P- 42I1+ /(H!0I("EN \I1(B""W?'E[689PWR*_% M4CP'CV3UNWIAR,V26QX;FL-N]H+P J7GE\3NVUS]\+;];=:"UR^*EH$[;+%? M*[2&K@5L-OGHI8*M,#E72=AN ,?WAM9GN:[C0C_/R]^KQ(8931'.<,1 %NH& MIWD" 8D(4NCG DD(,XZM2C">GV9R;X2VE($6L\FUL:T-?AY40_+I#95OIK%' MR9Y3.D$8E$#.SS0N6W1J>T(-W5>[\4"[O?O[I7K81+ENHJ8^+7=Q5#.22YGF M&0.A#H:%B3(>41(RP"G*:)X2&*=6C8_-IIT:3^R#"BO342Z*'V6@ES60M3[! M0BMD:<48+H$9BPP/K&=6:03>AFEN9=Y5W594LQ-[.)ZQ@VE(WC&<>50>LD/C MF)[OF?BJYW *I&Q@,N,*>^4]<\%MM\;V5?,/%!RTJ'T]\K@UYP^T.2D) M?_BIVU/V62S(6O [LEH_?UV19:E+MA7+\MS)4,XAC5E*09QE$L X80#EG(-, M0(*B",5Q'MN8!!9S3\TN:$0/*MGM'E@;Q,V>:D\X>G[T#R ,VG+[/YQS0&Q( M+K&9?E3"<<#EF)5I>K'79J6U0"Z,42IR# MJ#JWB^(,D%C&@..489;P$'$CUX;IA%,CJ9W(.]-:"1W44E?5U5S"ATR [Z8M M'W!ZYJH70](B+FM@1$<*T[J*[$"16Q;H= 9RF8PS7ER7A58'85XV]]F1<[E: MSW9M*[\PL22K>5&E@)"89S+"!,14*C;&,0,$0PY$*B2E+$_CQ*C,U<49ID:_ M6]FLLF,U]+KD.?BBIFD]0:!(N]"I;Q4.;K8+9=](.N=^[8 ]N( M';3D]EHISQZP06.DS& M)3F,DU2D@,!$45C.0H"Q,E8H%CR*49PR9.3;,I]R&"OU.JZ%:WF_K[]DF^):OE?'E?JOULW0SW M^?P U88JCS /60P!DDAM2#/( *8A ICPF!%$,AI;13YYE'5J[XJVI,%>5*7XC.:Z9_1&L?S0'/=?U*.ZXA\7^<3\Y@1YA2N=@UZH/TM_G MZX?7FW)=/(K5+C#E]>9QLZAZD;PF:_;PV].^N?K7HLFQ?/V@GAWQ?OFK(/K, MZI.\6Q7JS5:6LRQ*L$PB"7C$= 4@3@"&,@4"I1F+$,YR892+[U_4J;TU]LH$ M3&L#-D\!V>FCB_2M:HUN E;I%,R7P6.ME=[W/S5Z68?H^OHJF+U>IK' GM\N M6R6#'TK+8*OF01'&UO*_WB[_[<'R?]XN_^O=\O^Z7_Z[:\OO$GOL>64&CE_V M)>W8,=">43\31^U[1@?'U"^+@I)%JY;WIR?]GB1+_F'.=(NLXXT]P0PB'< 0 MYRD',.)2I_+E(*14O7,(B<+(*)_/:?:IO4QJ^=L5[G4)V,H+H'.C&B7Z^5NL M5\C D>43=\\QTB5D/.IYWS%7? T>9\R"N M[1J^/)+%XM6FG"^UE4I"'5Z124"D#MM%F (D&'\J;T8 M:AL9@*Z1M2X9#!+MI?0!0^"R;FWP7_M&PE],Q(RC"&&($0XAC M' E U?,+D*!,4ICS) ZM@CYM9I_:L_Y1K/7QA"(P7@:K1F++.$\K],T(P1NF MG@E#RZU=_E_JZH*'G42WPNM" 2WQ!XSW=$%MT)!/*P'&C?ITP>8D\--I$ <7 M^RNRT';.EP:3,4I-M8;-P9P\&WTB^ MZRV,90TCKR7^RT">:2,T.MW0W2.,YW,VTN3 P6QVAZLW^=U\(5:O=:AGL7J> MX42($(8(,"YT&I\^A.1AKJQ KGO^1DF<&X6_7!A_:H9=XSJM9 RV0MIZDP\1 M-/4F.^,RCC?9$!(';_)9Q7M[DP]''=F;?%:E4V_R^!_V\%9*P=:5Q377GW^8+\7[M7@L9S2"C*8A!7&D:R_%^@PI M(03D22JRE"62(V%7\*6O2%.CAUW$4J-3T%*JJ=S=CGNJ]0KVB@7?M&I!I9NE M@VB ]37;1(Z[:I[):YP%S8H]57Z-*L75ZA\SI7 MZZQ6YO)"'53NVAH++W;/COH=CT$6C+[:55NA]*P MUHO1S"-;*#9HG%HA5G>[,5.K",,LP2$-8[7C"SF) !0I!S1E&,0YA93(1"20 MV!3?;8UMQ3&C5>!UKM+21LV,/ARQ\,P1'PP L.: ,ZH.^:"WAQ_U:3ZCU_$C M>^X25T?L+>5+'8-PJLQH4JIW?/'X))9E755CM=(9:/I-_^IY?TE3OO'V M!UGQ7<>@V[+43IE[O),?2JC'<"#)/CH8:*8/O.S$#70[%,N9GA,4VLT8FMH2>*;)2 M!5"M2]#6-V@I'-#GH'W=MCYMI?5!J[66YC?![HNQ5S[XW/7%L ]/&F^I!@UJ M&D'L<4.AQEN'DP"J$:=VW$6J=Z(0N_9)AY'FORWYO&3%9JEF??L'4Y?>/NK? M9C!&(D]8"-(TP;I&< :PU.8MB84(F8QEE,^6XEY7F/]J_GYR$L:(KG!-5R=R@*0'_&LQU615%,O.F^X[E9M5I<0RWM=ZP'FD#7,FOLVJWG;].4V'::@2U M'D&MR(![YCXX#KJ[=A)DW'UX'ZQ.=NR]!NM;:_E2^XQ7SP>?5%TF>4+BC!,) M4I&% &814:8*)X"%-)6I1&$,[Y[.7P;V;Y6HD2K\U<1R?!2ONE_-_ M"#Y+P@3F>2J 9"@&D"KCD]"$ I)!ED0HX=#NB,-N^FF>@C1EV(8LM'8*?!8G MC(Y8(Z%7\,W>0/X@]?SJ M,:A&MP7\\W7 AZTK=Q&WT6K%G4HPG?IO%]&QJNEV>90^E3G4;J#.4--OJ=O% MHOBALR[>%:O7*\'GZP^%VCB4GXO%0OU).UMFD$),D( @C=($0 (E0(KS ,TE MAZG(,RR,CN?ZB3$UJMMI$>S5N EVB@2R6 6U*H'6)?BF=0D:92SM<\>%,Z-' M_\OAF28]K81CI0]7((U@13J -JP1:2/ R#:D S:G)J3+ M((X6Y/;@[?WR:;,N/^ABD%%3PC1$>4YR3H#$@@.8ASF@A$*0Q2SD.8Y(E!JE M_[I4"+!M+/LU#'*>8@9RFRKR)D#)OVKFBY8NT.*YM,XX@JV;"7J"X?FY'Q('BXIJ[GB,5$+- M A>[ZFGG->\LEW9TRWCUT<[+>E 0[<(E/5TWMV4I*E=1*ZFOZ0C%/^GBEO6M+?9:;=M#%=5@=TI6%W55C&H='2+[1MNW2U]46.NYHB>JXY5 M&CSB;W LO7B\>@OW,OZQH3"]Z$T;; +[3.LWS8N\[G:AFUV\4W\I9U$<,X%C MK/-10@"ALD0Q2E,028Q)S%@L86Z::7UACJF1\%;,@\X?E:3F>=:7X.QFQ(% M\LQM#OA895E?0:!'EO6ED4?+LKZB6CO+^MJE Y5?TO^\_:_-_#M9'!4#@ICP MF/)8V6M,/?D\#0%%"E)*!GBA3Z%TL AWPL>SS2A90L:X88!Q,(SWPN8D9SS=@#9^>WV2[^L MBLW3?'E?[C(D(@Y%0B(&U*9,*@LJ9X 2H5UXIE0(+],1+5)P!."8+NRVMX MMC?BDOD^TMLM4$L7W1Y\^^=:G9O@H&U>L%/)2Z[,4/AZR"5TE^DEL@I[(W@A MO[#_N&[T_;%8/A9+L5;LTBH[HF8IRUV)I]/R"&FN3,(LHX F" &(8 XH3C@0 M$:18ICF#,K4Q%)VDF)H!^5F40N%?.ZVY3G4HGJJ]3E,N)-!?JF#=*NY2EU_X M]?:]'2>[K9D9$7M?"<_LVY*_74;I)JA4:%6M\UG?HA>(0U*LFR"C\FHOK([) MM-]@CEOJY7K.YXN-[F[U19M:53C&1_4=K9O.SWA$$AJ%&*0YS@&4NDN@)!F MG&"6)1*R.+/:55^9<&J\V)8WV M\$VB1@V^UT+9[ZVN@&VZO!X32]PZ['XKV MFVQ#: ;=9U^;<]RMMB$")[MMT_O<^&9'9(U?L&P<2A&A690*"@3*F**9* 4T MCR,08\D@%DF4)E9Q&!?FF1J[[-_H6SD=W767<#5CD@'0\DP@+D!9L\85&(8D MBTM3C[O5SHM3UD[NI9D9>%\V/6QS<(PCA-E?#"6 M<@ I9P"'%((T933A@H=):&6!7)MP:AQQ*&]=;[6V_MW;"U\%W8PWAH32,X'T M1-&:2TRA&9)4KLXY*KN8(G!,,\;WN1XB_N>FZ:KWM=#[J"6;+\1'L7Z_9,6C MT,6POA8ZS.MN57R?*WYY]?Q;*?Y_]MYUR6U<2Q=\%4;,S#FNB$0U08 @L?M7 M^E)U'..R';9K[SE3/Q2XIM6EE+)%I:NRGWX 7B0J)9$ !3+9$=.[PY5VDL!: M'\B/"POK(M^O]_1W:_9E/TJS:.\G1JG=(^$8< @QP KG@,7$+%!,5(HIH03G M?L< 8X@YOZ.!EI;1;E/61RWUC,PV.%I9GX?Y5_NS#4F-'HNR*4*TV1L#;*_C M/WR/-T=X"EQ/15]V94<_3#U:TKV"D=$PJE2,7EDE?[*_+L-C&T5ML?!7OU>+ M_%/+VW70=Y3CA3$7).Q![@AR3GS^.Q[2I\?&(\XUN.Q/&-+D( M&>6<0P(H(^8CPGD,9FYNXC4K=[<;U+^'2A*Z$2 M'*8&74@AP 90P%C&04XUR57&-8RE3RGX@.A.5OJ=5V=Q07%U_.@%0VOLSU?S M&+:+YG*E;?C?Q=JY-]&;T!D=;H %+HS4->/4M9 U5/ #_;EZ: -61B53]7FT MO3K7A5I +%$,)0(&? S="?+G5'9E#7V9A M!Y1Y& /_L*4@@DHX<;F(,= ]+2DQRBQ7?4U^,5B<:[FV/]GB6J19KF*0:L(! MIDH#IG(!J%*I8E3+6'OE5CK..U/^KV+AS[D1B#+WJE?@@5=\;A ;\ZW#W#&MACSM;&OY:>'2&PY1/78O>"><76&%E&U+'H1];![]J4+Q&IIVVF5<* M&]721J^LO#^- Z*'?S0HF!.Y0Z\'U<_QZ8Q1IY^S?Y3IW)K.&AUY,=WO&MC9 M\6P1M _[J%&IB8(8QH9MB028(&,A)D* ##.J8,8$PEX1##WSS2K,9GB!(2.:J01 8?@%$VAC>*@PQET:0Y:1+/P8 MII0U*JRP-U%1BEMV/ZOEC5Y5__:3?U?8BW@[,DP@%,>FEPK KQ6 E:0W44O6 ML!U>^Q )W=#UXGR3]V_MT_Q>Z[,.7RS*.S)-$(R@0PR9"-#[0I0RP!A*@D,5C8(!#WQF<.,\[-EFG+'%FA MHY;4D1%[4'LP%^@=7%BA 1V9?%X.2Y\&;($QG:HM6Q^VH;JT><#3W;O-9: ) M.[IYZ'7%I M*9C0B&%)E5?F>>=L-6?=*'?WXJ(ZXR M1'3,$09QQHDA%\,K.?&-%;RJ"5C5,D]*"S.8P'< M*&<<6$?FGX&(>G.//S@ABW;,7!3I,*87B M#"1*0[-I(,)0B$H!)X2B.,%Y0K@?A5R<:WX4TA(ULK)&5M1!CHPNB%V)(PAP MHQ/'(,P&\$8O&F%YX_)T$_-&K]ZGO-%_RS#>^+RUH26[I\_F$=C90_?_?%R6 MNY"R3L\B18E$,9<@E5H 3%,$6)HI0&+"M$Z9@,BI9([;='-CCT;:-L'73E' ,X@9+2!+IF7%2'G'3_CF5.-XU MF$V$4K*PN6:EE5.G.[S[6VW%LC 6-D+8EE!) ,(BL5T%%*":)R#E&$*B8$H0 M\G-@]LXY/R=F(W*56:EJ00N;N%YN=J+-PX#J*OW@8\48T1D"7,FD\A[GDF@0 M9Y@+##'&T"L9)"CT$Q'ZBP#OS/+AX!R?Z%M(EM+N,\KV\@9E>C=H I-]SZ13 M\[T;!F MQ"E5*JY4='[^P>VW)8',>([V]XI6V9WQ6P9D]TF$DVV/2L[-GIO M5%W7PWG?.@+*XV]CSQ0LN*G:I=ZT:\4V)V'1*YLJORW8ZK)+<<@NUQ.[P)M> MU]FGW@-[HG)F2^P[PH"X\=N[K5+V);757>I6<#3)(%49!7&"(,!(","2.#=L M!B5/H= Y=,IVNS3!W)AJ+V)=08!?(H]L'1&9M][K[I0K$[I#Z*O.ZZ;IC5]E5\5_)QI3[INGG8%_6P MV=I(IO?KLF2!?2Y>/]6__*;^WKTV4O^Y0$ISQ5 *5 XUP()10&,J0$QB9G;R M&*/4ZS1AH!QS8\E&C7(O6C*N!ES$^ ],O.VH:[%C/9*1"TM M;FS[FN:*/[[9\O.152@J-0IXE'$EIB$MOJ&B3&K^78G7BOFXW\ M:[E:W:[E>_,97=\MS?-5FJ!%\ZO/F]52/"UD+C5*= H2EFL;NLF +=\'Q5'\%YYKF19".='Q^Z ^W&@*/ -S+G-8*5)RH'J:O=;'$3-;^_B2K1 MHS_J_X["=]X(AF0X]\DGY31O3)ZSF/\ ?KPEU7+QMC;Z/ZOM\4;&F3MZM3]P1-&01*'$SW>;'_]F[C400&I_ /:'%BU<'G>2 MU[]7K>8U[[]PJ/=]9?ZZL;$A/]3M=FM6L]PHVA(*'XWL%W[=3N7]L*]=%B+$0PHW-Q(YTBUJ25]^H]M__V0[+$6[ M[VP='=]T11&ZD*ON>@KP,FLY^CG!-,LXX.0@/-YASQ8"RC?QZ4-X9$_/)T:8 M8]@7XOU:;&W;D[>J^N_[];O[A]7F2:DOU8ECTU9IJ _V>;AC>Q1+7S4DCXLT_*1T.0>8YW0T:PW__^FZ] M6^Z>OJB[I:T\L]Y]-$_;0G&8Q,J8JC0E&<"Q*OL(2R E%"(52D+NY%Z[-,'< M#,]*QN@@9&2E=-^[G@6Q?^MZ+30CDXLG*E[[UB[5K]BVGAUVLEUKEU+M36OG M=8,MDLV]^KHSQ&"-GGT-2B6HB+EF0'":&^.#2Z$C/:RSFX8\TE7)VMBFO1&M^ \ 9JB*'0!4-@F^#L5%-__KOT/?.E[[S\ MRHK QWU>[4ZI[FH/8ZA8FC# 8FF^\DJ9GQ+"00JED"E16E"ON(/>&>?&$A\V MZSM@)KH_;<,:@5:?X_*WGB&C_?"[44A04$!1Z@.W(?-*-6!+T[Z M,M6!^S"X6!VX]\90/I+/6_7 EO*MTLI,T%0COEW+T@U8GU7K%!L>T#UVFH6R48]B_J8&G6HHESMTM1.;-ONY<@@)/%!\%QW2U.DKRP MX\4'K7X7C-=HUT:15MO$?RVE>KLLQ&I3V.)XZU_5YF[+'KXOQ:T5RMHP'Y8_ ME*PF?[]^OY;+'TOYR%:_;+9J>;=^LWE<[[9E@;WJQZ=#@*,D&49IK$&*;+P] M50KD>9H )50>)Y0*E#@V$7P)\>?GVVX'4JZL=;FRNM6\;&,G[_;JLU7$# )# M UDG>#C<*'ZN"S[RAZ&]T@=UH\TZ.B@?!?D(.>D>UXM%> M<_NDU+I/%&4[W=J-$YH[@?PO%,\[W4(:!(3O[%+5?EFNV%DNV>K\N M=MO'XWA^CEF:,WL4J^,,8"TS8/,K@$ZICI.49RGVJ]OD-.WMM*\ED[2;-W^/I]LS63;>_?KW^H8E?&M)0?_<,KE&JI.;;M MDU1JB"ME**+8JMWA8U,,/Q\*\3C M_6,9>_A6/6R5L9;M9#9ZZ9-NJB#653<23!+."04HUPQ@E&J04V*L5L6XX;&FU9&^\+NBZ#Z53BY:CVZ27$JE$=F17^ G1DO!$(=E&>&;]&= M^=MSJKMJ_DFX+@1"#=D%&6N8C?A[8?V=Q6YIF%05"XA5*F5, *$R->:?X3%J MM^ 429@9,HM))GW,O^/AY\90OQ?E^[.7S\]8>P:=FQTV')"1R>0Y%M/4 3@/ M1TACZ=D,D]I!Y[5[;N)2F#0,D4IIS;VNQ>^SS'>>?& )78]L'GC\N5-&9E M484_7BX]>Q7L;B0Q IACFR)[' \R1[70MAQI)785)QDP6L@3J)"\XCKUI(3C MB<=S)O*]?1A%5>>E;ZH8OGV&02)2"HD20"9, IQH8WFD,@,DSP3.$--U$@9,NBX&X>P8<47 MYIHX<+A;X]/0X)[KAY3&M@FMG[_^SM;R\^M/MIU,W3*5*Z$$R33(DCP&F,<9 MR&/.@$18PYQ)+G.G:F*=L\QM)V+%C(RV!N'F6T.[!H[N.]J6;)RRFW2/_<47MOHL'<.)OK#!DTRK] MLUGO>WPW!;SKQS1A>8I3@0"-=0ZP2@7(6]AAN.N;VU_&(RP?M&HIMFI?OGXZ7/*9/9759?YB6_D+6V[_R5:/MACZXWW3N_!!"1M?87.V MU%I^L>6WF2%2+!0&$#,*<(HSP%-DB\4PF0BA.$URK^C7L26>&RLW,D:R%C)Z M6JJ5YV'J^.OLQLZS6KV1J;Q4Q!@41I.HK>U1_6(;6]NZKE8Y*G6^B:S64:EV MU-+[)MH_$XWJT9<@]> G7Z:@,;RC"SUMQ.]4:W 2'SS9Q$,;FM>U,\J^N9_9 M]M.VK'PFR[D_JVTIW2+3+!$L2P'3F2V:+"#@*LX 2XFFD*Z:J9]$SVP;?2C9)17CX6,'LS.N;""7VZO>LTBN'T5PD,[,K4?4/U:H6ID M-L]P5011UHQMY*ZX/63+;1^@PO;==IIYXN;;/FB<=N#VNML_\^&K4&NV76Y^ M7Q>& Y=Z:5BP"J5G<:PXDA#$.;21@MS8Q,+P$X9*Q@C;=MQ.'3TZ9YD;$S6" M#LA9N(QD-[\$PV=L2]$9&J]L@U[5KTTGN#S!9/D"O3JV$P+Z+QZ2W_1@'H/O MQA;:>S7+RB1J:[ZTNR>;7U _JT@(I'.1 Q0CLQ..C57"TXP"E4(F.<=,N[_U MSK/.C07:4I;%P >E,+E"WD\/HP Y,ET,P- S2\D3D^O3DEPGG# /R1.#X\0C MWYL'[H2JS5?Q;7,K_O-QN55-'I,].=_=KJ7-CG^PERQRA2#46((,E_T8( 4Y M01QP+LU.*-,B%="O**K[Y$ZOSK2%4.OEL='U#TVJGXWB4(W,GKLA]X5PW!&% M!7>B75$MM,U.J,7>)U+>E,$QNYL2Y7>]*/OOC+P!"[H[;=;%9+67I:"J/->KO=TXXAB)&0/*$&=8RR-.42B"5T-#\BF?"R8?3 M-I[VSC2WM[\2-C+21L?B1I6\OAVE+@'<30-!81N9"P8C-J#;5 \:5[>=NC3^ MQ/VG>M0\;435=\.P[!Q;'9#/,ZD(%!GD/H;?]ULNLY\C,./52>F_:PJ,> M8#WACTL=VQ5'MH5-M!X^T/)7S;; M7QYWCUOUOB@>K7@+)1C3(M: *V0,RQ1BP+)8 )U"@16/$YY[105X2S WOO^- M_;V\?[R/UOMR$V4X0.G$X2I:&K$-+3P^&!)0?ZNM6%9>LS*:(-I401Z>-;^] M%\V-PT==BM$WM%;V)IJ@%K^*'BBB1H$R^+=2(6IT"-G:?B!\8?O7^PHQ<9/Z M@1B==J(?.M" #+CCJKG'%7-_8]L_UJ;)=,/5NF^J!)=%#%KVSM%0O6S9+3+,/H M@1*S7@&/C+O15V*BY+NNHOGEBMP?5J38:_-SH#2\JU#LS,@;-O)TR7E7:7Z4 MIW?=2/Z'/6^76[,OV&SK+%4-%4N,30Z$LBV$>:( 520&6:QU&B.HL@2Y'O$< M#SVWSTWVL/:9Z-.MG1S'EMV@WRD13ASRT8L$18BEC"$BD.< B%\8<-/MH(A2.\U3EG.-KN^J>3CN_T)'? MUWRY6IG-V/8@Y;7MX>QT-MEP>[NMJKR'G[2M9/Q>1LK3G*1RP3$B:#V("<#E(@$I!++ M',4BSZE7-6VG6>=G2;2%MJ;WMA+;CXC<$'=CHN XCFZ'/(>PEGC4_E)>*(5D M([>))Z4C+RR>\Y'?S8/-HLV]*CO[&>'?;-:[Y?K1'F4\J*J<2?%:ZF-V24]-+3^SA3H>Q6ZO=D^_J=WWC6SUJ%IHDJ12D!1 G4" M*H-'. M*NIMK4WV%' "*515*G4;B5Y4]>_C4ID;J*/YL-E M!C(ZK*H>:.&+XDZ^7H&W-).)/_7.:.IU.;/!FEP$_Z#=;UMF&WI\?;KGF]6" MR3P64D"0Y8@ G-D:XW',0<8(X5F,:0J=7+E7 M@3 RXSKJ[Q50>U;7*P)HC\>;+&#VK!KM -GS%PRI8[M1,FL62(QQEA[A5KS\PPMU=Q+V-4"CFHA.HY(!T. MSZ^%9^27="QD?,K(7HG05 5CCY$*51*V0_GNXJ_G;IRPS&N'W,<%7;LN#._S M73#(I*12 HC-'AAG2@,:&X*#)"%FB>,<2:_*@5V3S8WF^MR3GO'TG3A?[^"= M$0L.!RZH,W=J'^Y\7+=#/+97LL@A@L7NG[.L7;@UK*1/3+;QP?#\&:7Z%E?U'4)W,AF M#%A')IXVGGNA6YW61CQ5\D4K:-%-U[FGK9WIBY$QNJ^^KK[3%U7VK?^V^<;^_M=R M]_W[INRK_,MF>^%19PJJ/!$0&HKB&/6DO&5YD>I20Q&[ M5&MJ\'@#O.JM_D0_5.NY:OIVWTJYM'.PU>?MYF[+[HN%%%+%.A= :&A3B%$& M*)<(0!7C1.D8(9@Z^]S]YY^;J^K0IY[M9;5%]4IA/9S/ U;"P6D_+KXCL^*1 M\,^,O KU3SHZ:!!]G@1UCP.!<=&?Z+@@^"KXG2L,Q[#SU&' L-.=20S7^>C$ MXHIAAE8L*G;;I:UZ87/I;M?R64K=^7]MSG+C.,F42$&:<>N=3!B@618#9?;] MB8=..TCP?Q$P2P%/&49*2C##A[%=X-OC<[#DK75D1?DB8 MVG/@'-P 5\ Q,K,$1<)C:WX%(A/MNSV0\=M17U"]<[O\_)[I]L(7I#W:Z%ZZ M9F!#]::/X]ME(5:;XM&LZBTO2A9<9"S16+ $Q"F4AJ5@"AA-(8A)FL<)MD=+ MT*MQ>L=D%XT5DUG8_J)?Q0\_(U#?4G M#>0;FV3UQFS%;LU^[P/.! MY\8?5K;("A=9Z=RS$H_ ZF:#:R 8VR_MIKU73N(Y5:](23P:;K*,Q'-*M!,2 MS_Y^:/EU(XWUCMB-X)=E\>?KI]=J+;[;FI^W?R^+14(8E#&RW_0SW_ H( M!]1 =\,E;,GSGCDGKG#NAL!I07/'^X8R3;'[I'_=;*0M2_M5;7\LA2J^;E9R M(6.-$P41R"6T50@$ YPI!Z*D\LA9&T M^(9)J9HRSD>$WZ[*]:H3C<7F;KW\+R4_J^UR(ZU4=;\&E#-)-.) :VZ+ M[F7&=-!( T18%L][FP MGCN?<9X -UI[\74=F1K'7](K6:=9IN;%5<7Q3T(.<@=W0VPHW$5"K:1&< ;,7^;QP6)H+9+YX33VB N MNI_8$DXW^1\GU\W.GF#"ORUW9IN04B)93"6 24X 5L+8 ]2V#M9)PB1B&D&G MKL'G!I\;,Y1"65\I3%[QGYHVBI: MEMU$):IO.U#UCV8= $_0Z%:?^:>-=AV S$GTZY Q!E>ZK>-K/^FV?Z.N=5)N M?$H/2.F%:RJA[(]?4LD@$TD*I,X5P)0*P%1L_D"$ZY@*BCCUK(5[A3AS8[,> M_^7@ /TK%\V- :=;BI?U(H]RZ!8&O,!5>J^1:.HZO@'0.U/I-\2H0[,.]OTH M/=_#,W?.Z.5J23?*B]2A?=A(]M-I)@Y>OZCG:;SZY4O]VY[_MEPO[Q_OFZ[G M699I@3& FJ;V@"$%-&4&+JIE1@72,'.*23D9>6Z?YEJX 3W/CP'K?H>O@F'D M-]<9 :^&YV>UO;;?^?&@D[4[/ZM+N]OY^0NF+-%4^K,UBU.FM 0"Y3G ,=* M2@V!5)I3F*%WW"4%:] !PQ6KY?K5GV(-1C<.KH=_HF)-8QUE M7"'-K)+G^E$+4Z8I0$S^IR9(H SVVY=$J0OE+Q3-1)H+"$@L-, 4$4 ISH#F MDL8)2I$Q@'S8LGNZN3%BT_?A8;-M&M%4X;@;OEK>U0U*0;17JOJM9YA%SPJX M,6 X7$=FN0-6=2CO7M9]FXUP[.:&2D@&ZYEQ4I9RT_XY$SG>-8QMG*+%/FY* MMZV2MV65]C*LJ?U[ZWOXN-G];[4[Q)(=1JIN^K3[KK;?OK/UIX?R+5T@S(A. M8@R(D!A@D4) "6. V1YD$D&H$R\B>S%-9L>1+7VB]687/2F;Q-2H32O^HU,7&)XO5HZS: M?UMMZC2/C_4S]:7U3%4!R^$^%"^^8"&_02^GS*2?MQ=?L^=?SI<7*%C\16$V M&6SU;?/K5K%=-1>-W[*GHCY'K?UY288R+G,(),L0P(0C0!E,@1:YY@HQ2*!7 MZLU@2>;V4:0PLC*6>_A//\RWSL]S>OW*#([;"(_W-$$<;!7=%H6R:2Y6 =L# M:+.-:BTJ4X/&U:(T 1X!G;G! !TY[,-1F)>. ?'#S"$@Q'/ 02UH[N^7N^H0 M="UMN5DC@#)BJ.+#[]1]L8@I(:F-_4 99 !3H@'E668[!*0RT;F6U*E8 MFO.,<^/%ELR5?[,M=?2'E3LJ!?>IG^H$?3+C . TW9]\5=KV>=7CQN].1HNU_FFWU65B1>%;D?H 5 ]E#E)_ M9$[\_>/[;^_>1E^_W7Y[]S7 :WJB8T=,?WUQ99_5?WENFK4&G.9]/%%@_\*= M_B9D^^.6IZ=X_72XIO8$E?O8>O?Z[F^U%_754;PO]3R[KO=(9N-$[M3 MS>\_;\VF>I%0B2&.)5 2EKQY\84C:P1JX2- M5"UM]&#%M0=>A>WFW+AI][^7T:O'0D8/9F]5^G=_"M'<>;2'QFTW/-]'84)7 M[9$[OZU[Q)_.MW&MG+L1F)_551B,79WZ['7LYU/X,-,T;; :"3T+H)U@Y_8=N :/D9FZ$6VDZ/'S>H>-\'HVQ\1Q M6^(CMI?7DA %KX<8:X^([ M,J\8X:M8TT9\:^V]LAH8*^ZG5H#;08M1*&@XB"%):H 4D]+8<)2>$]T5(P4[ M:[;%P?ZRI4Y_V6S?;)5<[CYL"F-$HV7FHH=7.-N+/[YN5N:.H"B)]W.Q:C;V^J;]WKXVV?RY@RF.B<0XH M8K:<$8U!GAF6U'D.I8129WXE\YUGGAL9UJ5,HU(!W])GKF@[NA#'P'!L[U]+ MYO\9U072K-BM+G_1'U;RJ!0]:*TT3[C"UDUSG7SB&FJ>F)S64_,=8!A3?38/ MX'=6J$_[7)A%;G:L&.(4T!PI@)G, $T% 3Q)6)811!%*?2CI=(JY<<^M$-M' MLTMZJ"7U#&0_@Z$;T5R'S,B,T@@7':0+QQF7-0])#F=FF90%+FOY_'7ON'+8 M>VT>Z7([<3!YFM;F"B4QRRF@PFS!,"<Y5]NWFWNV-)]]K.-8Z=SVW<@-,:@N<96ZLT$@7_5')YU$4Y3*2W3P0#)^12< =&J]J*;VJ7ULYY?($DU51Z=6Q M75&E_^(K*ZY_TJ>;B?VQ"!&)$C%$0"12 *RE!BS7QNP7.F693'6FO#)JG6:= M&POLA;9^V+,[Z:%E"]T6P=4M$1C:T5T2 5 =7KG=!:51*KAW3OPRE=Q=L+A8 MT=WIYD!=BS_LTQ,TS96&*05YFJ0 8V@#O',$8H4E$S336GJU"KP\U=S8Z$R; M7?\\$ >$W5@G#&YCVRH#(;N^*_$)&J/V(_XP;2*(N]:]/8A/[PA1Z>A9R)YU MC]H-TQ?#7)_5UDJPD$@9TR91(,&QY1%* ,U2#B#+TD1@I%-"_&)P?$687P1. M(S-H L9E+75D%/,L1.^](&ZT,R;((Y/127&DD[CI1O[(*G 3U2J,53')';SQ M:B@YR/""597<$>JNL^0QSH#DY*^/#P^KI]N[K2K-LL:?2Q*.4LB ;9X,L$QC MP!*1 B%C+M*422@2YVSDLU/,S3ZJA(SV4OKFQEW&LIN:PB T]J9K-' \\H6O M!FFB!&%_L/QR@SMQZ$P&/G_G=-F_G9(?I?MV7SGP4'J[$4K)XAF6&/4;9R M6X0;R8TU9V6_J?J3]B+M?W#NCUG0$W6/Z:<]:O?'Y>0,?L 0 U-)'BU)VB[* MMB:M/=?[JN[*G+4%)X@E,-. 9T( G&D!>K5&>WR5'-CKTI2 M^RYM][)&12VL9WK(97S=F"D,:B,3T0&P@YC1US[ _+,Y>K$(FK5Q>;9ILS-Z MM3[)PNB_P_^X_LUF76Q62UD:PJ7_K"RHGS.HH6+,[/)(#C"V/4M$+ U5) EE MG,K$K?W!Y2GFQ@Y'4E9N7:\N!AU@=E-"&(C&]W_[HN-U:-\-P+4G]A=&G^RX MOEN[]EE]SY6#VZ H(=C/ M Z# O4AZIYVZZ8@K#F>ZBSC?.M#O4C< _+:Y%6:KLU5EC>)#_]5B05*L\H12 MD!"9 BRQ! QFN=F>)"03""HDU6*M[FQW04=_2]^<3N\-K=Z;]LSCO3X'X6QU M'%7%LA15.^VE=_) +^:,2"@E@8#&<69+"6# $R( S8UX,$%IQKTR9\,@/FF' M[$I@6PZ852+7S0>6!Z%#H^[HP@J)Y=B.JQ:,M;11*6[TW@%&?T^5*S1!_5.] MDT[KE7+%X,07Y7SC,*:W(ZW-^CW]LEPOB^]*_KK9R&(A6)K++(4@M7$26$D" M\C330*LXX2R3U@GE0S7GIYD;OS3"17=6.C\BN0"D&WM<#\_(E+$7\";:@U3* M>!/]NMT4 =FB&XJ0%'%AIDEYH5O;YV30<_4P!OB@BD*I"WVB&OIY^Z@6D,8\ M)E@ E5&S]90P!5S'$A"6,HVIR'.L%SO; <.-$UPG]F*)_?3CO0MEDX_HOFXA M6W60>ZC%]>,,9^C=6&0,0$?FE4KDF^@D5*K51\Y8*5Q%G]E2AF,97ZA"\H[S MW),RD2\BS[G)^_YA;/7;$0$><\_-LMF+:FO\UK+Z<94/ M\&YT-1*<8Q^VF==IL]Z9J5:6KAKA#87M(3[(;^NN51J$HZX!L(5D+Y_I)R6P M ;@\Y[ A0X1T]>_SP+(DE9"3&*#$>OEAG@&.N 00:I%"$J,X=^HLXS;=W,CJ MLG-_8/)=#]K7>/9GF&YW#7R!W/GCUISMG'$&3OS^>K1.=PV(#+?[P;^6JY6M M:B:L [S)M4@1%Q1I#321T.S=. (P> BP)HH7'P*:7\1X'QB=0>,7 M;YXN;KQ/_J/0\=Z+!Y8^DO_Q6'O)OVUNI5S:AX*MK"?A_;HN,UBZTQ>4P#C/ M90P@,]\FK^H MW6ZE_,/$W=%WL[]&P71DX/NWES69E?K79VO4N%CR+S=Z0,@!I9N@)*P1RS35 %,89 MR["@.AN:Y'(TT]R(Z=-:@=WR7MU$Z\T:F&?U<2W+.&=AZ]S7[O?A>2S'*+L1 M4A#L1B:@XQR5(RG'244Y"\18B2?'D[U8FLE9G;N22L[?$*[=.XJ_;5)ZVD9< M"*)U3'.@>(P!5BH#E* ,<,B,\2,E111?V^#]PMQSXQ,$ :D;B(=KYGX)=S<^ M&0G-D1GFI&$[BJVID](7Z<[>@]?8_=@O3?_2!?/[<''IN=XWQ,#B=&QEB^V7 M#9H,1A^4FK.Z::!3//(BZ5)9!0P#2G @@G M5)S9T':A\PRG&OFUWK@TT]P8ILE9+P7TRJ+K!]610D) -3)]>*'DSQ%]" 3E MAXN33>+6,\1TYVYNNAR=OCG>,M#JLIVW>4=W[KHY-W_> MG+MIA%)VW?ZDS=WW5DXC7G.TS%*2I]A\Y Q-F\UA:LL>))H H3))52HQ9UX5 M4L83=6[\ON_H\V EMK:-*&6.B@$]U\9;8$<3Q/MP=9YP%$.L;2%[0VD: M0=NSCP+SVBK.LPQJYM661S!Y$%O^X^CS7:34&G^V&QGB:<]YG M'=-YJ<3EQNFCY!Q<">;(A\!.HKST@; /7@Z'PU[##3V^L>6EK8VXW+6*D0NE M$\92 F1*(OJ>N4',8>> I\'U?7LYEJH MQMXT^Z,TX/BF"X2P9S=G9YKXX*9+V]-3F\ZK!QS9G,^<^J*6]_S1O'6M1Y@0 MK5E&<\ REEGG( 4,Y1*07/"<,X0SXI1!Z3?MW'CB8BK@D>Q#3B;<5\+A>&<4 M?$\K_?BV7/Y;RD:VJ,!V:DB0C"@@L&, LPX"GVI"[3&*-M*V3[USK^NP,1I%PSG0*D8P&P]>(S3 6 F5+V_KIV>,0?:B>GD/SIZ_UT_/;?XNGQZ>+Z(R? MHJD:E,[Y:?+LA?I"J]G=9G5JH2;LX/I">!\WAWTI(89M4O^I"EO$MO25R"1+ MDUPEC:^RYF2NU:(,RP=J0N>W]!@(Q\G?; M$0/OK=D9;4-NN]K#3[JE.J/7\^W2N4L&.H^$V#R:3=X,;>:/M7N"J],NV$CMZ MJ.3V]/WTP>[H[ D(YL@LL,>Q'>Q42QM][L'0WVWC"$Q0/TW?G-,Z9AP1./'$ MN-XWC&_>E2V]]K%^-)69UCP%1"L.L/5*\S3%0(@$DB1+,HJ\,HZ.AY\;EU32 M#2ZZ_ P[-XH8CLC(A. .AO?;?U[GD._ZLQDF?;//:_?\/;YPU0"'Z8>EL&T0 M?U'[&C*92%*(.&"$V-J>) 4L2Q/ %1=*R$3JS"FCX>SH-% MD^*W=[?UXZ0(4AG.!##$I #F0@"6X!3D*F=$2TDY\\JU.@P]-UJRD@T,46[A MY6A"#$)A;//!"0!_T^%$UZ!FPV'T:4V&$ZU.S(73*\8K$5YFI+XOBD%5/I5+G)MHOSYO.Y1FE"'D?KE/7 M);\HS^Q*E?>^8 Y.WQ'UZMY3+U:,-@/JZ[Y3^[F^Q>I1* M5L61[Q\>*]OWDW['MNOE^J[XK+;E$<\WZ^)9H!B9S5QJ#">>4( 9@L9F(CG M0E 52YEHZ=4(/:QXI MJ6^V6=BGP(W;7VYM1V;[EUA6__2X4= /FE875L)IT_%&0?>.;^GOWVLC\YR)E2*1IAH& -B.$*PGR+-8@D51K;O!5RNF%OT*&N5%" MVQ98[I6H"Z&4"0EW@^H=#5D>7[-L%- GM+T.\E<=,"J\&Q5JDRJR6D2E&J-8 M5]X@CF-"N8OQ0G:2-TZ7C2'_H891Y!O;;9R)W;^6N^]OS 9^6 MC1^W9<=UE%#*(>: TMA80EI3P"!7($ERR02"B"&OSCXND\Z-!-\JK8Q@,MI6 M#03\J,X)9C=N"PW>R&36B!O]9>2-&H%OHKW(-U$M=#CF\H$H)%4YS3LI-_D@ M\9R,O.X=NM]Z9P:],]NX7[>;O\PT9H/'UD^+)(6QRG@"=*J),<(D!H9_$@!Y MEB8V3Q]*IYX9/?/,C6/J'48C:U0)Z[OS.@^IZ_[K:J"FV84]PRBJ!0VY%^M$ MXNH=V?G1)]Z7=:IXNCOKOGR@ 5(SRQLKLR4E!&YH/@>'C$;5Z% MRT2!FRU\ @5N7M2Z,W+S]*[I0C^FIV?W3$A.YZ4]IJ8+UPS&U,*JP1IC1#._1IDG9MD;D15UYYOA!Q8[.PLG([; MKBM!&GNOY8N/__ZJ X"@FZIS\TR[D^K0]&3[U'7ML'?^7VIY]WVGY.T/M65W MJBJ%\4F_M0$Z2E85,3X][HH=6\OE^FY!,@UC!E, D6WMPV$.*!$*I"3#"MI? MIL2'#CSGGQM3-.)'K)+_J =>78HK>K2%=)9K^[N'Q[(NQ%KMS#^8OZOHU6I3 M%#]%#VI;77X3R4KWZ%5U^T]^K..[H)1FG"?*K*#9+ .,*08Y9QKD6FFA="XH MQHO=9L=6+[^@>RG^_P6]O*!N7Y@1EVGDC\]^A6K13\I-12VY;Z):HW"?IH'( MA?QJ^8HPZ0=M(#[/OW5#AQF84/DLRO0U*Y9BH3FD.DXY@- F!D"" 4]$#J"* MI4X%54K'7KF5YV:9VR?M8Q>5<2MQ].JQD(=_]>2S\U"[L=;5 (Y]:GD2#7\3 ME3(&S-;L@B!HXN;9B:;-X>S2]22=L_/B :ZZSYOM;K-NTJQC:.PAK@#C* &8 MT1CD!$F0T93GQNS%F%!G/UU[Y+F]_I5L0[Q21W@Y>.>&HC#R.QP( ^?W% @ M)G+(N0+BYXP[IW2G)^[HANG<<.?D//+!G;U@F!72&#F?S+>5V7W%5W57IEHN M"(5QSI$&J;3'! 1A0'.< HIHS&4>RSCS*DEW<::YT='!N-\THD9%+:N?W7$9 M7#?;(PAD(W/7 :V]E-'7/K2\39!>)$*:(9+:-S-'*"AT9(>ZC5\MU]*38UM=;X[T\;N0S)N@C<]*!B4KQ;J(3 M!\Y>_NJ*R&H0CJV&0A>2Q+QEF)3;AB+TG/(&CS.,"6WVX/UZJ9>B-(!_?61; MMM[MZZPE% LL40YH(@C >2) SLWJ: TY2PC+4^W4O--MNKFQW#-IH]N[K1K2 M3-(1;#<6"P?AR)QU!7K>_.0&2D@VZIEQ4NYQT_XYTSC>-20^RRB1)/%GM=[P M0FR:)JE92JE@]I3,GHUA&U!*B<) PA@SJBBD'NZ?\W/,C4',;,!(&>W%'!2I M=!Y.!^_0]2"-S!%CXN,3T'4U3A.YD4[P"A75U0E =W#7^5LGC/'JE/TXU*O[ MT@%4]XW]J23[_)UM[\V*/>X,F:[>;#[L9/T08I'#6*D$2&1VCUAJLV62- ,B MSF+"&4FQ=@KU<)EL;N17B3ODC>Y#U8'Z F(U,@?6,!V+&KW9_!P9:7\> SX/ M9@P(XT04V0UG(+YTA*63./O&F(Y!';4YHE+7>P8Z\=7N#2N^?]YN?BREDJ^? M?B^4?+_^9;EF:V$[V(C=\D=9\VK!<)*E6N9 :)U;AE6 $\5 DG--<9;%'&N? MV"OWJ;WX=H*P*QMT((SHT4,MN^U#]ZJ.L_HITHT&$=NKX.G]=U\5Q^. 4; > M^WS P&RECCZW8?Z]@7DO?'3;#[/_L8$W8D'/$=QGG_9@P1N5DY,&_Q&&,=N7 MJB3*WI/7:JOWB:^6=]4W&5*W&5L%!')FH:GEO6F<#;4@/,M]$M_>V>5,XFO*"*B1# MN4T\*3EY8?&$!')JBS M/9(/G6AOHG<]F/K7P?>"*&C%>[>9IZUM[X7&215[O[L'.-<^JF*GA-VVVY]6 MZG\IMMI]_RJ6RJA7-!ZVE"9(QPA JB3 <0H!3Z5-_DZXRC#E6CJ92LXSSHV1 M*IDK9]&K2NRHDCMJ!/]IB!?)"7T'3UQH3$??WKT@G!Z>N="P3N2>"P.OG[?. M!ZI.EYW30-/Y[7ST.G+>>=WH1]S%=K=X8S<3:FL['#]]-,]"V8J<:T*)5A!@ M)KDM$9\:0S(QYB/+V[&71Q[DK>]3[/FY>Z];FCA8YN^6^Y\_LE6CVJA M%8&0$0;2E)EWV?P)*%8(",R8()+!3":+'VK+-^YECH^G\'E@VQ.-^=P>2_QZE]"9!R?XW M:QFE^4V>9 METWH#VZS7S=L=2N^+]6/\M8OYM<+F*6QSF(!D$*&SY A-9H1">(XMTP'-<-. M;;$N!>^_RG1$\8@?)HZVYQ&.[-/J:.^Q6>T_,PT79])L^%WWY_JG7J]!6, M+L1T?H:I\#SR44PVZ9"J!MN-?!2[KVRU]]P)K$0N$UO$*V< 9X2#G-HV#$FL MXAASDFBG$G\7QI_;1[^6,*K/)P=E^I^"Z/!-O@Z:D;^B#2JE=($P\:F! M;[:[Y7]5#YJD9N.3Z S@--< QU0!E@@&LIBP+%:,,2S<7#Q.\\W/W].6KCG< MCT"TM3J C0:/Q;ZM'VC55;#NF"K24E6IT(XQEFZKXD"0(9$>F2[K7.8O#:1& MW*IS7QF0M);!H2R(FX]5I _IE=0&(8YSD2 @,RILM#LSM)P)D"N),!,HTZE3MZ\+X\_-S#0"7ID;> JA M X=>!\S(K-E@$A 2GU3)JZ"9B ?;$(7*D+RH=W=VY.EM$V9&7I3Y."OR\F4# MSPM9\?UV+>U_WOWGX_*',5G7NZ(\OI99DI65DE'&#'\IE %*B00(90I)E;(L M=^*O_JGF1F5ERHBU#LL?6L)ZQ04X0.QX4A<$N+'/[(9BYG]PUPM'T".\R[-- M>YC7J_7)L5[_'0,,G3=E#7"UM4,^E(Z\M?RZT;N_V+8ICB*((5:5YD!*PQG8 M%A#E,;:>-LDX491ER#W,LW^^V;%'+7&T%[E\+QJAA]@!#J [F$IAH1P_!N % M4/2PKL*B.9&U=36J?I:8.T:=EIG#,--9:NXZ'5EN'K<-L^2LM_&3+J,X/F^7 M0C5UH1=,):E,( )*$ (PL:4 52Z!%!E6DN=(:Z>^D'T3S8V'/YN!OMOZ>@]6 MRNN*N%\$U\V""P'9R'QK12Q[2E1!5Z68A[+NX:RW/BA"VFX7YYK4[+9FY(79S24\0QHD22[LL6,&F- * MF*V>@$1@K)AG9/FY:>9WVOA5?%?RL?I:[B4N(ZXV:_\R[6>A=:.*:^$:F2/V MXMU$M@[+'XV(06N)7D8@; 71,_-,7#?TLJ:GU4([KAW@\GG-5O:,_.MWI7;% M6[5CRU6Q?U1CQ6A,L4$M(=2:#@KD64)!'*LXYQJG+,^=G3U=,\W-<*AEC2IA MHUI:E\?<$V$'STXHW$9FA,D@\W#CA()N(@<. -%'\YGYV?P9'4T9*?.9-Z#J MS3;:?5\6D5J5\9,_1P $\N:X0-7IQ^D<8#H/CHL>1[X;IQN&6E9B:\,2WJKJ MO^_7;S;KW>E=H-6[T)9A3%]F)6H=VN5K=KGC[FJ-A<5R*B.MDC9Z MU>-RZD1Z#_$0,=S7_3_ MZPO1_^4?_U2%#<8LP[)L+T-A/VAW-F\Y0RIA!! L;2$"*$ >IPG06N8P54(E MT*L7Z2A2SLTF+66-?E3"5O&O1?3JH9+7U^4]RK(Z^LM?>K'&=K9?GZI5+76M M:A5&6MQ$!VT#>NS'7(R@[OY1!)WVK&!,K$\.&D:=;&C]BI7YZ\9&Z/]0+5'> M+@NQVA2/6_5-_;U[;3#[9K$/_&Y4/A*H(Q/T13RC@]S1'U;RJ!0]9'B;/V!A2U:X3S]Q M-0MO7$X+7?@/$;0HOO7,EJQYJ%&]]UDQ@C.5"0BHSJ@Q>#,$>$(%$%DF*K[+2%=7)"NMR:(JY+2 FG$F!0(I,GM[G,7&>N-8 9UP M1KG9YG.2^5EO9^>9GZ76KDU6E1*[:6J)O:K^[KE3OX2PJX%V-6ZC&V/M1RH(=3?52U<'.Z=M1).SLY4'3CPQ%;;=/AHVJ@G8LCR7.B089 MA0G E#/ 4DX-51@2H7&2$T,5?C4,7>:=GS6T3[(I>P>I@^1!,I*>H9[*E,2$ M4!!KQ@!6*08\3IE9!$IBZYK5N5,/T-$PGS05; K$'0D[-(YCT_>ES+ ;6RNS MD;HJ\SAZEMAYE"9(&'LV\1QRQ\YCX9A&=N'FX?&%Q;K\S M"X2@XC*% &N";!*9!"S#.8!0I%0R1O/H9YVBJ7T'2CB0 8CPFCN@;/7LAPU-"#0DA6N#35I(30 MH^]S+NB[?& @RB,OEG+)MD^?RC3+W=-O:O=](ROF4:J56/7ZZ?3BYK)OC*_4 M D&LXC3)0*J)V?U G((\102HA.2QMA7U$Z=NX&,(-S?".8AKUBNJ!(XJ]:)& M\)OH*,.PC&XX=UMS??1'J:IG_E701\"-\%YJ84=FR1=94__8E!' #QJ2$E*^ M:2-11D#V) !EC#D&?CO475EM6#W8>G#KN_U1((&)R!54(!8B 9A1 7(4YT F MYG^*H$0H+R_8I8EFQ^F5G-%>4.\TC5YH'?DU &!C<^40K/RYK@>(H+QU::YI M.:A'XQ,^Z;M^2$,36\2W[)CYV]+\M-NLFUHQA%"D)#6DD' )L.()H"P6@.%< M8X9(+I%3E[3N:6;'"U904$H:[44=4HWG,K#=O! .KK%987RD?!IBA$!LJDX6 MPY#S[#S1!TAWRXB+=T_8ZZ%/@^,F#;U7#[.:1M'H\^-"VOAHC_>;FS/=T^[Z!@X-V-H,!PCVY47/^HE#9IK="V":4Q1U@/0H^94'H9HG$S2<_,^\(II)>1Z,\=[;AWH+_%.G6^;U;FCJ+R MYBRHV2\1C',0:QH#VX8)L(S8@- X2:C=;<5\L=OLV,K1TW(RA9?]L)]HO#?D MFYVC"@6MY?R?98A1QTF4*YB93 AG6@!DT#1@YA!0F6KSW*J,*Z%I(N/%@]HN M-_+KCFUW4T#Z?+KQ@'VM[I;KM77$\.J8^7H\&8)IS#.0IJIL.RI!3K(<9'$* MJ+Y;.WX60Z#93#8>EN^JML:A@'1T^ET%S=@;^Z,7MC[CN-WMMDO^ MN+/<&.TVMC*>V2@']/Y=1"2HW^]TEFD]?A>U//'U7;YR8,H6VSUNU2==GTUO MUL7")EUI:GL$HM067(D)R!F$ .J4O'8KE6A6<0R1DTW=[\ZQ :^O'.BWJA+:B_J T:8SV _=3Z^^#= DJ$NR:[YI/90.FI\X+%WN M&9I+NK9E1JH/P)=E\>TQ&((&@&YD_!J,V(+6T%X^PZ:67IYLXQ;17 M[],TT_Y;!D1Q?%&%8C9S9BW?JA]JM7FH D7*CNCU"9S"&4I2D@.(N #86'D@ MCPVZ*:=&>9*F(I7.\1P.$\Z-11J1RUR]EM#7-(YWP;V;4\9 2D@/:)! M @,Z45S(]<#ZA8AXH-09+.(RSG1A(QY:'060^-PWI+'@V_^'0(CK9SFFBL40 M:B#35 %,4 PHE2F J>U)BCF%%+KW$&P//3?:-<(!*]V@CG9'F#D0Z6 DQK;% M@H'@T\%O*!A3->MS!L6S*]\YO;L;\!W=,6&OO7.2'K?5.WO% /KYS<@D'E>L M+(E\SU=+5;Q?B_JALM032Y*"!"?<["UC!FBB,:!] MK-%!V)O(B/OSD#>U$V,']@J%W,AD-B%H'FP7"KR)R.\RB(%8T 6/3E+L'& Z MCG31XX@RG6X8YI]K,GEM];BU/!?C XG**)) :&',.LVUY5 *TD0G!F&=DSSS MB?'IF]"+3R>+^%D=I"ZW,M=' /4"[^:X"PGGR"3[X1F&[[I1\_;9N4(1TG'7 M.^>DWCM7!)Z[\)SON[(7X1?VUV_,&$%+MBH6>9)F@B0YH%K9C"R) 2<\!D1@ ME4F6ISCWJ@5^=I:Y66=&MNB^$6Y@V\$C%-U8XFIL1J:&5N-!B]!>Q)OHU^VF M(Y!E>/O!+'0C/7CPP8KANNUE\TD>'!)^T/29X_63_ M_(4),^NA1+WFB$JM$Y!Q)(RYP02@>28!CP7!-->I1$Y>I"MDF!MGM+N7BKH+ M4!'MOK.=C42H8AB5C&#\?]D"#O>;*MRIM(TB=IH1X1D/.F -W3AIY)49F;'V MTENLC\\ES3]8V6]L<8WRC++2HBZE$8T2>W8%F$(>(,6VTZG"<3L)9KQAJ M&)^^NW]8;9Z4JKM&MZRV-S8V:;U;"$)3K7,,8"PXP)BD@".N ,N%S&.-J5#$ M+PBN=TZ?=W*:2+A;(;:V-+=HM1+6\ MX0C+&9J0]-0_Z:1DY(S!<^IQOW$8T?S"EMNR2.SKI_V/_VNIMO8L\>F#/4FT M'>H72J T5S;9E*+4IIT:,\T\9X!@A8A,&$78J^":V[1S,\^LJ%4IY&@O;.G? M^'C[S^@/*[%G-)Q@S M?5&%V? (0WJEE^KW]7)7?/GZ>WVV@G(%I.=\XV-QXR@A6>IU5NJ+H133"L1N:7@YQU"'HI:?3*PO=3P'-[+UQ",DOW MA),2BI/NSWG$[:809:=M?/LB12)3N<1 9IP 3" &7&44:+-5RA*49E*KX16G M[11S(XI#->556>S!)@Q=4V^ZA-&-)*X#9V1F.*DR_:8+F"L+3+=U'Z^V=#G+ M"Y:5;FO975'ZZ,I!X>)E4.,7)39WAC',EG]?,ZOI@WMO/:$+D5-;24$#E!%C M(]CH(,X(!ADBF> 2:I:Y!P:YSCHW"CB4:'NH>U2S4DZO\&9'P+N983081S'M[)XL=#P.P;0^X'5T\@N>-@4T:3^^GW+*3< M\^9AAMKM>K>4R]6C;?O[58G';>G=>O>W6#U*)7\Q"MD&Z(^[VN/^CFUM[1C; MU+QL3U*_(TIE./C5:1 M4:MJGW03C!U' 3JD\1M&L$GMY:!8/C>QPPX^N-BL4$H6=C9;T/8W6Q5DN7NR M#>HVJU551Z'XI _-IHH%UXK13"E ,\O;FG&0Q\P&[]LS!9P9XO8*#1L@P]Q8 MNE&A>NEWWU54U(T\EH?V:<5^C;WKVGJOD1LGCXS\R Q\#+J5_R9J-*CZ8^YU ML"O14B)H-=VA" :NN>LMQM25>8?B=*9^[^"A!K@N;N^VJBP;8Q/GRZ,]B"A6 M,$< 2P4!%BDS=FN"02IL5E,FB.3"V4=Q,OS/(] )^#BZ'JU 9 MV_ +#HB'L^ J8";R"O@!Y+?[OZA_YS;_]*[I]O,7)3[:N%^^:F!P[_?-=O=- M;>\/9P!)EC(JA (RDYDQVW(%N$"&Q43,".<95C'VBMT]F6)NU%5*",Q,]X// M4L[@Z&9:78?.R!36 F:4PY3+R@<-9SV=9=IHU8M:G@2C7KYR2 /]]_,&A4VP,^:2\DP["-TZ]LN?ZP M*8I/ZZI9[N?MYD%M=T^?S>NXL_G699&N19SI%&5Q#!!1Q)Y=8O/2:0@@CC-% M<)9F./8KN^PVL1,U35J VHK*_)/%MRW);C+QI7=B!^5\D?O>A'VWL'Y 19R5^F'U8EH*P#+M9F]'J\L)0)RP3@@%$80*P9!CD28J TKF0J:!(Q+F/ MS^?L+'/;8]4-9/92#BS;?!Y1-[ZY&J>1Z<4?(O\4PBX(@J8-GIUHVE3!+EU/ MT@,[+QYHM1AC:J?45[,->2SJ)Q4G,5,Y1[:Y%@0XSW) 4X4!C0527""<8:]: M#6?FF-N;7XL853(.?._/8>EH95R'T-@FA2^78&XL<9#8[$^LR*WR*[:33"GT54'A#JOBX#<=&^N1^>9L<'@+ M^TJ%5M?:Z/U$V%\5G!]V#5XR4/^ZM;@V:M\=1\\(?H>!7S*:WUWOGLA^CX'\ M/C52+1?OS-B[IULIS5-8U/_YL%PKN- 0*J)5#F 2&]LR3C'@DIH/M6:2*0U3 M3)RVE)VSS.V340D:U2+>-#]$5MCHT]J1L;J![?XB!(-K[)WE4*2<^<0)B8/! M63069Z'$SW>;'_]F[C=P0&I_ /:'EHW9/?8DM.&D7D,-;A"&&5 MB23-8Y!H\P=.A/F:992!E&O,"*')!3T0A(X<^#R?%.G"/1J?B87 MH/^>P:TQB]WVL+\V$]W9#VO3VHZ3+$DT,4:P,7TQI:DMNP]!;AF$TYQ" M[G6NTC79W&BC+:OMM_M02SNPNE$GSFXT$@J]D6GD.7"?G8$;TB"S%Y' '3(O MSS=UB\Q>S<_TR.R_9QB+O%T68K4IRD[K[?"7NC9DV9P%CGB#L=K5[_O$WPK;7(K;K:O3@ 1F*B(.3$$"HUYHR0 M'##SR@*<8\VDP4\K[N())/^-G=7O^43Y_T97'@#:*17W:FOW1#_-( MJP7+,RUP+@!CB@$,TQCD]B @%0F3B?GNTH0..@E\-M'!X)7H#;QF: [8,,/!2^@$>I<\/GP+W,T>$')BZ>#EZX?VCBP"C-X MJZK_OE_OB\:^80]+8P'?\F*W96*WR&A,H#8L(6AFJ((DQE"BA "IE+;U!V"N MF-]WWWWR^1D%;[[;K7)A?8";?57CZ@BF/%MHM3/]AV\70N-6+_9+$^5)"N18_^:(0/Z*;P1RQL8T/GV2?N=NB+RFD+1.\1!O9<-D2I MU'']ZZ:'SU/CO_BB;"RO&?23_F59"+;ZWXIM%QHB*CA6@"N,[+&0 #EB"+ T M2S%/.8'$J7KU]:+,S6:RCVOT:EN*:M] %-UOUKOOOMOO*];&C>^F07QD_JN4 MN&D17EWE9:_)C=UU<5NA>2EOHKT^-K>PTBBR*@5L_GPUK$';0@^79MJ&T5>C M=M)*^OH1_4BUV.[JA*??U.[[1E9%^93Z:![?.KP'%8B+S=.RY!)E)^Y?/P!)290E40 $TCR[NA/'(KG6^B!^ M6 #6Q>$.[U#3Y[(JEXM/R]67):NSI4TE9'.8),4,F];2+-.KQR+)((J0,EM. M!<19I+#VJB0IK#::[,1-C26NY_/E3Z:'%*CE"FCG5Y3-1KQ''>$^E#DG><08 M@RR37*_1I3D\2S.8"I**E+$X0\HYI#<0SB.MRYOVG$!/C^52F,"F1OV@,-OY MH>&@&YB6/Y4+_=TT/N8N_^0*O&^^I4;K*]!J#7XS.2RKBLU/._T^X9(6. 4. MF.R3.';(I(7U1X(F;>[RW11\UJ_0[:KU7>P8]Z@7D0GR0 M=_\;'<%&2<\( MZ:-PVM' I2 -3 +.^+@'#?8 $#02\)B<<BP]B-GKN]:S)5A]?-5ZT+., M1VE!8@X+)!*]8HLH9!'-893FDNO)GG'%7 +Q]I[N]):/$(C7M.CB[>+!)Y5J M'SR[5]L;DH'?Z48OO01H- O8U^J8P4'[4^T)&+?/U#';#OI%';W(LUS_YI5S(SVOY4,UX M1@H>X1CB ID\29+!@N0%E!(1*C*"J, CMOC<*C8U]@G43!+\92P$M8F.I!5L MR"V]ES<8R*$=GS''<.RNH > 3Z@QZ$ZW_TZ]00\0#=P>]/#Y'@4'_WS4G]Y[ ME>]Z+PQ<1'5WACG+4!2KA"*(::$@8B(S)U::]' :)1R1/"56Y9,=9$Z-]SH% M(G<54@,5Y^P@;<&"X?$;F!?/%=S\-B">@!ZKM M?G$\"WF0G5 M!58244B*F$,440$)D0K*-(YQ@5!*N%58PCE!4_/MVISGG!Y)##W8W%Q O.)QX^JX=/[>7?J ?>^>S7O$;.8OUV M 1X#O]AAH7!8>ET R4AK+!=HW!93)VSO736]OF>\Y=$);??60:>N\?56.LU. MZ]W\ZN9I7:W90NBEU8Q(%&-%%41)3C552 M[53<;5Y\U1R=5:"CMJL'TXNXK1\3"L=QO!EO"#V\&AMD+O9M>H6,[.'8&'SH MYUC=Y;F+\E14I2C9ZJ5I0UH+^;(]M\=1AC,3E2U9HID%"0I9&@F8%1&B. MSMIV(.P(: !PAU[2M1J#GUIEL-%YK_K)3N^@-?==@ I3-<%\MXOG[1H[8H).4M9%HN("TA2Q2%B*3;A\ Q2'E$L M9:Q8;%5_WU+>U-RB[;9G1^=._<96I@3<#>@PJ[;[$2/O(!SPN-P M)>=VNW\QCZ;F5G6]$#?K>[G:>5Y-.N(,2\50C/5RCM'"] -.-6D1"54:)5E" M<9;HZ=RQM.]9J=-;RNV4-J4LV@B37=B^>^F/<[BC!"/,XA3*F&O/-"DP)%G! MH1 L9S)FL2#2M:)*0-3'K9\'V!KP9;4&!:O* <"VFPP"0SCP1-#1MJXZ7>O; M61F#Z_Y,=J\Z+);PA"[*01%K'D(\ M-K&8,8:29'HBB#0O158UGBY796I$U1IC/-CGVAP]1[3V. 0;7#8Z_10V+N8# M,UL'[L82L#4%;&TQ$9^M-: Q!VSL ;5!HXV,0]#(:",T4HC)P"/E%I42!-S> M&);+)(P7\1($B;WXF#!/]-Q^X?=2/)GSKH\/C_/EBY3?Y>I9/W?7EK#;N-#4 M6^5M4FV;U_!O*6[KFJ!U-\-=XT]$,:59G$.,A82(Y#%D>9I 0;E*DTRF.:&. MV0=#Z3J]%=/&5//R5YT^KKQCGW[1ZZJ4CEL\@PVXY:;0% 9QZ&VD_AZPVZJO MHEY;M!TZC%U7X/K![*R"OW[4B1>#](H=? 2"[D\-INRX.UI#8WZP!S:X0-] MB&T,5QL6G*2RR*.(0RD(@4@J"@MANG@+F6>)7AO%D5/MRP,)4UOP=",+/:M> M'J)H&Z]P 3:#1R:XP.(1@7#"]+"Q!J^%C!Q5<,+&P_B!4Q=Z]RAXE*OURZT> MT?7U0I@MWDNY?ZOU!:&4%N#;L4-82(?>Q[@<39^"^I8 !2ZJ?T[JV(7U+5$X M4ES?]D[W3DKZX>*)UWN_K:M3M8U^<($93KC22T]F/(R<0")8#"7EE">+91.@]I/*<&@&IY%W%%RZIUT%H5+VR:=%C!:QZ2S M-G:;)9V_.+ /\D,_K_W2JE3RK-!,D!9,:"80"%*I"IA)JH1IM2:+(H@3LI,Y M05XX/6]> :.X(T^X#,"%CH@?K -SR)?EX@Y^*9^E #_T[TNS<5,?-P9D$@]D M1G%!.F*GX8,QDL^RL^GW]^34C]M[+ZUSNYX/ Z)/E9X5,X/2^?IECY_59(7 DH<_N/D^VV1TQ;U('S:G>5[G>%"-# MD8E&IQS*#'&(TH1"1CB%V@?5+(13*B*GB.FS$B?(-TUB;'W=$A13,G4+\!L)BQ7PX/@.S%8;_<%UW5)S:P'8 MF@",#5?@K<; J2[YP&,Q6IERKS$)5K/\ A3/E##W>?*8%9SQ&'BF"CT4%X0'^Z(X3/ROLS9O%.#KB]KI"%[O)X8^2-^&^JN4"L93 MD])>((AB%L$B2ZEI=<9PCN.<,J?6E>=%3HTQNPD:CZWV]5FZW)VE+WJ<%5_D M[9@P+)X#,]Z92+X!,R'L81KG,/UM^+PF.]_'!.G"^.&I.1I:+[6H:Z7) MXX]R+JOUZE^OZCSH.5H6>V[#C\&@V^]'NE& MV!T3;0>H#0%;2T#'E#%&XJ*ND.%'Y"W[1(88F4N[1[HAZMA/TO+A;]EATLW^ M,STG'1]V01?*SU7U)(66IR?))G6X:=/P5?ZL/ZIFA$HBB"(PCB-DZK)IUSQA M&.:8Q4+F:2*14Y2!G=BI34A&JWHOSQ3M;+)>JZ;-2%OAO-Q<8,JV5>"WJK;' M5YR>,W MN;1&XVC#2_N[+^AS=]V>PN:DP!GB"<2)*3),>0&+(I*0M91Z M/G&C.CH6=K_V;FQN\6..#[)8?UY4ZU4]06S*"7YC:UGW;A!MO4%V)V=)%C$F ME("QR85&.):0Y22"190G!5,9Q8E5"Q=WT5/CE4:_;>U9H!?-CI7U'&"WXY9A MP!R8:HS28*?UU;9H*3"*MVU=!-CI'HY\W/$*R44.TD>E)G=47C.5QQ,N2E.I MF?&FF)=WM7-;?6Z*>(M9GC,A29Y"ADP;=SL/DFJ9P#8X 4E9,B MWR)!Y9S])])3SM[F1RM_+!?RY0^V^I=_K13CYK-F!SJ>,27UR@AAF*4I=^I&%TJQJ;'- M1F6PKG6NRYEWM+X"C[7>;LP3;!3MN.HMQF9@=ONV::F\-0ITK.JX2$VI\GH$ M?VQ'\/O>"-[VCZ S*8:&.R2-!M-M5.(-C>AKJ@[^_ MB$+I%S4U8+"ACCHLAY(01)D7/@P7%94Z/@YKBT/NBN(^G_7&A(P?I> M;AKQ?:Y+3Y@21<8(3V^P#WQS:BICIM%.8Q/UD0I("2I,&XT!''(+7(*';)P0-WZ< M1K_=1X,SSMSBQ^-?EVM9[5+=_KY:5M4L1QF/,3%!&4Q!E,>:P!7)8)XE)$H% M9HAFL_72;")8O0''A#@Q]U;4<-__'T8&:+/_]$^LO^>D/9AV)'$I1 .SP_%$ MV4)JUT.>SI<-QQ5]\(0DB:-R1F6'/DM?TT+OM7Y\<,WYT\/3W)PT?)"/*ZG? MA3JN53[.9=V[9B&N'Y:K=?GOAH=.):7-&,."8JX1SDWJJJEV12,J8**2@O!8 M*,'CV4+>&4D_['W!4/I9O5NT>;<.M!QRU[RJ_@;8SD@@.E;6V9JL8YX;/04; M6SM*&W6HQJ'!CDF@:],5V%I5CU'7KBOP*N?V:C_I-AQ)A@8\)+$&TVU4,@Z- MZ&L"#_Y\3]+O%#BHYQ3]["]+MNC,+9O:>CGE<183JEU#@K5KJ+W"@M;GPXP* M%N>%DFA#ZY:,;BW<@[/'H>N-!8[NH@/L"$L<28IAD>>QAAU1R!(L(4&%S'"& M]9R:S9KMW>]KMEJ_"?0M![]68SCXW\F[:&R4&/#P82&Z M _%=LVN]/@5I-/!86'HC@Z#[)LNND^NM 0J!NL,6U&NPESZN7^",RL',[_X$ M]RY=WR2;?ZQ,V)AQ)$[Y&A5?E8]--]*-@W']JZQF<9JF>212&$42092) A9< M*,AE1J*8BSQ25LTR+M9D:IO\7_5GYFANHR/XRVCIT.CKLG'IY[M1T1Z8_ER! M=NH5%@2D2_N)7:;$:#W'@F#5[4L6YH$#I$_7'[8G1A]_R14O*REF/-7>G?'O M$I5A0X4I+%*H3+]82'$,B8PQQ'&4Y(P+(G(:+,?]XF$9)[6B.Q!RH^9X0^)P*#H8 MT".>E79/Y?8.3(L7+5G^N!;329SO M1J)L:G2T_+_C*)$%\D,W?^M_S)[.+]?$7OS<\;K*N/BHE]7O$"$,)5BF4+-(> M(,X9+"@3,&>8RE1$*C'-;.U#(L95?VK!%E_EVJ11U6J#WT1KP.]F"N3:U*OZ MS[JZ;VMQ?62VVN)1?^Z:?S7J]\6.=Z?[+1B8Q=_7HVS^!!V+3(CT=HCK#\VP MO_[=W@T-".#S]LNTP>%WDPS;0@$V6-1IL:!!(V0>VEN,8MBTME$M&#E+[BU& MYS#I[DVT\*QI\"0_:1ROE2KGI7[HYJ2EB(6*"(H@Q4J8U;;2BYL\AD7*6(:9 M1(5R:I-Y0L[4EM1:36"^5X!M%'6L57 "3KLY(@!( Y/Y%I^MC@,<1)V!(6AQ M@1.BQJTDT&_O0=F ,Y?[$4%S_BCK5.%OY=W]^D;]6RN?;X-FEI54.MZU9:-[H;;7=N$/3JSB@5@(9FE3]RH M[&)A]VN&L;G%L_C:LJI,HTSMRL@%?_EJZO?+MDLT3E+&D8I@$>L_4)SED.24 M09$72M7S:]0.J^1KO&3@6C M F,BH8JP9A4<19 QS&!"8R3U?R@EB=MYKH<6TSO0W35=::H>/;1ZN]9Y=!\0 M2P(:%N2AB:G6WAS][;6VN0);$ZXZO6L&[,1U 8QAZTFZJS%RG4EOG [K3_H_ MRJ/4]C%QS5.C5'J]'*1+%LPB;62R!KA1TJ4UMCWL]U@R'Y5NS6Z U^+$&CN?;':MV' M@-:A&O@0$(]4)CPJ?&PI)'RUC[/HA'0M3PL;U8$\:_-K-_'\#7ZL\8Y5976CKCE?/M5K\-OE MO.0OS9^[51A')"^2)(<GQ2Z]VD'LAJ M,Z/7T0BWJW+!R\>YK#]^K^E&VR(\LO$MQ\2.>\+C/# 1;0'>J7P%&G7!7^W? M@RQ^W9 *24J6DD=E*#S1MR.J M01 =F*N.!)>92,4&X59S\,4"86>RJ20:X>5I7:U;GS!L6Y;-,)5$<80ZQK"L*I!02O8B#61SE M&4/NA7 M=;ZLJM]-Q>/F\BM0&$,]TZ#)@MWW:5C_M*'\%:O7# M,:(7:B%9T4V!49G1"YO7[.CWD!"]LVIO\ONCYF1QL_@'6Y7F.,3$M,:S2/(8 M*<4ARC*],*4RA86,,\V0$@L9J:B(G:) ; 5/C1>;55-5JPHT'SZWRM8-M,!O MCTUO($=RLQX%.UX; MN!*>V@C5:#\_43ZNV=9W.]90L"PX3NSB]I-_^ULI+Y[V5W2[K/6B;^?6+GZ!YL_F;BYIX=F MN_I;6?WKTTK*;J^O&8I3[?D1#'$F3;$U$VI?D QRE-(LHT*DQ*G[UN :3XTJ MC8Y :24OZ3(X_#C;<>JD1F_$(PK/Y'IC-:C-!AV[3:2Q_DX8T_?[) ;,MQ]K MG(*FYP^N]+C9_&.-P4'R_VB"_2:MOVM%UK)N(_E4U96DBB@7$9$,,BHBB!(3 M_4,EADRF&.-,I8I85?@Z*6%JDT*K(&@T=*K;=1I%.PJ_")N!*=<-%F=6/&EZ M2!8[%#(JZYRT\35+G+[0O;[?S<^%?FGNR\?Z>YC&$:)%5,!4Z*4QBBB#1&89 MS%!!493D B.KA*R#)T_M+=XJYUQX;Q^P_A?W(A@&?F&M$7"JB'?4VDLKW.T_ M=+2*=4=MZ5:@.WZ!YW*0S>6-JH,V3,G"&]6I=])FV# 424H*#'-B^I_6Q31C MQ2&-:81)EF 9._4_/2]R:F^MT;C>)*[W\/URF"R MEQ0!85OZ!61&W+NJQ9K M,((N.\Y+'7?=8(W"@>-O?^<%B2*$D"84(IQP6*LVAXGJF5PE#G%@ETQQ__-3>SKI_95VA MV6\N?P6>W;SM#\G [Z@#&L[S\W&C0\[%KR2,.N\>M^[U''OBJHLZDYN"*28G MV50C_&>YOG__5*V7#W*U"[Y5'*413C*HXB2!*(XE)(E(8(I0'L4JCG/A= IC M*WAJ[WJKM^E"L;Q;E.[!SM:(V]' $#@.3! ;".M"21NEP4^M-=BH#?X:).+9 M%:P!>GB?E_T6/;JM$3G1@]O^?M_(YV;O_Y:5XJMT9W:/6SS5J>1\Y.U:Y (^!R6,+A5'-U S? M%+9\SQ[+-9N7_Y9B>Z;930R]UHO0Y^!!R4=A"AMZO"]BY #CH_8=AA$?O\PC M7;_ED\[L^D+F3[41.&MU0?V$NEEJOV]'!6F*0&PC/MD"CCGU#3_H 4 M$,=YGDM!:&''"!=I,37>V,6C"JUGW2/KL='4(>7<>TCZJ68TH$?R9CHV7(&M M%:#]^*H3&_QA,Q:WXXV%0SF ,<9DI/( XZ-6[V 2S'MK1_@_?#QZ@E<:O]> M?8&+'S9 LZ0Z;V;&(X(2D0D88R(@RE,.:8IBR&C$LRR)TT2X'6V=%3FU&>>; M;.IE;?L@,1/6,T@;I 9RRT.NH$ .?R563<3=2=YP] M?$;KAM-(G4[WFST4G+K=[-_IN;^^6G(I1646VD:.J3_ZV9 ?F]\^%?.2WR@E MC6"]-,:%8)%>"T \HUR0Q&GKW5;RU*AHHWBSSU2VJAMF MVDNAJ]/F%@M9GU$VNU"/J_+99)$\SO63[3TT][&RW.D?8@2&/@38 W^C-6C5 M!HW>8*-XP ,"5ZR"GAU8"Q_W6,$5DX,3!^<'^)'=%NZ'ZS; M6Z M.C81/P&M'0,%@&M@ONG@9%0TK/[^#$[N#<#[40C:[?N$J'%;>_?;>]#'^\SE MOJLN/1.;.?C]G%55&UM4QZS*E')<, *)H 2BA.>0I++0_XRCG,K/*I7M2'0^!:14=%C5V9J,_>(W6(>B_W.$C\^_?_ MTY8L35B29KE@L(AI 9'D^J=")3 J4E:DF5Y.Q%;EA/8?.S6G0"OF6.SU%4P6 MIW5>Q@_\_EYLM\/)F)?](QUU6>'@=FAU8&[O*=3NZO&.E0XTW#LG.OS4@T=N MY4K/IP]FRZ-V7OYIPE!19G,20RYQ!%*4,DHPQF)N^*5G*"*?4SMLX M)VJ"[L;W/UVK2Y_%TX*" F$T].[G3LMV]5'K&1HO!^H*A-M(9.:-GQO!68#2 M2WE]]X]'@A96[-&BS?5OT(A^ABG*A&(9S"G!$"'$37^["!*5LSBCD>1I-'ML MSM76;+6V6[]=I)/+J_%:LP$W-JS[P@.V!NM["0IY5RX6YAQYJ>I?-,J.V#9^ M)I*4($0BO5Q1>F6.J?''>0:+G.*(QT61%W$[NA\78I)CN]%K2B,K]4=O-J9< M98RS*(=Z[/28TDA 2G($8\IS0?40ISB>K9=K-I_8>.YT&FXL?Q@9]5C]-QI1 MNUV=T<9IZ!WB>G#,GZ"CX!78Z=Y\:$;K]>\Z-X3;)@H";,C-I,L4&G7+*0AV MKS>FPCS4SYOZ*G]VV@FLE@O]8Q..4MVLWM^;4EJ?%]TKVFX<=>^\68X52WE" M(5:"Z/D6I9!F*H,L2G#,,B8SMV[!%VDSMY>U M-K4M*1W/W"X;3SMF'FV4!F;F#NK?397E.H;TST=AHK(,&U\X/L[$' 37D,1\ MF4*C$G,0[%X3."J!@BF9M6=#B!"2,L1CD2>6%=B(?V=6^L*]"J M&3!"]1P206-43PH;-TKUG,T'<:IG;_#L1\Q69HN]NI6K.N_G0SE_6DLQBW$B M"M )1J=P6]/E=C]WC$[ M\!3@=JP1 ,:!.6.CH4G^:Q+_KD"K9!G \;! )226]\D;E$QO+7Y.*U3WN>U/7#W)5FNSUSX@J_>?Z'ONU&=?K>U"E6"5+Z/XQAEE#]8F:8028S M#EF2IW&4QQ@1I\2UHU*F]HZ^7\ZUSDM3C.U9[C6P,NS/K>[8 ^S?Y M)+H='P&[:?YB7 =^XX>'U-D/Z(4LI -P7-"H,W^OK:^G_/Z+@[9>- 5W3-E] M?B]O%K*=V&04L9SB%+*TR"$B2&@_P+3%B?(LCXC"BD0!FB@>DSTU)FKU UI! M1X?!!W@[JAD(SH$)Z&C?P=U7_ HX01VJQ6 ?:",T"SPJ?@IM__IPL6S@U_L( MSYCQE13E^OJ9E?/-0LA8:4H)&Y&F^5_[)BD118)%**@JSG84[WI[NG';?;C8<=L@Z \M&,5"&#W^$]7L(+& M>EH+'S>NTQ63@QA.YP=XI E^73ZSU;K<9@8618YQCB#C"8:H0#ED(N4PB@HD M:!1+0JW.?(X\>VILM-'.)[GM%6K]C'(A%@-S1D 8'-+Z_.$8*9//'A:WU+WC MAO=FZ[VZ9;P$O>.Z[N7DG;C$SZ7Z(!]7DI?-UP='&]S^F,'6VP.Y T#H#U1A)[,(=Q_[X443MWT??+-3"[ M6WVKG-V]8\:&].CVGC^JTW;,LM=^V=%K/!>11UK/; _69K(069SB'*+$!.21 M3+_+:<*A8E)&.4[3(BG<*+!7WO0X<=MCJ1/S]#?P02JYTK[QI@R^XSJQ%W(< M%TF$20(3$E$]ZQ *69X5$#/$!#/%N&*G;F'! !_GJ*/;THJWZEYMPTQ?0B)M MN0H/A=_@1QK'NH%U8A<"KK5M( FZONX5..Z:VL;V@W6TU4V^;0CGQK^YU4[P MRV$C:Y'EDB5-C4V:94%M;:@HZYG ML]%^J.WH)!B ]/)!=AY]!:TP"1L0\$^@2-W$;2P_;!UH,U-OI5HMLW@WB^K M=76C_EP\KI;/6MQJ^2A7Q@-J6L=)8:J:7W?6..]>VFM>;E;ZI_^2O D:*!@1 MJMN!&9@3 M+(8@3201C.4HI9''[IV=](GNZS4Q8(OE O(V MR)[5ZCJ7@[89 #NB#8CG:,6B:T7!;QN536GM-KRNTVJV'UB?ZM$.. 4N)FTC M>>S:T@YH'"DU[7*W[W*V[5!H7-FF&]BFY.+--I'%U+HV58-^E _ZDAOU7?^V M4HT3W-1\22CFF,VS/:-AQ\* (#TRW?;UE M:P.NVH+;K0U@:\3@S6;/XS="[]D>):;0BO8\1I:=:2T>Y$>!7\J%O%%-S.4G MQNO#H3_8K_+AZ>'=X5DYK4YVT?LWQ$DN8@0C MD9LJ? S#@F0$DI1'."$9(]1J ZU7RM3>7J,FT'K6P;M:4V!4]4E+. EK_RL= M#*R!7^WA<7)(Y B!UT@I'9ZXN>5WG,.C-]/CY,WCY7R8,ZOE62B%IL:T&S6!W.CIU+(EV#A9\/'(Z ],W?M% M3#;FU(34,0AL+;H"VZ':&M5N>XT\5 Y3PLA#-M+L,<;0N4TU 7'NG95"R!EO M @N(RMY<%_*Y/M/B?HN>ZX7XO'B6U=J(^Z%I_)T&X%^S'-.4ZX4]3!C2LQ^) M%61Z'0%)$8D$QUA$J57S''N14YO:7O>XJE]0\^_U"_@N^=/*H5JZ _ V,UEH M.(>>JUXCJ34&.Y7!7T9I4&OMLNBPP]-EN@F-ZU@32C^^H28)%W3ZIP&K)XU( M]"Z6[5.YTYWN]4S;C=W-8II*3+),P8P@;!J(9K! )KDPBFF>\I1FA542T,&3 MIT:]FU,*]V*F^X#U<^E%, Q,F=8(.%4R/6KMI85,]Q\Z6AW3H[9TRY@>O\#O M).1VM>12BLJ$>-?!DHT?,(M1DDJ&$%0XSTUOJQ06J2@@9X42!==O)\I=SD1. MR)G:^_E-\N6S7+W4T2GWR]4:5/59XN-JJW MC9-NE QWCG(&A9 G*J=$C7JVUZ\DKR_WFW?/Y?^E9M?TS-#]#\T'FO3SYV ME!?ZG%&;-_GL=;[3>EL I X#JRM^5M=/:SVCF82O&2JB-&%"8R4+!%%"$22) M2:1*590P0A"GRFUV[Q,WM==[JVT3@'K5-"BJ -MJ#'YK?N78M.@,ZK83?R@L M!Y__-S!^;V!L= 4[94/Z 3:@A'4'>B6.[!786'_H'%C=Y;'1>J*"\*XZ]+N7 MW25M\>@Z(*2-1_V[OG MQ>=VS_<3*U=US.I,**$44@@RD6.]ZBA,6Y.(0I'@ MA&*<,)Q;16(-JN74Z,PH!IZ-9F;5TD;3@[M&>X==Q\%&U6+C=PIC-;3[5!=4 MKPT 72/WFCF\>P'=Z[:%UXVIF].RZ@JTYH+/BVV ?_TMJ&V>PI [[$U/8>A' MVLY^^Z^ V\;XT$/3NY<^F/#QMM^'QF]OQWYP89[M$#?/^4.RZFE5:_)Y\?BT MKCZ4%9\OS>]V9UI8+TM4RDPQ6QQ!TRL1THCGL, I%;D22&#AEC+G)-^%,\9) ME]N]TZ!C@&M;1*N=5\Z#Y^:NN2G7: :_6N #_3F=0&0CMR\@=F M8/;I8&(T"UG.X)C%8L.RP0C E M!':3),J)$(0K2(CQ5ACBD%**8"$027))<\ZY4\^U7G%3>[6_\WLIGN9-$G^M M>3T]5G+U7'()^-8,UZS^?M#M7OYP4 Z](] @M].TK7("!G$L[& )FH;?+W'< MG'LKZP\2[.WN\MA"_:.<:[9:+N2/G\LVIB='4K L3V BX\*DH6:0))3#5!4X MR5BDES]605 GGC\U#MEJ"+2*/JE91R"TV&F\#)B!&6$(3!RVXB[#9J1--$>, MW':\3B/0NU=UY+;Q=IE.Z[RW/]1SF>_B9LW*A10?V,)6&T7 M/I>"-?@"J%$0;#0F4P^/$EC$"8=2XI@C*B3E5BDWEO*FQ@VGXDV6.Y4#!IQT@;IT)..MH.&W-R!):A@TZZ(M\\ZN2(_39A)\=N\SQ.*A=LP?5SODDN MRV>S'KN>SY<_32W(3\M54SWHR[*J9/7/5;F6-TI5LRS3JRD5YU D"&F7)!60 M82:A2E5[TU%"MP?I> K:QQ_&D MR6=X+ ^+5V 8- 3)A\] MQCUHN@"I@_.F2Y[EDP7=MN]ZWRX<8AFG).4IS.+^VR>O$;.8C?I CP&YINP4+CD&OM#,E96L0,TCIG$QVWO MSQE^=<^(V<''M=W/ SYQS87!0$TGANN%Z'0M;<_CQY5O,:K^,4TA MT1\DYBF(@F\3$Q42VY,Q4T&%> 9FE'>+4I6<+=;7G"^?%J:SS^UR7G*MRRY6 M("Y2E&C_%F8\U9,#PPDL%!>P$$1/#5)E5!#'Y@M6@EW(89P0TN;-7BIPJY^Z M\:YJ OC^]/# FF3WCG%@9QW8F.<8QF$W1';4'1[V@3GY#)0#Q8VZP10TS,-. M\KCA'DYH'(1]N-WMQV-?Y=J$J=VNEL^ED.+=RY^5B;YORNP8#N7K\KDFV%F6 M%8@RD<$<1P5$:4PAX[R :20SS&.1Y"2?K9=K-K=C,GO13E[L5H'AWBVM>1U, M"IY,;DRYT/]K=09LJ[0;63F,@QUA#8/NP*1E@*VK;6W4!L4+^.W/!N7?P59Y M<'T>9F?N- ;=38+J3J5AM1TRF-)C%2. M!.1)ENDU/9&0L2B!4D8%XS'1'IU5$%QPS::VGN^&X#;Y@D5O7F%E7NCNA7N) MA7[=$<,-NZ4K^!:#.;2W..XXNON5H3$/ZGH&4VY<[S0TI@<.;' !'@=17YI2 MP,O5BZE*55?_;4\3F$@XQWHXI8Q-ZPY-\I1*!$DA&.,JQZGX$G I>A<7=L!\0N MJ(\[A)[CNKL#(GW@^0XIR[VE4>6;?%RNUK,BRZ.,4\W/E)GV M2WKH"4,2(L%$E!8*F63!/DDA_RV%,<@Y1P10L>"0@RQ6-,Y8*R:V:!7O(GAJ5 M9C&D$3!J>B8HN^!NQY(#H3D.*;)Y$WEY!;((K)> T 9@^0X.R!U\#Y M.R?%OW7:SCE<++)USC["MWS"LUP\2=.ZXYNL"P?XD$S%&#F6B3LA:6K4U"K:-)19-:J"QT97UR(*I\"U8Z0@D W, M/WMHM5J"VS-H>113.(-$V'H*IX2-7%+AC,V'517.W>#'$?^4Y=V]?MKULURQ M._GUR?!.>ZC;3:K^4,Z?]&6[ I9UH/5U4:U7C*]G.),93B(,4Q&9LOJ$0X(5 MA2G-),$D(@0[)4L@3EA>1;EA!+B%LEX1,C4*/1(14NCINN! MZC$X+0]$+P1I8*ISQN?B*I]= (:L[5G+>=.*GEU+S]7QW+OVHN7;YT6Y+MG\ M6C^_Y/64U+1/>-]4@RN?Y4>E).\<-#0!KTB*I*!FBU^DQB7+&*1,19!D4A8H M9U$FL,<:SU.=J?%(:\T5:.T!'8/:=B=@9Q)H;.H>FGF%,U\XI$XKRQ$&:ISE MYW!CY+M4O1#: =:SOAJ]Q:+W0O1.K(PO?:IO7<+R62_&;^?Z&]R-_E21I"DB MD&4D-FT84E@PKB".J(QIDI,(.=5N/RYF:IS::@EN--!-_Q*OW?\3F-J1W^5( M#4QJ&Y"V&@ZP>]\/0MAR@DTK U%[]K8H^8:XG4>Q_Y4-@,_#+ M/@PL#KD%%\(S4E;!!I.D$/5KO)1+T77?1$O2; M-,\R%0KD2@_1@XG&N"GFY5W]O?CXZU&:EC@_R@=]R8WZKG];*9,LW_I8NY"F M%*-"<9K"C!0<(H647ITBDX"K8I:Q!+'(*4@BL'Y38]6..6"YM><*R-8BL*Y- MJGOD=(SR6I,&&V.G1>I;C-Q8J]:M;: [CC>=<=S8!WYLQ[%KXJ!!;@,-P !K MVV JOL5B-S2^)U:_P<7XS1>;FO]:B_I\9,<*!:5YFK("QDDJC$.<04*5@H(@ MQ5/]&4).!;)/2IH:AYNR)^6"+Q\D^,V$$/\.'N6J.79TX^G3V-HQ;A#$!N;. M;P3[L?NXC3G6TV$1 #CK,=NXT^>@,SX5@#Y\R< M08$.R;)A%!N5D8-B^9J]PS[<9U_T]GK7(2#C6"_Q82)2"E%LMD_]$[GY::[;&MZ03#2;N8W>:>?7R<2 M7C^9UVA>LBOP5?X$_T\R?:6X M^73^M[:=(WKJN2U83^_EZ_A:&V.0_@Z=_= MW%T^XJ;F@8[[>YF''U_0J>3#AH*&+5 M.?+8PZ=&1ML>%!\N:<_QP9Z7+L!C8'(*"X5'IQ(/2,;N5&(!C5^GD@\.3/3Z MGO$[E7SHX:13U_BM@COU[=\_K58F9G"SY.%*Y2SBB49(YIJF(@5I$C$H:,0% MP@237+A5EC\MS.4[.4XU^59!,-_I[)@MT0.MW6HR#%P#LUI'2;U";$$;8LEW M'HV0Z[@>::,NSLY;_7K%97&'9_2_O#-305- I%S_QF9OBR;5.C%..Y M4@(*EG!3UYA DF$,LYQ1S1Y$>SM.^V$V0J?F\[0Z@ZW2H*/U!0V%K ; CEI" MPSHPR01 U#W#P &BH!D'-G+'S4!P0.(@(\'E7L]B1*8JP3>Y+E?UKM'NP/&: M\Y7H$?3C6';(>&#O2&@3NH7>D:C!W2N]%7NR&H54\8/4@ M5ZR"E@JR%CYN72!73 Z* #D_X(*:N=4M*\6GY>H'^_7/K]X\V[]^! M1L.]BUI[68%';4J7[A;Z_:SJ0WX]N.MY2WFJKEV^?@',E,NLP&_U)=7O'B5S M70?2TH,;:EQ&\NB.=7;852^]VJ3$UV;)N:B#O31_=B/&I!!)C&'.4\VJF"'(&(M@AED<<89$ ME#FYC%92I^8N'BR_+ENW'D?:;^%Z,7YCKUROF@:)+^"O]N]ANB2ZP#3DZO6X MX#==OO9B<6[]VG^S;X?$GYWVBZOE0O_8I(55QU\5G C!$9;F_.)EES/_GJWY_9^/ MU^*_]#5U:MFRS3AX?V]6#)\7'ZMU^:!7=#>JSJQOD@IN5R67LXRE>2$SLQI& M7)-EDD$6"0XQER3-49:GJ=.)Q @Z3\W_:S2N3!_:];T$LE5<+Y]WBH-'HWE= MM)QOEM:/1S/'JC9-K&PZV^K[]-+NL2Z3X$C68WQ][/A]8E^*@:>$C;7@IS87 M;.R] EN+K[H546JCX=,CV)EMOAS;#+7&=/-5V!AOME\ZYH/:_G#3R8B#%7(& M&D/M42>M$& Q,%NA(HD]QMB\).\/0V)KJ-K^=::3@W6C>G M['63Z[NM8?HE8]HV-YZR'! [I@H/\L!53.&UL[+U9 MDUM'DB;ZWK]"M^;U>BGVI:V[QU(D54,;2N0EJ:F>^P*+Q8-$%Q+@ $A*K%\_ M'LB%N1/+"9Q(5I54J60F>(XO7WBX1_CR;__]C]/9#Y]QN9HNYO_^)_YG]J3K_\.]_^NW]S^#^]-__XU_^Y=_^'X#__.GMJQ^>+]+9*<[7/SQ;8EAC M_N'WZ?KC#W_-N/K;#V6Y./WAKXOEWZ:? \!_;/[2L\6G+\OIAX_K'P03[/9O ME_\JG%?%BP"&Y0"J< 2OO 4E! _%6IF,_'\__&OP*1:GZ!.8'"@6'(14$"(W M*4DKG EB\]#9=/ZW?ZU?8ECA#\3-Z_>E??_SQ]]]___,?<3G[ M\V+YX4?!F/SQ\M-_NOCX'W<^_[OZ@M6TW]=;7[X:I'">B/S;]+UPX.?J'^"RX]!_1%P 9+_^8]5 M_M-__,L//YR+8[F8X5LL/]3__O;VY8U7DJKQC^F*_GOZ8_W]C\\6A(8WX4.E M=O.WUU\^X;__:34]_32[^MG')99__U/*?ZR@JI5YR>H[_]O7O_SCU]=_6N** M$+-A]Q7]X.(9]6U[D8)_K'&>\9S#RY?,%NG&AV95OHOEY=^3 MS9-/XFJ]#&D]\0:STBI!")J!4B9!5()@AMJYR#2SCMWDO%*](K(WZEAA^O.' MQ>I/VZ>D^6Z8?%,N.23,GE2\,RW5'U31A??.+'3V%) M#X+T<3K+EW^[VI0A]+9>#""_<^40N7_Z@;@NN%QB?G6NFP>9VW"V)@.+FT\. MH??_[RPLZ8FS+V_QTV*YGC 3F)&!0]2Y\H$<7) 2BDD\(+%@O!H0 K=>OQ4: M1/]H.$2JG0#C#2ZGB_QBGI_3UCSA7@=9A '/",]*, 71* $QH(J9%^VL'! 6 M-UZ^%2AD_Z#87Z*=0.+],LQ7TRKX"UCK+$T*(D/)0I'#I2P$&2,XYF)AY'*I M&(;<+VZ]?RM@J/Z!<9!<1\;&B_EZNO[R\W2&OYZ=1EQ.F./$,4N0O?6@@O) M?T.#T=%HY5+RV0V B=OOW0H+NE\L'"3'+C#P%C],JQ#FZU_#*4ZL"5[0G@L?" ?+L @\O*?1?DCG;"/X=R1^? M+<[FZ^679Q2;36S4-C%N*58O)!%#3K/7&4$;)YTOA/ P1*BQ!2E;H<7VCI;A MI-T%>-Z'/UYF$M^T3,_/-BZL8N*F:'0&C,BT,[J Q @WX$H*#$M0+ \17C]* MQ%: <;T#9@@)=P&5DYQ)!:N+_[R:SI%/@BHR9<' *$V;9V$2?#(>M,=H8W8N M2S\83.XA8"N(^-XAX+',_KV]?+]XO?YQ/%@.*(D>9!%5);VU*"-!FZ< M0Z-)8MD.#8ZOK]_NP(L]$6SL*=:>D+'9+%\OWRP7GZ?SA)-B3$13!.V5Y'TK M+3.XR MQE(.WY'C'J(>&QRT:ML-(QZ>B@PFX)Z"\6:S68?;_3S]M7*KBO'92 M"] E&U"9]DG'%8-@">HA."PL#@V3&Q1L!Y*.#TL'$N[($*D6\&2)84,W5X5\ M:Q( ,SR3\^03N) "")MXUC;;@FF(VY]K[]P.!AT?C^XMP)$57V]=9V\^+N97 M)S92!BV<@F28KFP+\!2<0W#%QKH5HC<#*/_V>[<#0,?'H <)M]^['0@Z/O\\2) C M@^#],M0178I(.SU23GDHL(!8RNA_BY:/#!4OSCI??: M**G9$-D5C]&P'4"Z/[X<0,!= .7EG)Y&XIA^QN=A'2[8FCB9N'.< R9/%M#( M6&,?VOT2AJR3"CSA8$"YGX;M@-+](>8 NX"*/5J>/DLK/'#8OEE8E5DD0N$ MI+"FNCH+44H)/+F(S#.1U1#Y./>\>KL4K>[/+_<79Q=H>'<:9K.?SE;3.:Y6 M$Z5XR,@,:.4I:O8Y@&'&J[=#0_2V^KUV;K6E=08?"*5+RH*#1BEKINA)/>9 M%6 JBQ!C"2J(P:#Q&"7;0:7CD\V!A=T'=$ARRS![.<_XQ__$+Q2:$_<^(.@8 M."@6:ZZJUA",$3$5KZ(9,*2]^?+M -+QJ>?A(AT9$R>G.,\UA_GG6?@PX8R1 M'$AWY$"56@0C:@I NZ%"\R&+,,0N;\W7KH=!CH^^MQ?A)V4!?P\7:4P^]\8 MEC_33U83PXKV1"SD4$_NT65P%DDDKEC.DT\E#'$/]L#KM\-#QP>@0XBU*V2< MU[V<,U&L]MZ0+FV))(J8,D1.018GEUF*%##((:[''B1@.W1T?/HYC&C'SIDX M/X3[BO#+HJBD0@P474,,3H 228#/"4'9E+GG@F*K(8X]'WK_=NCH^,AS$,$. M!HY_^_&.'%_1#_8N)B?_:+["3-^L%K-IKBT#?@JS6@U/T1BN5S<9V+;*_)M/ M':;\?#?B#ZQ+/UO!AQ ^33:I=]55/-@*_M@)W(6Y? M*W/YCI/5BF1[Q6K(Q=M@-5AF;-TY*49GV=>#&VD+S>RYF#V?U)AGCU+PW MP\2E 1I YGN;'C*><7'@SG23_@M3>L4&N=XZ9U'SF7TD[UP8" (#"%Y$LMR) M8NXY%1D*.K>H&1=!ARCX7JP<(NLN(/,LK#Z>S'/]SXO_3BD;I(Q M3MN.=M@Y0,@C1E:7U%_LZO,/;S$A 3_.\"S&:+WZO'^?-B^8SHFJY? M+59?[7AQ41=&>[X*-H!*K$#T9,>Y+\YM#L?2GO2.TQ:D'>B.H;8. MT'F24BU,7GWE\B]+8N5F!=]@*F=??#UF\9O^@=(' M6KV"[+PU)K,B',=[DJH&\,^VH6[,5)*%(6 M;V4#8ZE,(P'>\Y_#PK)_#(78?,>-T[QH37 >K9']8+=9A M-HS[=DT\&WXHQGZU"/-K?%TN&)X\4R9%2*%VL*I944Z9",Q8QXO/V>0F\<3V M)([3-&Q4MZZ-^G8'IC\'YAP_U)N002.+!_CZ%=>7K'F7!7FP"80N),:D.7D/ MR,"PVO^9L2#M/;?0PP49WZ1PG YF/<0;PRJO X/Y# -K8XN,':3?*Y%45P&X,Z2PZD+Q3'6."BA.&L=R\S>4Q8R\$7FN!O<\+C9 M7\0=;%$WKSON7IK]NIBG2^SKA"&$RH^4-36Y0'"2@_"62>Y4UO>5GD@4S4D=:&H732I%*U[)O"9%KS4)V3K>!U:-4]>"1#P*HX63?@94Z MCX+Q7E:JDX=**Z%4I+IAE?E]]+4@R<^"(B&DGL'$'JS M7-"*6']Y,PMD4.>Y[MZ?JKVMH:I3J99S&)*,K3/*** (H;8\Y-H8+IU6K$E" MX6-$]>"6#P*BP23?Q9[VE\4B_SZ=S2:&*4Z[KR436D//F"2XNB7+P)B0C+O$ M[BFP.QPSEP2,TRN_ 3[VDF@76+AV('$M C!9>D-Q)3#AR3 F[FA;90'021DB MX3R(>R;Q#.#7W$?-. WR6_@S!\NZ"\A34-<3J;KJ>;VY5-,X*/BQD)?56WQO67*]&X MJ&6]0P'/7)V.6ETL'PTH+Q(/ 9T234YXMB5PI/[Y#8#41"5=&)QKG-T^9,W( M ^-" HKBR7BZVEM)9S E9BU1!H]-[C(>)FG;W),[TII@4L:B]R",0)*2J04?1H+)1B@M"L4$379O:QP[H) S0&UJ%)*6T4$I)EVVK>S4_12->YO1 MSE0-(/\NH'3S3/V2H\O^QQ/GN54^9\C$&"AM%?CH$GW13J8DBLM-,HH>)VO< M&XU&H!I0$QV<35\_9K^'%R4MTB:N32)>?*EI[MR EDD:Y[TTN,61;1I'9O3X>JV1U)(Q0= M*/$.#D ?70?73O>+%6TJH6F M>G;EK[,4HHFR(*VI6D&!B8,/=19S(I,-$U&TXTP3%#9E$L$6F$4D*450-LS@QB,!>V$SR7QDK )J.ZA9>Q.LL,H M^FX-YD$R[\#UOC;RY9Q^1TQ+9E5+XV6BS3H9",7E%'PV13>I.[E-R+C' M!XT L8]!6B$GB%DWP6(WN(Z3.>87X3EG-RYU4E*9Z=GFYR*YUBF M:;J>1)E1\*(ISJSIBEH[\(DED(C6%L'(O6M2M_1MTL:-_QM!:V"-=(&RNZ*: ML,R-T)Q$).KM4>;UYMLR<#887GM#AMRDG)G)S;G SU!R9FZ\XSE"91]@ZYH29+)(0F@P?TZ74F4,!@DV<)!B13%7P M2C>Y;CC&A)F;T2H)_/5R\]J\"47>X'(S\W-2Y_=IQ-I(+Y,(?$TY3(Y!CHX' M631&T\23WXZ\L<\1!L;0XR<*@^BH@T.&FUR=CY8].5M_7"RG?\<\D5[8P N# M* -M"D(H$ICBM4\>B4P'D4'7$@^.Y8BQ]I))=8=#P6M':=1M[PA&($?.VKE0Y =NU,^,']OMB$V$':Z,N6W=CWBV5:55%>+^Q3!1&=1%Y^#;=0O]UYZ#K]EO'C@ M^]IJ8L)5LLB%A7HC2C8V4W K/ -/*X^7I JV29^Y2<:XIZ1#:/[NU>+>8AYQ M*ULMU[7!8SY+:PH=5U,"AFD5U443$'PCH/E6I(]]L&:;9H+ MT?.O083^=!L>#Q'0R3'Z'LI<#"C9/I"QNUEW4$6B&9YR10\&V\FUW@<9>*<3 RC&+OHN1 *8\(E>I*7'+Q+LQP]0N> M1EQ.&%=%RQB(WI) >4<"P3H6/'!:,-XJZ]VWG)('GCVZZ@_5UF(XT8VM^;/5!U31T;WB&J+UQ-MKD M8Z.4VYN$=.*;[JG8.XFU!TBYB\N""PY^)DG=U^_@Q1]I=E:/@&J_6?HWOP]_ M3+0T3J&3==2UJ(VG)00F%62)K%1Q\="D=^H>M(Z+ML/@<3_6FFFJ"SA>-3]X MMEAM7(&+"7A?16@5,R:D!"C3IOE!(>?.(3"'-F:AF=--NH=_D[).-K]A#-NP M>N@"6I63UZ4.7+CN8KY;S/+$%LVLS1IXU@X4+QG(M41((I+?4.NTL-&MZ$,D MC6NW!M;^G9N&0131A9-U'E^K#7W!.0IL14R?Y=#J?5D&MIY_QDB]% MF[FVA8.QD=5[7TT^A27F5([>")6$:N+8;T?>N-F0;?'60$$=&+7;HIJD& N7 MY#A8FN+?0.ZBLNY+.^>W@J\5J M->',E$RR (R26%"<0TT$KMV!)%KC>>1-TH+NH:63G.R!??,]9=T!7+Y.?#WG MX>6<[!?]9**%L#9X"\68.ILSUHRX4#L/BZ2P2)':S(9ZB*!.DJV' F\S-BZFL2U4]8%DL\_]S[\ >N?IG.%\OI^LOE(J+-^^93 MSLN6?\'UQT6^-N%Z0@&M0I8#@4?7FGF2?R@8H'!'_]"R$VVN:X[(8RRR9(5N"M0+ Y,.6#,:)-AZD;5'22 MXCT,4/:7;P>6Y;)3T645UD]A-4T3)Z4LM=BODEO3T"T$9R(HK0)':;1S3:*# M>ZD9=Y#LP& Y7-X=>'&WF7@^G9VM,4^8%2ZB5;5U;.UM1;Q$CAPRXTF@"L+( M)EG;#] S\N38QLC91^@=8.>O./WPD>@^H2TN?,!?SVIRV.MRIQ3F?&$H[K5( MUD$)J0X")+[JI%U00DH6?(HV-C%$.U&Y'2JI-.P7UB[Z+M72W'DLG)7,] MY..;3@O">PC)&LC::72>4_3=Y&AU1SJW0^!3R8EHJ:2G6C1W3ZNZ&QP-5#SW M4$>\UD5TWV)O^.9ECW370VNS$6B!I4AXTD9"R"D"+YQ[69+-C?-\'Z-NX$*[ M4(*5)1@(&#EYGD5#3)E"6N:]-HE[9]ORVD&AW?"H^$;9W2Y"[V#3O*+^7"+/ M%J>?%O.Z;C<%149Z+EG*4-MW$#.I%@TPA.10>E=4<*Q-6L1C5'4"J#W4_1!R M#I9]!T"ZQ<-%U8F/F1G!?26=',=",HJ)0AFB,<48/*I(;J9(4,XJO-O*UN1),5X]L(5EW(3M^=1JL9-&1T> M0\.IH ,\W6[M?\&%([FPVK_?U>ZQ2M"J\(&V>EM0%<]5B&U.RN\G9]STJ^$1 M-(#0.X#./<ZN3^?KM)LL3I;7LN$]=Q$Q:,#YF/:=/^O7<@$<*Y< M5,88)9O,KMZ9TD[;N8S7Y> M+'\/RSQ)M2&1B@9$4 A*Z@ AB A2"&>2+%8UZT6U"YUC@[ I:NYFKS1380<( MO7L)((5#HXT%QD2M^"V"W$EN0"J;./F2V;Z/H M$RZGBWI[L%P/M^V>]_9\?K8D-MZ:7KS]M%NR+/W"9IBO,$\^LBP8= M&$/.BF*"U^HV"]%K1AN'-J5-Q>'NI([KWAT5C6W5V$4JWZ,\;C+%)Q)KRQ5- M2]!K6H*6U50BH4&6F)-@UF0?C@[-#6GC!J?=0'%W-76SW]9C')+/^_!';8A1 M14>\T0\N,]GJ_>YI39;=:'7"='$%,](>D!GYV,Y!K"<\/-$/8TS2-BJ8W8/8 M<>N/CK]K-U3E[G#UYW"=XX>:%_!^V(#ZH77X*_Z^^=5JHG72TI%WK9PAYHI& M",(DXC"7(C$IWJ86;CORQJUFZL9L[J>N;DSG=2]9&!5$(3_#HS,U-PK!%:)LU0^&\;S,^=:]0I5GYT+BARBY*.#!4>3'/PYFS6[,Z>9#&(H?B2R8/UA<( ML4A0RF3)M6")M3-=NT].;5;[0DE6@0I"U%$:#H/5E C.8 MM^K.O<.B;4NX)(%Q'XUA*YXT-?/X+XIG0FHECN'0J(@=5NN<&# M5S:!52X&XZWD;4Z8CL3?N#5=72ZA(P*F!Z_X?E]_8Q7N/ZR347%GZ8Z4CEQVUD'$-I 6>S/X;W&V.9]8;'MJ4MM'"5J* MP%TMB#8YABQ9UDUNKO>(.5NAJ;72'XTZ=Y%_!P<6-TYB MZH7V/$UG>(.E]XM=I>G09.]JFXKHR5?P)8!#5B SIQB+C"71Q&UMPG>:GE\UYFQLE.A!ACI>640'KF:K*NEXDEO[:RX*":G.L%V?G"Z6Z^G?S]FQ"2W:7(>^HSUO M<^<2+>80BR4.I4W"?BL.V>I-X]JU;C UO%:Z,&%_"=-Y%>+K^;LPP]>%Q$B" M6W]Y,POGW>-6+'8# MT88Z/?0>=[@*G;LY/AB9Y3X)D+(VY1=90$P%P/6,G:'R2&UV,4F??<._NN@X/-\G:^=NK,IQII(+K(A MW@(RB,0<&)XP:)]UBJD%0K[ VDBW76SP=WD[26EQMDDZ3SC]O.E[ MZ+4L4L92[Q4*23#6B=;2@Y;,6FG0QG2D!FIWB>NMG]4PT/@F @_44J\ M1E5O3:F.A+9]]=(IS-XL\5.8YN<7%%V<"YS,\Z; 8&/)5Q.G24;1&B@"28(J M:7#!$5PH2"/#3M$8/Y+1VX;(4> M%)<9O+$",+C,&+0UULKJR,A\F!-]5-(]W (]B9\V<1?.2&::",% M7"& LA+!1?HB,?&@ Y?1-\DL^R9EO?6^.G*(O(]^.CV;>7'Z:;;X@GC1$.#5 M-,3I;'/0->&H%=:T)F&4!(4A@R/?%S 'AHP<$Z^:C(+=A.E,="8@#::U3 M3)X[%RDMSVZR%ETL13M#K-4I.)PI\%9Y8"EGGF2MB&AR/[TUA;TU>3KFGGR@ MOGJ&XJ^+>3I;5A5>*2BP:%TUH6MO*SU?K\X2?_G;+K$&]G$)_/\-:$XIQQTM BAWCPH"YPD,^4-:2VT0FR3M[$!CE[6#S7#92'<=A#UWEMPF MHKN>SYF"0&D416^J5J'98NI(Y P&/?TX>!-,DT+_;U+6I1MY---XD)ZZM(B_ MA/79LC9\F>=GB]D,SV>9OB[7F50^6%V[7BDIZ0NYQ;3.4@#&'.T#'"EZ:Q+< M[$'KN"D6(UO(H779@:7<7J(3I;241CO@3"90R!5$K0)%7(+]8*E,&:24+;0(P%E;3&S;/EA/W4'OLLW?RSK))LS>G,79-+TN1%F=TZ<%FJ*8)P^Y]K>OGHAG M(D-@,96 D07=I@_CMA1V&6,? XK#Z:T#O_'1UI-9%\9+*2!2)G_#JNK61 TH M'3/J9K ;2CM=A-07U12;IB]O:+&DZ:?:>OZZLT\>0&^J C"2H_%&ZZS;[FC-AF+UJR\8*3=MJE6^RD\V%ZZD^B3C0XM M)%[/MT+P%&+1%\F$Q.BT9G;D8YEQ2Q&.#-1&FNO@R+"R5?]?MX7/87:^&DEB MTT30K[\XF>>;/[CVR?,Y<7>S[=+LK*[?%W^DCV'^ =_2,GI!X1HI0:MB-,FSS.]N!MYFEW"MY=-#GH!+ #FJJ>??HTVX@RS"Y% M^7)>%LO396U+[:6P 91/&E3A 2@ CL Y$ZKH4*)J,ZAE._K&]:>;P;&% M=CHXCW@YIV?1*JIS/"DXF/AL D>KH126*"!E"H)B]$=C1; \2!)2F_*?&W2, M/-NFA:[OE/;L+_@N<%,;'[X/?^"JL8ZL\W5X72UE,QI0$)]2LZ)MHP![.P)'SN(Y M*:J*H+"&Y\QUL>X\GZ M65@NOU $_[_"[ PGC"?MK%<4M&/-F"-3''Q6D*.SR6ONDFIVP/--ZL;M6M'4 MY1]6,QW [4[0) )@G$2DLG66VV32DUR);Y%V+C-*)J! M;%!]=("OP^)D7;)RF2.8Y HH'F@QY>)H@S",%YXDL?PT3SS:=:7H],AC%U4. M=LP\[+#?Y[A*R^DF5W-1?CI;3>>XVFNN[_T/&F*$[Q8D#C2M]_7R0YA?C+/Z M.B^X@GR>WUPC_W6YN+X+LZ^CA*_P*#ASS+EZ;Q=M;36OP!E&((D$":,E]VWR MX@>A_N"+ZEJN@Z_+15<"(F,2A+2I($+1*$'1F@ 7R'M0G&LMG:78J6WVLAGN,Z3&?#V;++YS4S:?<2W)5EHYTT$RH2:&EH MOS/<0"PL *>P0!DI)>'GN[5L[])'S&>U9+O6(8:XJ$OH,YXLE_7R^?Q5\UP[ M6#WPZ_?TW2JEP1D+&;*"*3UYTEQ$ ;58X& M@C3UR$K8(HSU/&_3BYF>?PW8]*?;H'Z(@)$O-$8&Q&) [8R,KK?XZ6R9/H85 MGGQ8XD8XMUEZOC@-T_G$V:*S$^3,<,]!H; 0""W LHU6IF*+:>IC![MB &+WCQVKLHR:%,8E,2B=-(*8_16T/G&B\:Y MA3T2:H84D7:ST:$6TIY+2P.CR;8C;P"@V(D+2R64K!F[3POD'%N*'% MZ)BX6R>XIX+&WKV?/?]/P[FZH#PH'FN;>["U.Y!2WH'SP@%3-?=:8"G%;;57 MWWCLN%@Y0#>+0035@0%Y3Y][7:Z9Z WB*=+QCJE43\_):=#:0^"&8!^CY=IR M+&WZ)=Q+S8?KJP/0W15>N%]>%VM*QB(U"QP,,[5!1.U9+[@!9"PY MR\D$WXXQAX'CCG2.:\T&0,;B>&KJ (4/K>?+P,FE6)C+$+.DB"PG"IP2"9+G MG OFA)(UL8&/DS4NQIHBXK9W/YQZ.@;;#IO'J^D<7Z[Q=#7A+%#8+C:C>S/% M]#R#*]F I5 ?A8Y,RC8![8!,C%S+V]>N/AHZQ@XRWN)GG)_5N=2+#[4+V6+^ MRW2&J_5BCA=-+"A .YNO)UH4(5,PX+)19$EW%XT;F?0"RI:YZQ^%) MSILE>(T]JU3T7BI(I;;I*87DZ)D'(1(W7F<1BQD$BG??/:Y'^330>*#&.@BD MKC?>^\KM8EG'LZ82E32@T#MR0B(Q(F4D@Y\=>2&>Q?;M$&]0-&X;E]$!.:S& M!H/>L-G5/X75=+4HUQ,IPSR_.SL]#*'O[[FNNDE:E81PE1_"FYCX(4X ,70"9LC3@66(8JB0/#@8\;:1;1) MB=UVY'5K#'?!RVUCV$ S74P]^6V%K\N+U7IZ&M9UDC2B1,3:-(F_$-;J MZ^]/9K/%[W58P<^+Y?/%65R7L]GEI\Z7R\1Q*W6@L%S9.A:]1 :>9P'&DEOF':5TOJQ6N5Y>_NE@A MPM>Y+.@#; M59O,VWR@M.BT1+ IQUI7+X"\60/<*UM"*,64)@VO'B)HW';)S3;+ :3? 8I^ MQ=^O26BYF-.WZ?Q2Y_Y54N=[:^8H;*H-,%6.NLY93F 84YD7:5 T0=>NA([; M0+(1ZIIJZ[L\&SZ@*]$0KQW[9+AECZ-',)Z>\375%LX/A1U;>Z^6SS3R2*O$C)0_"TA249A4ZV;B,P$ M$%YRZT/V!9M441Y$=;?'R+N@:P<+.K >.]C(=UKF3.$!.+4%!+%ZR-TC0Y:GZ4JK&'N!\-';=#E,%4U0/NSFF_[$.!Y/C& MS,%%[BET%QD6FFS\M ML!?SOW\YO>I'DRTK7I XE"^)Q!'JO%O%0)L<@G(80Y;?\MT>?((GS:M9B[94"9ZM%I!O"\C9(MUUU MSL/O&+GSR3 X&$B$'>P:^VZ^KZY22J.5SO*8P:-QH(*Q0,%T >$\F=#,&?HF M]T0'4SXN$L?S>HZK\AXP?I$T?W44_=M\NEY-.&IK,D^ G,(:Y5CE@A4@N)E$ M9-23FB; O9>^&!\WN6=<$[27$CH STW367V#RRAWXE'($HD) M&QEYHM+78NYJ0X/,1AJI19OSX(=)&C>#IZ<];F]%=5H^=;><>Y_+GWN>,L1= MSK>(&^AJYN(UY^5Q\\VI^5^GZX_/SE;KQ2DNKT[2"3=89+2042*H% H0=C1$ MGHLA,IPM3>H;MZ3O\)S91U]S[9J41YNB(/<.):TF40>B*;1@R<0:3*48UN1^ M9EL"Q_7(6Z#I;N)K U4]&0NUB:3WNJ1^\%EMK-5]A![99FET:%GMI6\R?>&* M]D#A&?"BG4X&'6--7-,CV:SGTU7X\&&)'RXFJ%R\=B/XKZO I9R8JV,$0JHU M?ZI 3++>(.0HM./.M"E VHJZIV&M=L'1;6LUO)(Z\-_OE5;-RCV9YU?3$*>S MZ?K++1:-29S56W@A:EIN1F(VD]TW(J)(RN;"FU0%[T'KN(<3QT!E:P5V@-&K M':E>FM3(Z.LMV.LXFYZOQSK/NXX/?3\]I8^\+N_HIZMRWH#B%OO629^18FIK M70**MC,XS3PP%WA.VB;7YN!U8#[&/2XY!K;'5/R3<2-O;DN+RVWI@!S(G=_1 MQNW'R/J:3B?NZ!F%^=S)Y5TL)\_GA@E.8H@30;A$L7Z M/D8(M1.NR)E9+E3QH1QR%?T%][G%YPL+I80X( SK6RH&.=RV4M Q\S?2%Y2*4X9V&;4MA=P'*7 MBO'FUQZNV+LH.5#*8[L4%UR\"[.K=/Q@O,RU%S+'K$@@N@I$9K N>U42#\*) MK3:6N\\>7?6':FLQG.C&UOQ;$GZH6,]M(G )5=UX(_=.&3@I&/GN"3*KP;G9<8I//,@HN6@8O2UO5&"Y(MBV55);7.8NA5(;KYZ1&0,H\?% M($+MX%STQ2\O3BYC=9X#8T6 T8P,J-2.]LMZ"E!"\ISLJ2E-,C>^DC">BS(L M+ X4[MB>Z\F;DV>79#N33*WB8[K>2D7N(""7D(NCH(Z%Y&[W\W[ 0?WZS'&< MB>&5?(BH.ECX#WA5KZ[J"930Q6B4M%-FBMN#CA B^5@^)4*O(\]*-6GK]2W" MQJW3:';;-J@^.L#7-^Z]7_R19F=Y.O]0T]'HW_P^_#$)03O!/&V;R:OSO=,+ MIR%+8;27D0D=1LB2T*2:#B3)QB%@=9Y,2.!8MI,0%9PFY$DV:X!XI;>K!5-R_+!>KU;.S M95WW$\6)>1,""'2!UA%M'IY+!S(9)DR0O-@FF^Y6U#V-1*I=<+1UOO3>2NI@ M)_YM'J>S&>9KDP0N.9%2(;*BP"@4H(HK$ QYKZA1L" L$C,MX/8P24\C)_\0 MC VDC@Z ]2Q\FJ[#;/IWS)?2>K98K7_%]25#:!*/*B:PK/ Z@)&!4QB@<.5# MXK*4U*2AX#QKI\0>9LD&5TP/:[I'450W+I'#)C?0U>U]3!,^YAU!H$:&P MT5A;DLI-&CT]2M6XH>I8&^9^2NFVU_0]):_D&9^%V:"1P*UG-JK5?83P(WO[ M0M6TLI2AY*#J !E7$\,$6"EBL/2_T&:JV=C>_C."]73]BKS)6IHT7^&$.);9 M%PF8U,;Z[<[DL4] =+(YDT,60V2@F*,MV20!@2L7E,E*JR;% M+2/:Q"M?X;+%T?OI*99E.,5[RSG/RS>G-7BZI77"[DP-Y5%#T'N(\.SL]FQ&KG_%96*>/OWTZR?]U M=CZ=[_WB@O5+@5W.-'U=WB_#?'5>[_QF.4TX<2PX;5%"5LJ#4N3R!QL\((L^ MBQ*9VRKI8^!U,@AO3^3LJ-EJ.3Y QLY4N)3'[_?)8]-2C\1!FS^N=K$<]5>3 M&$00V7KP,IO:]XZ#%ZPF\_ <:R(/4]N5_[2C\8D<8NV!]YZ4V_N^<'?7TTEP MR9."I$)MV:@0//<)?(DR6H:&XI2CF_C]?)OQ#\=:6>O#U+8_*!?K,#MB9'GO MTAPTHGST#6TBR>V9.G8$&8J.-A \M29_MZ0 L?:4T"QIVM=+4MCD/N^XW3M? M5BV$V% M&)4&X00BQY*BVF:[;EMAW!I@1U'^MVJ0=]%$'TBZIZ;.%.T2J@A1U>DKSO": MAUR[33+F1\MA1\CV%M"48)K@P(+V3%.370EJ& M% 5))3";X+/SWW+%GE -\D[:^D8-\BZB&UOSVY3)2FZKD93$C_;GM0\QHZ> MIU@O),HBMIL!\T1KD/?&QM#"[>"@X>">FN_68;E^'M;G9M?(E%2V 7(]85%U ME42C/)"T11"8JG :.MP#L='%L?(Q_:,.T-#/6MA=\*^NJC"XTIS"'PD)O09E MN =OR 1P7>IFH9AC35([#B>]BZ/E$3%_+*WW@_/'5SDMWIQ*%AIDL Y4+*I. M(T7(3"LO99$YMYRQ\#AU3S2"W1,R^UCIG?3W5$#YV-9S+GL^L3I80?\#:VM7 M.X:,;$'-#W/D]R7'M31-QF(,Q< 3=3Z.".VA4?!DDO8>NX68W*H3:7&Y,N$C M7*_<9NSJ@N7'/>7Z*ZZG<_H3Q6^KU2=W+KN5_' M0.2 NFH5G$ED((20X*1 8#GK9*QGH4T%YH,4C>O<#(*(.WU1!I%^IX;ZWM6Z M_SBWQQ[7S+@T'.KV(* XUHP<+\%C=.;]G9JG7=!TIX']$33708SUE1A\QVMM"$7#GHS@W@S-H#9##8S:VOKLRB:M! ;GI5QXZ[&L!Y% MW]T6>-Z[ ][F^8"4M9V>WVQ+WXJAUGN\,5AG0'! 7?NL)4Q0QY8#_:F.@>,< M)+TRXVD:X7@Q.G(8U$<>,(""F6==BPX"&E$"=FGF)ITL+E!1:?[ M\2Z:OS.=?F\ICSI2XI+\O^+TPT?R%D[HH>$#_GI6;X9?EXU\5J_/UJMUF-=^ M6A=.Q?/I*M'"/5N>'Z!=2;#PJ+P4=7:&J?T% Z]G6 R"Y#RHE$/B30IWAB&_ MT_WT$%B.H-<.O,9MN=ZXRA.A7!)):.#*DX.@LX=@6(+"M421HG.LR6G*3E2. M:S+'@-&>2-Y=I[T"]D*8=SC\6C(WR3I(;XH'&W@&90760G\-CCSP8+WF(C>) MP_>D=UP#VRN(!]9SKW!^71YB="(53S$P <97]DP*$#QF<(G'1-N,FG/0*WX'T.EBUV' AX?E6@ED(4]TOCII\>:80@HX:BK$1@T.3V5&NE;9W M YI!L(F+>KC4.[!X=TXNSI?$Q ?NH@D*@C/$AL@1O&,:T!L3A'>"%MTQP'-! MS[CUK$>!SSZ2?TJW=/5<]/F=<]&AC_X>?TNS \ =F&M]#*A5,D(I1GM7[4Z> M48,GV$"PI5 ,X;D,3RJ;8+B3]4W^JE))(G,%$@^>/%+Z0EMZA"R,8Y'G[-JT M,AJ6C4X/(G?!7KL;E)WUW,$^?"#//WVY_P&;VH @G,14: L)) _E WFSZ!3X M9"T6G2R+3=*+&_(T\H#O$:&ZZ!,WW2ZA7\,I7A2CJ6 P&5GGT6%-(1 6@B@& M2K:1,8M9^GB\=?"5L''!W V"MD+VGNKL )[OUHOTMRI*G*_.T[QG87Y1R2B2 M-XP9#H+7JWY7D)CB G)1K'#)O+X]"6P@I^1AFGH$Y;[*O^UI#*2)#D!UX.)] M=55)H#DW6CA?NR*)VLPQ0:#7D62S84YKI=M$#4,Q,.X)_??C$.R'B*>_$DY. M%V?S]<1Q6\B 6"@: ZB:>.6],\"D4\A3B<4379KX V+_CU0T.D1 MW+/%C!;)8KDI(#M9+FMGTGHCM]=)V\,/&^) ;4M2!^OV=MY8XN1&8XFO)QB) M*<5UG3Q5,BBA(I"Q);=5F.!-%"*T.?=^G*S#>US>+^*O=VU?TTX]N3]>108F MVES;^=!"##Z "#$I$D'@NUI'+LD>3 $W6UJV49/3\U(_>7=_R2??%T+ M%=]C^CA?S!8?OFP*8(GV:W]K,0_S_&J:ZO"(DP]+/!?6_E<*;0EJ:BR'%]EQ M#"XKPDFE:X8((QBCBQ 2;;@BR6@U+2343;*6VQKS%1S"-*\E$H-,5$P6EH(JCA6>G:?.^"QX>O,$;1^LA= M$Y]5WQF7I(7UEWI2LSD!%%$:R:R'( LC%YZ"6I=JFP#40INB)=]J2.%6#1/O M(Z"7BX)Q +$84#LCH^LM?CJK_>"N[5JW6;HX&BP^*&8W=2VIFJ\QHV'*W[16@MC=W(DW^GB^%?QP(HO!K+/=:AB/6#6 M40)CW$B7M,,DON5$WGSD>(IOI*O%P8(;VY)4X[I9!=ZHE *%:NBBHC'>RHC;7(QO9RDNW]K+2?7H.])^>N@!/!>8CXP)Z;P"9BC(5Q8M!,X2 MH=\;H7DH26S3\GY[^(QN4?;3V&V=[R&^D;7^RW0^/3T[O2!0NQC&,#-GOHV/?')>DJ6LX%H;*U(T9H" M>R6!1YYM3%(AWMJ=&@\<./8PBEWTN>O @5V$VT%*S #&^=555D8.G$+X3<,M MJ4BPWM2*K)-=\) MIY\WLDW!9N4=@F:UWIAQ"TY:"E64U%QXJY3F6UK2;=XW[D7%>&!8M-5,%V9X MITFE1261LR@@ VI03G@(C$)D3$4E",EZNQ/1=/LG(&$);*3F[:&?LN]#M$PP" M6D&D S%'$B*W"AQR#0)E"M(8&[;**?^N4W)V4OQ^*3D[:&'L('WC,%T"=9Y"R$]:Q)+S3WW(8;S_T2:3E[**OQ0#"ZR!8?D^?>UVN MF=O-VI!%6>Z%@XB9)!&=AVCK4LG%<^^$3EMED>[L:-U+S7>7P+//_C6$F,A$AE.HL:%4@,C10O!#&&_0*Y5:;X[X4C%QUW!(3 MBV,KJ(]DA)MW[JP(BZ$6Q!!!H$+0X)QW8)C)Z$4R8:NN.?],=3DT7#Q8.WV@ MZYY+^V08ER@-!%Z'EW/%( 9:,8YI16N$]HM_O%27G12[5:K++E(>>SO<)AO# M)R4C65;0*7J*;(($S[*$+!@R9BR7R6^U\SW15)>=]+EKJLLNPAT;+!<;[\]X M1;Q7DC-#F[QUM,E+Y+3EE@B<^^!L*,G*[9!Q^\GCI> V@,%!8NL@:AOT$M@C M&JX%N66R;LK!+.)8O*: ME8 FUR/"7&=V;:EWS=88M[3R'3:!W>M--.[F9PHKA./WH,HY/>J M$AV$O"D]D-$YY4K$)B.J'J5JW,.0T<$XO.:>9);=N^DZ?)A-/]$*?!;68?9E MM7YW]NG3[$O[U+KM7]T^GVY/,1PGB2ZQ$*W0$0391P(AQHH_"5$[Q7Q6(9M_ M)M%MFMU&ZXH2"8KRB38-,@;1*$2=*6)G;V'RR);A<\'B&);A>M]YA$ MAXX7F3=ER])=3'[R$2$FC-ZDS"3^LZ]5,T!\*XEN%^T\F20ZK9&A)C^F%*U ML4!N38P"O+$\E&"CLH/E;3[5)+J=%+]7$MTN6A@[H+Z>!U:02X;D7R?CR/YK M4\!;3YM 8LH$IKEEV^4)/+$DNIWT]5 2W2["ZR"PO3_U!J/,L6 !GC)96*(= M8K$.F//,8BG.;'7+^L\DNL'VK^'TU0'H=LW$*1:5=K6$/C"L)_RFUBY[6F), MFJ31YM2DG^UWD$2W$S(.3*+;14UC[W>WHO\+#J27)1"YX)EDH'RN5Z76@K E M2X[:B]L'>0_L?/<^_FFEO^VDS<6@HNTC^^AFDHWU/(24!1GM>@9IG(8HBB(F M7#8\&!G$8 T@_R%RV_:-X@[63A_HNB<]0SHT17H!"6UE(B7P/EDP17/'74D1 M[3]:;MM.BMTJMVT7*8^]2UUP\2[,\-(LHP_:YY ?:D#OPI"\.B@2!LS&6E+ M)GNK+>KNLT=7_:':6@PGN@Z\Y$&OT&(.C$7C02I5B/=L:3=7#HAO:3R7U>K^ M,VGI"6R!HZ-C;)OX'I>GMW3PP'W&I0R MVR[)<_=W?T>I2#N!9'$\C>T-R,^XC(LA('DO:^%^UEY_VM0 S5[4J^55G2B+ MR^DB3X)W%!@% ]J0!2#+8,&A5F"]8&@H!N,J;X71 8CYCO*8]@;ML77:A<.Q M4[Y@]$[$0JY9U*SF@#L#/C -Q2<6BBK$7I.TA0:YH$\C#6H?+!]!MT\M+^K% M_.]?3O$(65"/OJAISM/V+!XIPTGK7 (%<$77-HS:4Q1?IT$P3(%@1FYNW.9D MXQ\@PREYYHRV((,*-1_1DZ X@F%:(F&.R[S-Q?T_,YR&P^,Q,IQVT'H'?L+] M-TTYU=U)DR05*W5. WW'4@(4 3DF6YCNK/'*D\IYV@4B6]T9[Z*O#D"WZ_55 MSEQQ#!&"(H])R83@"43):@T4WL5]'/[!_4IE;!^S"HZ&CBY7Q6!&6U.2. M)X,$2=IT%$LUTR0P"#9XFYAC9$>.?I#T'1W<[P26G_?N#0N,6)T[%H;GIX-8K@CW,.QE7->3.U MQ%Z1?Y04.30ZL3J3A+.LF/%VFP9IW_\YF--6Z5J2X8+$:EA(1B5KD+3!"LZT MU:R)]_,/=@ZV"QZ/< ZVB]9[K/137K/L-04H=>20DH4"(:_JC"U%D8]#)W"P M:;__$)5^.P'B6Y5^NVCGZ53ZB9Q+= $2>7B@K+'@#48@A\\5%$D8QX:"W%.M M]-M)\?M5^NV@A;%/L7[%U1K3JW7^<_UNAO\#PVS]\5V:XCQ=I4KF:+(/HD"2 MQ(9*)+*88@2?;-)U/":_WPCGPZ?I.LQJIL"S MQ6J]>EU^FW]:+CYC?K-HJK%W^DV1DYU#^3P$].%_2SOV]4^M.7B\]\ M>;VD[_X+TT6W[Y@4LTR"$9K5I@.>!!P,T.IDM82I>-/D^J@!+]_=L=<^VW O M6.E@N5R0?K'6G4L^9RV@?B5+(CT0V0Y01"M-R;Z8;7;LG8%^@XJ13[?&QL1B M* 6-O9EO?U9RP9P5.6FI-#!'6Y@*SD*T(D!@(H48I$YJN]K^7=\\+N(.T/#B M6.(>&TO/GO^GX5Q=4*Y,L(7^#-GGVL<@2'"I<&!&6UL$XRYNYP'>>.RX6^- M*-A?4!UL1@^<"'W=_B]/_-\OWN"RSB#]>;%\O?Y(!/STI>8+G)>5,V%1(;G# M,M<4 5; >6' H"\6HTE8MJF&'>H@\R7:(+( C+P129BD(+J+")LV0!Z&^RW/IEJ@;#O=[0F#L_?V7Z0Q7Z\4< M7\\OV_BSFM ER#TIJAA0GGB@O4N"""5GFT50MX=M/M3IZR690K5-,=AV]Q"7;_WN"L+WO>_: M3P\]@.?2.G)A(PH$G27%R3S5U@P4D'GE"?!.Q!R':UCY];TCWCSLI[';.M]# M?"-K_9?PQ_3T[/22<%11&NE 2$/,!R/!QTP6-!/?)G+OS&!=E6Z\>63-[Z.W MQ1!"'-NUN#H@NW+BE57&O96.]7>^ M/0P@]:XP<^%P<70&,9-KQ%P$I3.1+KV%9+/+@AF&1NR.FC%#XR$4]:#.]Y#: MV%K_1L^%"]MG2F'6L0SD@!-'K!22C$,P@GNNM,XH^%8XV.IUO2!C'W5^>ZSC M(;(=&RV;/E\_A17FJXCJ@@M.>DY2!,"4.-!B$A "3^"Y2]E9K_/MG-N'ZK,> M>L4X >SPJ!A&AAT<[]Y?UDCV4BE?% B>:WMO5LC'#@QR-$98%A%3DR8$^QI@+CH)W(90ZS\>[ DIF"A=%$:"C5<4Y9K/9+N#:ZG5/JX!Y)VTO MFHJ^ Y,V[! _IDHHM"T4:QDMVCI\6C)%CD2@M6P#:O%]=""U_R"[]FCHZ&)E M/%866UCM2YWKNJZ3=+-TQ$SRX+7*P1;:G\H_"YJ/!9:="IIWT5SO,+S;U<\+ MC*XD 0(=R2UR XZD!SE'41N[<-/&Y6S0L?%I=!]M!M3#=-L[F! 94*#Z:C,JVZ?S4CJ7OJ(=ILQ5Q/,R,'>5M.6%=%:&YYA1KR!IK MZ/_+WILVMY$C:Z._*.-B7SZZM[D=T=UVV#WSQOM)D0 2-N_(H@\I><;GU]\$ MM5HKBRRPBNH^$\NX!M-4\?6NN>%PY@>G7>V?&77QCF[L'V8OC= /$2WUO MAFAGZI3@K?MQA*AL"=J!-%&""<0KV-8 PB:.Y:ID-VF;3FJONN_-(,7OU/=F MB!:FCF3>+5?L^%[76*#-MAB"4MM\*18&Q"*9\%JE+%ZH@MN5L]Q]ZC'TL1FD ML>48XIO!8>,XU8:E#7#*.H"5Q$Y#5 @ALR1]2B&FI+-,0P%"R[#FCAI)E=;8:7;>:4?QWS?-!4->EYGD( M!*;>]!\IQ"T4@XF80)LV!3BG +'- ]:5([^<&7_WQ];]I6J>!VGWA9KG(:*> M#5)N"W%U,EA"*:"#;_GOP4/PP8*20FL1L[56#$/*JZIYWA\INXEZ/DAAI=] MW157O5)@ Q$8(R,DE1PHIZ/$['6\/[CM1:SX??FDQ/DF?9:=Z K&IMFV/S;WW5X$K1NK3B?KEM\>EN M%+RB5,E=H'@X[?K M./(21X3?WIJ9^[;\,/G8&B431H)*O)FR+R\@B=;KC"U]9I\<3>S2T[I#8OEQ MI"AVV[CWT^VQ)8J].\7S%K#^2?G3V?)T^?';1MQ,^",MG7NDC>U$0-^44C9$"U-'Y7\LOS+UB^OF$:J2UD'J9O/;&7!!2-2^E5I+4:-T M:;O[PN^?>PQI98.TMAQ'A#,(D\=)Z1!9!D$I0K"N@B%/$ IFR$$%YY656.:6 M4_.*$\MVV2BGP\-Q+X([]\,Z>$9IEA WHXB]T= *T:!6XTLB'XH]Y&CLOUYB MV2#4=4DL&P*!J;?^Q[*=JJ\R: E!\/9G CE(MAV469M+4-+KO%U?K=>96#9( MNR\EE@T0]6R0RE+)],341-8^\7ZW__\.T'.LN?/N/JWQLK+3'76C:#CEP;&G%+0-CH-3J0V@#T59DQRWY2GOA@ M]]UJ62[R^=O5!UI]7>2K\\F@O6]Y9D(+EDU%"Z@XIL%V,.FSUQBV2438Z@SW M,0)>W42J7:\-]M;./-#5Y'7%P?HZD=VP_YB"!*ML:Q56(Z2:%$A>>R+IY.+] MI+^](?:0BNG.A/=7[$.4["GE&7A([Y??\/3\V_4I=C$%L42(17'0$64!-#9! M*E&3%DZ'5'JX0]]1,3E$]M7J_3.FG44\ WR,FOR5BXP%/5OB=L]B6K_/I)&@ M\ 9-)1CG[M>E'6D!R#'-YMHO7IP('5/[_7_2ZO,]'3QQA'1]_W@2)3HG>+E+ MK3.S9R1$81!\B"2%3I'YVRH.&/[NJ>."J4"R/)S&=@;D5UJEY6&:NVL1F.8* M4J@F.F(ADHPLO8KV=Y1;AN##I7 M%0:VX[4UD*4"08H(-:24I:P&\W:76+N\_16594,"2< M,(P31DT;&HC90N2]&9)P)F=K2=Z_0/J+%@Q)(YVDRO&:\*$->\T0%&GP1*D& MI85+72JK_FH%0P/P>(@>U .T/L>"(7)"4$J!Z6\CBD4H@"$:$-4FXZ@*@=N@ M]N^"H9T \5+!T!#M'$W!D,U9&",4)"G:'83C%9RE@$#&$T:L\7X$]-\GK]&;4+%9L>3^8'?NSI1T0Z"(@*LQ9.R^0MFP><_O08R@5 M&J2OY0C"FT$8.U+KUUJR)$S@3&VM7[V#2/Q/2BB3J#5&<#CN17 G.=QZASE)"5%;8K>9#4D((4(Q(9+3R56E9[8(7E>=T"#4=:D3&@*! MJ7?\1XI7@M9.6,^4>U'8)5(%HDL9*N]9$G/$A&ZKC?]UU@D-TNX+=4)#1#T; MI-P6KP2'%D6Q@!*QG:ZR*"@BJ$)&&J.#*W_E!M3[(V4W4<]@+QWU$#\E3R*; MS72@"L9$7B7$'K7TRL6L11#W)\4>:3[9,=4?[>->3H:.J6WH[KU :[4>JP-* MD:5=383H?>OA7&112; .=LVC&+&3ZW'DE@T"S#B=7 =H;Q;&>]#%)SO374%):B2E4 QM8..Q#[U5@C*"M=Q*@YZO_[?KQY9J)JSR8B0RZB]:BR M%4)6FH/*FI0NH6T]?]^/[WT_/@2/![@?'Z+U.=Z/^UJU-$RUJ%0NA\$&$WF/ M2YDYHJJ5V<:+^/M^?"= O'0_/D0[1W,_KCT*[V3KS:/:^#?VH[ 2098Y2!F= M1#U:I>RQWH\/4OQ.]^-#M#!U_/XG_IL*OON$J\^8Z>)\D?'TQ^5OY^7JE,YG MV3J-9G:2-;O+L6+K>,_><]#H58A9J>W"]!=>= SWZ(/TNNPDY!E$T^/<:EGC MC4&=(%N6)OPD"'@7^]N?1#J^MRM#X# U-["/[_\LF*>KDZ!KSL8 M:1:AB(RQ(MFA2E@A>H&M+ 5-2%*&LEV?J,>>?K08VU7#RS'%/35>'I??>UI\ M3A?\@CM<%1FL4-JT.V"6D?:RU1H%\)D_3DZ1T6HK$&W]RE=Q'[\KLOHH9FJX MW5Q>7:T8EMR?N/I(Y_^@VP05X] MABG2.T-L;&7,P.<;]<[+U<#Q) 7($9GWHA($)0-40YF*2QP!OHZ>0L>4 [)/ M .F:Q,IYM V*%VO\I0Z4%@&=; M98#FIM[]MVP3XB)6$K9 M-F#H2(AQBK 8S*)DFI9C3LF'NW8S"0OC,G2.K#* M6-[VL=6.:@]6%VELSM+?/]+[BV8F*4*-9G,;F%A05?+FA=0J&6RU :-"EWL( MZB^6F30$CX<8]3M ZQ/GCMQRWV80M&;.YY^6Y=>SK[0^;\P]_)3H)E6B:*KL MYB-4+WE;D\9#]-8#95MLECIYW";O;JMTDGT(?7693H, MIQ VQ.C^BD^KLXL M4Q0Q6ZDAE#93 S4'$KY6$"P^I24F%4;K3/,\*=.EM1P."LLN>IGZ-.%W?E:^ M.,75F_6:/J?3!:U_/"-*LZ_Z-R^^);I ML#.F&I<]9#J#Z/\#J^+R%N44U^NW=>/#;Q8/1HD&;0%7*EW61J56O1^KB"4J M22YV26QZDJ)7EZRTR_8XKMYF ,"[]%\OS%*TL"4!!30MC["UFE4:G#6:0])F=@C&T?']\^$]A/X#"#S@59LWX3B\"4P6E9.<0* M"+&-)<--6K1T7H@N-8_/T#3Q#ZKYO=T:2_1PK76*BBB48R%8+X("\ D8O MH"0T+5=)N31:6[Z=*UV.Z1IZU_AO;^T<3:6+*U%X[0G(^\(12JD0')OTHE!: MK)J$L&-![E@K708I?J=*ER%:F'5 YS 5%I< )UKO(JL10G)LXZN@:!49?]0! M72>-;AW;#1'O#/RD]W3*#F1YUV1SQSA?#EY4RJ)#"5+(=DDM"(*1@1>5=:H( M;SGZ[7,U\B1-KV\$ZA[QW5BZFR\,KU9JUH)]0U&!%!MVHWV;?-=NGPLOTJR( MBG '!.(B<8[CD>4!2EU M,%6Y*$AOMR5N_PI_% MQC=&:1_6)%#Q!I;09S H#01I#;NRL6819%&NDZ=VJ +CHYK6NY=/=V@\'/!\2ZHZU)@/ 0"4WL5+TPV M;K.0?UG\EPHSOEZP^C=@N-KD;'72"6LA*N;.Y-@DC0FHE$2(-ML0MO(P]B#B M:!&[*UY>+BH=7WE' -(?EF<7ZW\L\?1WNO;!DG0R42%PE%JMHPD0M*O@O"E% MF';_L]T1XTZOG]H-GCLP]U38Q/M$ M'%U(!Z%HWHB"SR8F7G'>CW5%\A@!6T'.O7(7=A3MS -=35Y7'*RO ]B*F H9 M$"H4=FY:1RR4O$XP"'2R)*-'N_A]DHKIKE7V5^Q#E.PIY3D$+LMO>-K2!R_G MAD6*0;5YF]FQT59%LQ4U$B1_KZ1-J$.7"HGOJ)@<(OMJ]7Y@L+.(Y^([X;W& M(YN*NNN-UTD6A_)0$[)D7-205!"@*$OE7'1"UD&>TC,OF\8O&A\9780[!V-R M76O9)+,X^WCE'N)9IK?I=/%QHZJ?__N%\CF5/Q>?^5?>U@_\Z;I>[MT?SG%U M_A.>7QIGB5Z@=AFL;>>L[.!!=.U*NK)G9ZSB:&.;M)$=CD/&9&,KT/I7[EG- M "$S6!^C5DPK:91,'%:A:=<$0;'70EY!(5>(1)2E3T/Z@[>D"7^1M3$9.F:P M,FY+G=[^YXS*#WC:3,*'3ZS']4FP$JMT$6)I-ZT%#6"-"92W0DC# 7_ITI'F M.:)>44.:05!9=M+;##!XU?IL_>?R3?Z?B\6*-F=:MQRNV=?S%+5#T"C8@==6 M KKJ(0>+I2:I4N[BD+Q(V2OJ6[,/&L?5X/31UZ[SOKS@\*!U0ZN5F12&]Q_I M"(I7;6*(=T5O&Y)UG-9V''UI=H'CX;0W ZOY0DLR@Z%&74"[V'I!*';04Y1@ M"9WPDDBIP_=1FC8%=W)XCJ^YJ2WE8YQ\0%YM-TON1! %FZV"F&T (WT ]*Z- M1'0YD73,I-_*)K[\KFFS@2:'5P^-S,#.L>P^,]GGN+J;&_B/U7*]?OMEBK)!L*V8MN3H=52;?)>][)VJGO0.<'+B'T_0,X/S3 M!?W"*GA3*YM[/*5HB&J"J@�:S@Y29*\-+LT1OU(-)O^, ]@EZ MICT\G0TDQ]#6#$"W]^DO_\%B6>2)JMZ3$ E*R*)U!K 0K2J0:QN*6(2EK;(E M#G\S<,7 M.>>LX'U)'CXB[;T/+DWQ6X>33U/Y%&T];POO)O&GO_/V-J^LP0N MP=VC(^N3+^FJB^U8.TS/5!NDQV ,J%):NJ"V@)04I* XN*W!Z=JE^4[?GJE[ MV]/+2RP?A(V5$E0E6D,YM)!J8KNJM>*@K6J)G80S!OFSS.K>!7>C[Y;#M3O' M_C76H,)H(R#ZL&E* "'%""$D[U.M >LV.6I'.JEY"A"\U+-FB$:.IF>-(8.; M 5JZ&)8+@P.BJA9(Q6H*NEKC7[YGS2#%[]2S9H@6ICZ%?K:I2HHJ9Q8.*%7: MU.#"HE*F &:=,"J).8N7_+E7T;-FD$:W[EDS1+Q3FZ#F$%\.-T_1)^LD2-MF M7AB'$%-@R@-&[X3S),+S=;_E$*K(RH)0 MI=TN$--LO8:D0\IDI&:K.I;>OWOSQ)K?16_+,80XM?;QOW<(5T%$%;,%65IO M0)4\H%<20BTHO=#2VVT"\NVT?_?-TQ5]S0+-?6[N.TW,G30?&4GW@UK9#5'$Y+'Q]GW5I*Z^"&G FK;TL@\0 MV;T#CN-BPDHETI;=75]%*[M!6MZQE=T0D4^-I*'=U*ILV;11@7.2G3XC$-"U MD62J:"\3&JWL5G!Z1:WL=L943^'/8N,;MSHQY50M>Q):1<_Q1N(5Q7$JR&B- MH.*KCYW:>1V\?K5;MO0L/+O)4/$:UL1O-ZE"(I92.08#[71SA=@:!)8%4/.% M;"PUS31KZ[=!]:K=4KM?PUK8#0VO81U?^\(P%Z9BT/0<&R9BT\E?(V?.HKX!A*_9_[?99CRX)V_X^K?K!W> M_F[?>Y.4I8ER]54!!L-K,&&[62H.8M5*YY)1W+^'?2I$'/3>_<+@[U_%<=AM MF?.?+,,?^#?_?2)0!JU*@%"QC7+!!,RB9]?3%>7;_QFW"V>/OVZ:G:&WQK\/ M@$<7^UR-^HO+=N-,=K(\5\\^C/UYC)$)K% E78QGUPTWM3Q!ML08I\%R4*A) M8PYNRPK5@UBA1YKH\'L?KH\/GY:K3=/6.VT8-A*_72[5^H3)26AS%-@'RA:B MS 9\ZZ23*V'N*/R\]?EF?MA\MZ[[?WJ>(8 MX[V'L:1#!3"!E96)_R\XAD- 7=YM4X]G&JI38O7&E<@,CN,AAD)M"8 I62MD:@2W&;G+3AO5V>)&E"T!T M#/?;MXRCF1E@[#T[#:M%.RE[G*?'/[U.#M/,* 4'51@$XYL(;3C_YC!:G %B?VY,AC?'2%>;(*=V@^"PW;G=$-W, &%-+E>4.XJTF9*MA-.MW8!CRI6&D',J*66?0A=O[I:$ MJ6O0)D+2CCJ8N.5#&Z"T6G]:?-E8=+0B>?9:@2'._%/U@(Z#9I]D4!9+DFFT M+G??O7E:S/1SO_83\5RP<57 25(4+%5!$HJ-(GD!(6*"3(%YDE@,CC8M_-Z[ MIVL(LX?V'L/ #J*<^E[HV19HU2!1UA:"5:[5%5I(UCCP/B:AI='5;9?9-,\. ML^VC$GQ+IHMH$#53GFI4,E.]FES_ )= MTS:+F2K$WTTMLT79_3LG(1WI$BP4WX[Y-W7-2GI>E28)%Q06<4"LS>)VL L> M=KH0'**<65P(_KXX6ZX6Y]]^;3U$.9"X,?_O:)6;[C[2#]_>;:1_XM!$9VJ$ M&C<#=VH&C$H!^G;-+X54JO9 W@ :)Q[0V1%_O10U [MWIYR!I;>9)=K&HUS. MWFG>P_GZ) 235(GL?-:6G]0&-28M!*12K$(4+-$NW;"VH&WB*9P=,3>V8F9Z MZWQSF?X[8;M)OQSUN\/5\N,/&N/^> L21QKH\4AFP>V-GXTMJTME(!NQ-;*( M$'/.8!693-H:F[J,&7V.J'VMSV.B_?7LR\7Y^O9EMP564H?J(C:^'<,=#9M6 MES3',<8;Q&CB5NWJ=Y? -E1.ZX6-AJ#[YJB?ID9TQ0Y@FG:O"'[N<=W,5(>Z MWZV@EG1.I;6 ]*JU_""&0G+> 4GC@RK&60I':ZPN=]\K,9>W9^];>L:*XY ? M<+U8WZX"1^1RBKSI%Q2\/5L#H6:";(RVV4K%BZ&K$+8D=,8F:PB.GC19/?1U M7%9KCY2]9Y_7S6[U')OV+.!JH92RJ:UYMN$]L@C ["L$'[PQT?*FV7?-]C=< M'$Y2^8N@-I> ;'%S>,__#MYLO_=T&KU@'XVV]M.-UES9^4T:)'MNPJ MLH#9LD;J#P+.F+GZ0[0X \0^D0_NJLB5O(;H M(HO/%X0H:H:"N0:?LG#4I6[DU>7J#X+#=KGZ0W0S X2-LL:VY>+2 MK;_^[%(@/^!IZWG^X1/1^3]6RXLOS/3M49U06A63!22-;7LK&0+R]F8,^I0D MVQG5I>IE7\)G$DX='G/WT7]( ,PBU7#[3A;)"9TX6 6=1 036_:Y9*N2K/2Q MR*A$[E;1-5[OD7X@/BAT=NY',D2+L[W*O"O(?:XP'WW.&%>7+Q,X1O>0Q]YR M>T&.JB2K$*@FAI-3CLU@8C.8/1FT*@:Q75NTY]ZR5T'/8P^^O7,O.7D=V]V^ MHW9JYMF=MLC+(><2BRHE;]GKY-G73-C78S3M?5?@,YY0CVKU[YY]]EF" M7C,7GD44RJR+X#C7&6LY/,T$0>L,' P((8S-1L7)[,'#ZJ26Y7S&O_SMQ\O$ MYGLM]8T)%HU+(+1D(//>!2DE9DFB4:K69&J7?(-M"9RK71F"@J>[ XVHG%DX MP>]6RR^T.O_VCB5W_N:R#=B7[Z?::)G:B1%"1G;,3/&N9>P'R$*KF!RJ?+_ M=!S O4S:A"WWND%M9(7,X&CA=O&\R7EU07=#W'O+1^OH([H"003! 2P[ &TN M)4CMI;-99RI=4F2W)W&:@[)#6;=1%333ZIK'Q'AMU9GAD6.J1Y[0P0:%VN88N9_B/$3-7_VF(=A\KW-M+Z+/PE6ZX>(__^1W92BWP M='WBH_3*, <6"\M%:F1OCSR0-<62HFQSMTK0!]1,>Q"XOYJ?PLW.$I^!_W/# MQ/]9KO[]ZQD[>)G6ZQ/>DJ65$5N/4MZQC96 .C$_UM>@0I:\UKKBYCMRILWZ MZ0>5V3MC!G7-77+& M'B=GVJOC?LC97>9S0@Z+A6EOI:RM458IB>-%5FXH+H,+0E!1R/+I'K0H.CZ) +O'$*G0I)*["^)-L#'E _?42UR<%1'K&F2B!PPXTOD$3AQ162 M8B:]R*Y+2X)M"9QK@#4$!4\?X8RHG!GL8T]R\\.W/_D1F\1:4[$Z- CHFQUW MO"NGE"IHG;Q)WB9KN\RCW(*VN?2T'Q,4VYY7[ZBA.8.N,73=AM)6+7SK%:D9 M'(:C3HC&(GA'+A0T(9IX4-#=TC8MZ$;'P];W([LI9^K>KOR$Y:K]PK<;3JX[ MH'MA=;(.7&IY"IJW@J@M0;+4RIR2#QBV\@J>?,5,D;*K)I>CBW4&QN@WPC5] M6IZ67S]_62V_7A;<7>?=)V>2U 5R:>NH)@-H4H&J2'J'+EOJTICA&9JF/4?J M!:FQE3$#7/VX_/SE@A]W?WE$-LDFL.\I9%:M_VUF+U0G+O7&TQA*F'H#>UOK(M,-!RRE7RY69XOSBQ7=C/*(Q;%U;3, V[A!&0&C MY37BC53.QICSBT<'V[UJVE.FKAO:N&*>A0':9(OGIIW-"?U'5M?-(.@L:R71 M)D9*:KG:;7ZST%!MP:C0L:SZC)Q]AJBMP&6/#5RCJV,&T'I25K_=E,J0M[%: MHZ"5A(')S$QBXPJ5I>24\3;W.1-_F;2Y#&*9XLQ@-_W,&7'_6"W7ZQ..-'AM M>H)"D>VSY, #!1407A>22GLL7>YZGR=KIN'?CB#8%F/#-3(#?+W)^>+SQ2F> M4_F)F(B\V.B)OSZEC<+.RIO/R]7YXG\WGS_)_ GE0*:ZUG1;)'8-0N# UVJP MB-KJK-C(=\ET&HN!F<:7XV!V$BT/1W>\1/<9?6R4_MG?B+9+5L6R2R488"]6 M@G%10\3D^9^24#FCG.L"W.>(FFEPVMF #M7&$5UYMUR/_RQ.]QGGOLUC>UUJ M/TO^V+?8]Z\O*:JDVE&^)HJM=+<-TS((%&2@$GV50KPDO)=>LJ^%N1;0B4D. M@_(.0B3D[9__"2UO(TL&=*HI2M/%FEP3,),[Z'UT>-]>["3;(ZH1V(P;>5@@ M,;*I>.$MO2S'$.:ZI\-H4021M*"=-V H&O9C&$ IJF(4<;R9MYMHV#,=YMW% M*G_"-;U-IXN/&R6<8#!59I7!MKD.FUD2&&0%I3$:#%;'/D;E(2DS,2][:?:! M/[*?P.<1Q+7UQ8Y5I?6:&<#37XC65Y6DEZU=KH89G532UEI%0*54,%%BNR+7 MX%NK+7:]4.4N)P8#:)QK]>4^(.NEHAF@[PD3_RAK*)"%IP*0;GU;G6;6?"1P MJ$F@*,6*+KW!!] XUT+,?=#72T4S0-^37)TX-N"D>05YXLC4B!R 8U,%01M* M,5E98Y?R\BD>]H[H ,B];Y%/*2^9WK*\;A)VKV?U+//ZV=#.\[S MVQ.?EJS)00:0_ 5CA"Q@#15DUA@T>E6H2V7"M);T-H7@9T;-\AO1!UI]732W MYGHYW27JS>GFD?S5V_J>\O+CV>)_F2A:+9:7E-X=H5DP%+00BU0<<1$[/[4Z M$"*04<5J93I7%HW,T5%;WR'H?KI>:4J,S**KQ*TH;F7]O3:NF[UOS!]'@?<^ M^>?9@K62SQ=?%^??[O7K$5IKZP5O2U58UE&-;8-B@'L9LS>M[VGGADKC,S5M M"L L%LW$2#DJ?Z;=6Y]_^Y7#ZC-FG-IU]CZ7-L-?TL_SV9JU>;A#%+0U51)H MXPGXJP+!2 LIA9AU2"79+N4JZC8;J+_C_1=9F<>Q/GIO,]8 MSK4KK: KI)(2)/(49,XZ4I=;^==RK*]C,MZ5#*ZHS,Z5M6UZM@!;@FZ"U,;W M,=%_'^L/1&^_8_TA&)B!GW))^74[Q^*UPL2"<[DX,)>E?RV4EZ)&[T2R?=)R MOJ/BM1SL#T+"_2SOG=4R TSM+KA;ML_*O2-2'[PF9RS88&KKJ9PA>F4@$/M; M4BL?%$WB_N[ S+0(WP-;0YW9WHJ>^K+B)F'CKH-W=10OJ(C(6Q'(V,IZ*DKV MRYT"=**JDM%Z5"_YKB^]9.9G9-W5O^R@BZDQ]4<+%_#\HG6\?805;,F/:'F] M\M^QEQ,B!&DS:!V*(I^E,MNU8'S^/3,_G3HHLD;4R QVYYLTW5M.KMM."A-\ M]A6$*05,YET@!%?!*JU$2&1S[%(N]"1%,S\I.A0(Q]7<+%*E_T7K\\79QXT' M(GB-V*+9[\A*@2DQ ,HD0>BLDVW9#J&+9W>'AM=R%;M/R+&K2F9@TJY(OUIB M*B(3:PI0<"W_V?'JJE9#UL8I+-(+WR4CX#LJIO7,=M;EXYC80; S0,43BVFS M6GA!\:)[>W;3<=FXH$LQ(-%Y8'8,I*QDZX::K'W0 FVQ@$=M2ZS0':^,DT/4+#V;AM1T8 M '.!_(,;UH<[=:Y,L;INL4E'>T:F=')\Y3*"4'**:PJQ107?8[ MU(2R)"UG\MVX;ZZQD_EUJE-4-X MW48@G2_/5XN/'VGU:?'Q$__LO_P'BS5]:=R?B*S9# D":8DY)=\FO*%C* >I M:G2![@\W?^*\<2\R9GXU#C=60&156TMB:FTY.4A+L:28G0I]YDJ-R<2T@\[F ML RF0,-<5L(N)N N[^_9H3Q?7VV&^)'8')BDX*VK7-&0I>T*GU\ MD%=9HC ("<^6* Q1RPPPU26W#YWV,80"/DD/1N76NA0E%!9IPAR*#%WR)U][ MB<(@;!VB1&&(HF< ]L=IFOF]97?0+'MI< 9PO)NQHNX!OE>8 M^[O/7KZK2N:#IJM%%A"5#,DVKMM]I\J WK99#HC:Q:IJG_!PIKF_@W3Y;.[O M$,'. !5#DDQ5%#XGSTZ%J!F,;L.V54F@M0LB4=8:NV#F2'-_!R%AC]S?(6HY M"L3=)IE&D6H6Z*"0YF5I@@&404&V4E2?@_?J[]S?0R%N-[7,%W%#KA!20(/L M?4)QD5K?480@^*OH'<9L+"5_2-/W%\S]W<=K.S CAGRCUWILFB5KJA 6,=A M4_$64J$"%@LYC2H:FE?B^ZX7_'/.[QT$P)X7_$/0,)>5,/H%KJ;LLP@:R!G9 MQO!YB&A]:Z%T.:!/ZU=VP3_GG.&]U\:D^#BJ"_YW'_ZYQK/R[H>WX]_K/_+L M?M?Y+S$RCUO\XH4V405(AD%MDM,0G@E@AN1HSY>!2[')L^OZ!*Z@(EF%1=DEM_8US@\:A(/GY@<-4],>.3E M""K)DFU(V:DNE^]SNC;?79W/SP\:(MNIJ\CN3\3QV6MLI9E)L[=JDG"\,FQB M3SK)&DV,;LOZQ3G/#QJDH.?F!PV1U@PTK03[NV\V[NX=)JA:0S)D:'7US$3. M$(*P8+/(4DE56%K;JOS1-TP;68ZH^_WE-P,0,( __!/O,Y&2"RBM8_H9O\:@ M;MGQ'$8+HE28'5-QP+I_^(9I3Z#'-0![RF\.( B/,6%*%8&]( C*6.8D:39G M@G=#G:-PSA"[2UN#X+$W3%MG."8(]I;?#%S"[],&9:9@G/:@G*\MV;K5QX3$ M49O*F@QZAO,\,H6/(+MHGRAC=[7, %-=<@&M12UU:!-DLF9I\B*-)&*;16P4 M9EN\F69HX9%G"@_"UB$RA8@9@?T>KNEQ];@.W-JQ>MSB.ROJDK&VS:%N3 M>,L!@F(VR!N3A1 V])DM^ 0],[_U[ Z4^]'Z"%J; ?CN)BXZ[6+,[,I49=C= MJ%E , &AMJP<$65-?0 W-"_X"#),]MFY=U7)?-!TM;PRN5J]"T ZYG:NP:YQ M:_!(VA>5:O3&=1E8/].\X$&Z?#8O>(A@9X"*(0FHTD>;4F1>9&N<')."E-N- MMS/M\\#!\2$;@,P]+W@0$O;("QZBEJ- W&T"*BI9M4(!'+\G,,))B,%YJ&A$ M3BH8J;I8J2/-"^Z+N-W4,B'BUJOSDS:G9.,4?,ATAJO%$I5]SOED< M,!P8 ,<,^<>*%K!$EUL#H2HW ^,3:/5I"N;H%O3@]7WPY77!8 ME+VW5F<)N5K6D10.HI,5).^4_(/$^Z7O"_T=*3_^/O8'7QV'P,C1+J"?>5/\ MW&J<[DCI'TL\?<-(8.FTWWO//SXQGBPB*\NW#=(()UAC-0%ZX6(6M9K[U11C M+Y@M*3W^#O<'7R ],'!4Q;Z/?_KS?]N7-'KY[U9OZU<0/)S9>90(6UV+;8/2 MJ>K6&,4;"$I&4)6T(8_!R2[G>G,I$;X9]DZKKXNKQ*Z'EN9T\TC^ZFU]3WGY M\6SQOYMUO5A>4GIY0N>%+FV]@J F2VE:00_+LD9?0C5.:-NYZ?>(W!QUZ? 0 M5#]=.CP5-F9P:/3K&=L[NKEU^^V*QY5E,;L06+0^ MVBY'/\_0-)KXC$@D!VF?FD"N-D7A$-G'9!O\HS$>Y%0&JQ-5@89*>4N M;>.>I&CFN3_=P;+LH;E)=_3-U<3[#V]:$\KW'_YY[9&(&%7Q6%@,PH/1:"!: M_M9Y6;VO.FM[K]'X$_=)#QX]\Q290T%H!+E/CYN[ARF5 M&F0M08%VB8,O#K@@!D,@/:JJO??"=FEI\ Q-,T^>.+3[-9;V9@'%?[ 8SVES M&'6QWL15N;;XWB)$9*"8("J$D-MQI73:5(O5=SDV?D#)7#IKS.5H93]5S2#B M_(Z!ZZ%-.1E"=@]\#IH%8ME'",:VP\_4AGFEI+N*4EA,&70NOF5,>#:\GIC7+'R)*J0^5FL0E3-" MV"Z8>/(0;6P%S0!]=]O@5"5+32:"<(7C&(],>NN256)RTF3E8^S2AF]HEZD# M=$:8RUZXJWKF@ZSKYB3>I^25@ZIB:NGD'H*M"30YV_JOJR3^2I-H!^GR^8Y3 M P0[ U0,:6T4YYD.SZ9!'4K&SOT[S,/!M@ M"HP?#ANSJ(K>EW\JUP+X!1>K?^'I!9TXI:6.50%&;\&T>6K)8RO93=X6)ZB* M >T#.E X\\2%/K"?C\Z/V06_X?C->GWQ^5(H+9T\LU3^M3SEQYPNSK]=%H0+ MY94M&O@_')KXP!%Q316JL35*JE9Y.ZM]8GO>9IZ7,=-]HQ-V7MMR>K]8__N7 M%=&O;&D869?=%:J(2JK(VZD+;$!!U() N)$TV%ZS3C #:E[.9)Y4O;2%=VY:?%E\7A<[*1B"MX;]#="!2FP>@M8"@47\N_:-]7\O MCW'1,)>5\%SCJYWZ@F8A/#G%ZU]B 9-S2\^BQ-]:9TR2&&*_/*.QN=EJ;837 MO#8FQ<<,%LG510^5QY5Q53!^DGU05@L%,0I>^JTS$8KH@)13060R(73ILK4= M>5O!.+Y2&'?0X QPN=4MY1_+LZ^\#*E<-?!.Z^B3K5+6L-!N-ON'D^\TF4Q/P"]ZE5U M\Z3+/WI[_HE6?W["LVM!J1Q14F2/T876KHG=QH":54F89"B8I>L224S&\7:K M[[5>HQ\'T&;:C?9'_+)@46P,S?>D;M=?]KN_'Z-C[-,$C=0#]N?_N5BZ0G"U *\_$1'1*>S3=W5;"J=-"=H#'8^6;HZN MDR.P(S__ET/4Q9J6]JOGCFUWMF.@CSV2WI'(@H,EZP(8P_\$80+X M7&41V1=Q?R+*;.W1K^OU!96?+E8WYWJ;'75]UZN]%G4YJ=:A*APORJ)LFQ3E M(:'BO57&0#:5D'*?\]_!I,[*0@W!RZ,6JI^69A"$[%[/?X_SFQ2T_T/M%(Y= MPJ^TPH]T_?-W*W8]3T*TZ%RIX(/-K(R0H/5"@FRCMLDH9U+GPM!#L#EM0N.8 M^)\O.F:P=MZMEIFHK']A%3QN#*PDBZU=*$:*L)GQBA4M1,.<*H'1R"ZYY"]2 M-FWNX8@('5<'1^ [\DKYBN?TMC)UK<9I',_QB:>.[3=N0WP?K]$;5G1DTZ)% MEHP"Q<%#T1JTU[GPEJRCZE+9.[+7>)'6B[+ U;>WJ\LG_T[GGY;EU\NS&_J MF]G 3=1LF!_\\O6O7=8+J>0+.L'^2:AL;;/RO#!4AM2Z-*58E?%]_,D1F9B5 MISD$8P]VVJDT.X-]]):=.UQN"M!)R59,J:"F[,"D+#CN-_R/L-5'(9(,VXR? MWP.B]RB:N!QK,I \B=9]-#8'Z-V2W_J1O:VMJG?-BWEQTP'>VZ"$;>4$(;>^ M[+$-4[.\JG5&5-*67$T7#+Y(VES N!<&[B-K7(7, &)7/L^[4\R;D.FZ6CRK MF%$[0(.;@],(268#3CL.@U)AI[5+!NSCY$P,I9&5_B!&V%L#,\#1H^OM]H(0 MH]=*)@W*.EYT56A(PB;(3@54P9MD^[0A>9:LB4L[9[U?[J:[.2#QSG+=#.9] M>S68]_*D]->S.\OW1&-Q&JN'$$0;#-"2GH(V4+.7E3C.R[&/"S> R!ENI#N" MXYG==%1-S0N%F]/#=[3:\'9BM!48 X+=C&ND6"&@K9 4.4K6F=)G9WV*H+G8 MP)[HVET#,T#2]<#/*U[:VFC]K3>M54Z8U&@5^QQ:MN-#7PJ@8'\AQQC)QUB% MZ7)P]!Q1$U>.]T/4:)J81]N/6_'\N#QCF=%JHZ3WE&GQE*REEV<3D&4;FO.=OJ9;7D@4PQ8*0GB-$[B-8HT@9YF72Y MZA]&YK2N?S^4W;=O'95W? 9N$]"/;>:N'MK9V#U&^B0F+Q19HJL.9#0:3"B9 MX\96:49OM%X3O?VR<3'//FZX^FV!:=-XYW<\ MOUCQ?^^QJ% 89SB0)C0*C#$64NL@DI&$=@9+]%VRTG>@==KSCD.BL:\:9Q'# M_K(X:Q'X5LP9E(2M!T$@R5&1T@6"2+8=DU,1TDJ;NK0#'D#CM"GXK02UMEEC0S$C.%G*2(NN Q7;J=_FQP. M=R,JYPC#"N;S D_W2@_#M))QX!6%0!"%*DH:$+5N.U=W^ MG<<48@S!RO=]:?NH8,)-<[TZ/WE/>/KSFI75)F^^R?GB\\5I:U'R$S$U>;%1 MXD^TSJO%)G7^;7VW6K)3>_YMD\PE==;9<$2E7#/9[*5"(BQ@8U#!D*(DM]E/ MF9 [BXZ_N[_@]J9T&H1VQ 5HOD\2N.;S*$-..O';2L-\:.;12)0"V MVQ\7A?1:5V'U-CO$:$!]C,AI,'I@_ Q$[=[*G+J#_1M^HE+B'9TMTSHOK],+ M#;H<%2$(]FK!:#(073M'E[)2TE8X9;?:I!]__KRAM+]2E^-*>'*0&+&A_P[Y M6:,,.02H@5>6*2$"FNQ IU!)L[."Q6T'D ?/GN8(;B)P["?9R8%AA?SQ$ZWQ M"^&_KX?7I>I5FU$'UJH")F9V$%R2@%30*J5-O#\_]REH//+T:<[ )@+'OM*= M'!Y2R _X<7&&_[FFWA0LLK"94X;W8B41DDB1/12K$ND2K-AR7[G_Z&D.J28" MQEYRG1H5'RXXEL#US:S+J+(4R4&5&AN@(P3*$LB@9U-HLK)I*TA\_]QIA@), M@X<])#J#,_'WM#Y?+5JW]!]Q_:E%GOR?5L3P%4];+/KXIY>N?64^"\>B+AC! MG&H%R9E-!;Y(RNM:5)>TP]U)GL:Y.42@?V!U'BUPKPNX$$DKIT$XK&"0<19] M3D"N( 979.V3A;$/T=.>HQX*6*/@>0_8-YXI\=@*Y\9N$M M8LS,@W*)+;L3@(6_)4?:!>T*F0- : XM#?95\+-XV4':4X>9?]+J\V]+/+NR MEK*21RP%&MM@DA3 @;$ [TDI4L7F=.^&Y8DP\_OGSDGGNRAI.8[$9F >WM/7 MY>E7MIC?"^6*F:I0%J\06M\T9L9*]@"=A.RLQ2B""Z53I/@,51,GFXX%GO$U M, ,X_;9R2WKPUB=,FDKMD!\8JKJ]6*',IZI1Q84RP8R/UZ5NCSV:(N\D9)_[C S7SRZ[-D13HJCE"A M%&RWD:E"DM)#8"ZU%*2\Z7),]3Q9%EX7LK8J)6!I$["\^8J+TZMRHP?,71EA]AI25#E"CAYY :*%E,UF,A0995656V44[WC> MM 6%,\/:KIAX]#1J; 5-?43UC+G_[:8QC%8Z1)\-E$2R=0YBC\(1,U11(;.4 M\I8I,]N\;9H)\(?8!?L(? :VZ\V*\&V]33JY3BHY$90+8LH@K*UJ<(FK#&87R]WQ^=.X829@"FZT:+5_2S?#Y*IIZ M(WRL&\'E+)0_ES]O*C8ON3XI.,4KP5"!I$H%(YO 1"J@2Y19L+%6 MNHOE>H&N"4_HNUNL,54R X2]86[.W]/Y8K5IR/XVG2X^;C1U8C61SM5"SHJC MZ6QYLQ<8V7 MPP,VHOQC>98O5DWX)T*U0QJS:5K?XX MD==!03. W=5PO4O7\V8QK7^]Y*>(&NK8 6CA-H8ZID!@B[]#SO]A-K#N=E+D#KMB)/3$4AI"U 2;>VM*%E92<% M14M9@B3$GN' ,Y1MA;)XG"@;5RUSP!F+AM$T9(H5EI9+8260TVR1J#CTF+/OU7!Q"YW5FM.%+X]=+6#)#X MX%KL':W:!_B1Y$FUTKI,"FKDZ,BX-F/ .00;LRG26.%1=-E0GR%J.Z0=Z;7 M:-J8 ;)^HG3^ZQG[H1=-8#_@>K'^P+1@>7OV+UPMVL7<>SQGOE 9:TF:5GZ< M66!MM(1("*D:8RO&9'P7MVU; K=#W)'>#G31TNS0]^L9/YD#H,;*AW;?5FX7 MUHG()N>(@9U2V=85%L :VLC%D)TT,E'M<@JW/8G;(?#(;A4Z:VH&&+R7]]E. M?2[P]$=OD9;%;-HT[0*@E&\)E-L M5=ZB&)&3D^E^7>$1]?:]#=BOY'[#MH\U)YL1?)8M0$'[*2"&>R>=X][WB\^?CI_6_^YILV=RIO/R]7YXG\O;^\P M&]UZ($+UD=E"'R%&Y\$'05Y4UX*F'LC:DKZ)2T_V0\$S@Q;&4LG,D';M?U[? MS&%024MA0"7%+F=L@["1G4\;!3,GM>(-OS>Z[M$T;15P/T3M(_JI$]+N\M&$ M<^)S:_V!E4/8_&0E&,:2[6/E[.G$F:P M^7SXQ!OGII/�RV6BCE7WV7/>4C*,4V0V@=& M>RIA#C"Z:NGYZQG'Q73BBE12"H)8K09CJ][DWT+Q0@LK \7<)(N0^W%C2HXET$@6TCEC+P1DQ,OTBH'45G1:?Q MBT/,SNAIJ!/&Z(-$/IKO<[!3Q;?GGVAUY>/7Y>KSU0".'B>,S[ZJ\VGC]FQ. M,\18D\BY#8Y-CATC4RL4;=F[%FBCJD=_\OB]0_A_J)U24'GSE3_]R%AN MA<77/VS[O3SQ:(*,.@*%XGGE98Y?VO%^#B$''6WF%=C?9W^9T&,ZMQR"M.<] M^I$5. -'[5G^FBR7%V>;V\^K>\\3+9.JN3JPRC%_'$Y#LI: L)HJ<['2'!Z@ MCQ!Z3"%G-X#NJ\ 1RTL.MKNW%/-WN"B\Y=W/ ^ZSQV_QPLX[_5"6)]GOE7.N MG78 1ZRMLX4P@%%J\$IZX3@T2>*U[??O\-OFO2>88T62 I3W%4Q5'(Q%C& % M_R0F65*?^/=Q"S [:>:X\L.^^6B=:[\G2.PSQ>? MO[/Q?1R]E]_7V<\;R/ D;EZN,4L;*G@G&7)5M").G\!))X-19#%WL083NGG? MZ^5&)1>W0I'59&^=@]A*P4SQ!*%&"<6*6JL4'),=(&A^D+I_R5D30;V6)TL!*/#*6_+"_8P;$Q>^*]@:A= M:DE;(215054ABZ*$M;BI0=H(G3:5:*X8':S"J?/KGV7NS^4/U&[CWE1^VPU[ M:"LYF214XP.8QF/(.8(T-F4A2@SV'D('M'Y]_MW3-+4[).@.H90C,HLG5I$U MA;E)2HLV6Q))U1^ M_F_F7WWSN7UW0H(X/%'5*.U4!&T<@3%) #K^IPV+E:D::TV7BO GZ)FF?]X4X!M#(:_P M[O+D7@Y*_]O+$SGY_>5]IF]N,/^?\36P28^_\_..!0"/O.40N?\O,3?)_7 L M9&LU#FR0$4SU$E(2'K*2WN3,CD[ITQ7WH/?#]\1_.??)<13+QE! ,IN60)0@ M9I=!>YMB44$JT:6SUZ/4'--=[Q#,/-A>]E;%# *_#Q=?OIQ^N^5B,_PP*V54 M$A4\M0DYT2M(Q1MH<\Z%$-([T64E/4;,Q+>P^^OX00GEG@*?(VA6*^1%UKZ\ M&C8H*KI8N$Q8>)V=F(-I/YR\@:@<%3'V&_N;CBC;B M^(D#_,T2PV)E4J&PF6Z]##VOLV1EFXOIC+'!&K+XDBO^^*,GSK,8;7L:07"S M4OO5:%TF,NG*8$4G&;8^(<2:+(LB:JE+*8&VFQ'[R,,G'-NYIZ*>U/D.4IM< MZU]6BU,EI+LR5#J+:$0)(-GDM93W#)%L9-M75#9"H7)A.XU__^"Y:'L7%2U' MDM?4NOY 7\XW5#/]\8I^9:K4["J!]ZWJQ6(%#,E 1?D+G]QX\ MX4S34?6]C[QF$ /<]VI^NVE][:0I)I*&X"Q[-M:P;*K/H*IT):!/[*(>XISK MMT%CX?ME+XY^.C&.Z&> H0^+CV>+NLAX=GX_HKGIK7%U77!YZ7CY\W,J)UE' M%3 [J-YD,"D8"!8%L^L$K\C" 4^7^[K=29[7&=F.F+D?AQY&@3.]WWM/IYN1 M$+@Z_[;+O=%W?S_&C=#3!(UTUW/W!7^N\&R->=-FXN:H'DL03B4/:"MKM5H$ M%+%-1/9"95U$M5T&TKU$V/XS1A]__NUMQ9\LXA_X3_Y]XJLK(C@)&?,FRLN0 M""5X54*.RD63#BJ#1VB_N'CVV]!K!R*-/FT*CJJ@/2O%F:AD?DS0J$\:$*03K$+FYM;]/V(7^B M/NU [L_B,JX!D%1A'645C*\5M#.A6T'R>E&G =U@H++OH9?(CUT>] MI.O[94$NILQ84"VNQZ@@Q>Q!I.JLC5*AVNZ.Y;FW3(>=,=6X["'3.9ROM9&5 M;2']>(KK]=OZX9RCGLWB$4@R6A5 Q-9S2E.!Y%OE$V5I,\=%Z$T7]^TIBJ:] MHC_<#CBN:F: L;OT7ZV]F$U-40A0K8S)L)"8 ^7!.V-TKM(2=CD >4C*Q'[5 M.#J^/Y5[/X'/ #(?:,56]9\I +U,ZL<(F#?/>%HO[F@! MS R@W].WRU7XPZW3=5+__I%VMTT%%Y1&NU3BL!'M39<EIEDN8DU,_]Y)\<==/A?B0$YC8<#IQX_V*5G9P_ M+?Y.9<3(>A'3UF+:O6.)&"62LV#PB0012O4G6O60O:1>)V^C#[V,B".(>+:( M'8N7;@;A/0.0ONZ6E^N?.W?^:]J;69R1;&6)BK'$0&1>UC=P!S(P3T+4@8=^ M-NZHKY_;TFT=F$<*;.;LQ\=5%R_#Q8?5I[3ZO@C;ET62EY66:HLG<@ MC$;%G#D'PU+6!EU4H?H4?PQ!T4,JYLM_'"_8AR@YDLLM^";=E3LOU7H;12FT M4WAG./ D,@A4B^!YCJBF%54.+5Y3IW?S#A6S0^18J=ZW_4>S>.Y,?'G3MZY/ M)H9P6$@)M6&?8O5^TK_]S?,XP9-)?S036[ 8 MT>]>7J;K*1([-[\LN_[@SQ=?-E)X]_>W%,IZ@,57_"/IR?+O"] MO)Z\)E0D@O ,7*92<$TB^N8);7%I)7>$"HFL 3+I8:MT,&)TT6OK*EGFBCH13#IIX/VC>4K7E%_ ML5(B!):=D31ZJOOEY'[\77-G."I I@:7&]!'OW7+KT@VON6W6?7SJENOK[<' M79L*H?NR7/PKQ3.5(]$>S6;.3-E/91B8X CDZ!*ST4199[7R*&KG;1VJJK_J M2Z\!B+Z]3#\A6U_EC&H9>?GF*) %%/)F:P% MJ9-DF>@ \]8L5H7J+#)^[O/KQBW$&_+Q)YUA-_FJN]O?? M06ZA,- /PX.=. MS;I^!SC5Y#\6&-=9>J"\="KJX, QJ_'"J1RBU]R=^9X?)M<2R$YB;XI#@P4YKU MB%3@*;[7(CH5(Z.9Z\F2QJ/'0E1$V.E!\*,Y$4,D,G?U0>]^=NMR4!0M0JLW M-Y4CAX).Z'($%S2:B;379M,7/2=BD.!'S8D8(H6YXZ%/#C(P21&:?(00C2JV M?:D%TQZ,"I;;F"7A_;:A/?>E0";,, M>)L(9&2/I=1[8J<;13.H0*YBG'S6YVL<[UL S+X0U(E DI=@92Q;A:*%$N*' MX(QS3BHOR&2U,XU5S V2V(&*N2'L:ZIFRG&A(U$, AX 7UH:P&6DWI29XHS$ M[-1D1N_PFJGJ%7.#Y':P9FH($^>6_IU2/YI38()IH,'@\:DHLP"4!A6R39ZS MLOABOGK)ZA5SHZ4_FHE-9 X.SZM)T@1!&0<>?+%V'!Y%1P72&N1%QB?PI.-] MYA^6.*-9,;6\VH7>SH#7@A,>2\%JV2V&5P]-;>Y1BT8>2;3.A% I$_4L9TL- MDOV@V5)#!#&[;SQ@T%&0+!/B(#L$@8B$@XU2(BS0K3/1*WV_MO=%SY8:).6Q MLZ4&L'QN) T=;Q0"15P8"C%D"<+;DM2U"FU :6BRFC*C>\'I! :M4P!A"'IT'IUPF8T)2FGD1942SNF.,'<5T_._"^/0\!+N MP765EZ.6!B8 [WF)0Q &3L<,/$;NA-!>ZCY+[-JNY&LW_ST2@-5J_@:@X1G4 M_!VJ]#J^W.^)3SY5N5K5(K]7I4+H?],2[8&/[]],5.'W^(=.S:\>I)^JMH]R MG[D/%IQTZ,E:9L#RX,%1)6E,)@5YRN#4S%M]*65)6^' Y;*7*EH+EI40NN,)EF([0X(S'/W(M4+];/,ID&?:[7]T0 M5J:4;C<)JYOP^P_G]I1&?XW8!#[I4/9^!O A:F"<4HEW2K-U.)I%VG[Z<1'JSB&:B3ADLC)*\U\NA9IMT'R7Y0VGV( M(.9.EMZ^>46[W_74=PHY(BMH* M@M-(@:#:HUQF';'+(/!CJ[N]W/I A[?-M M32)FC&2[FFQN5QN]O]4RS2SG7 "7&KE%J0)'8ED2FBT3B;,D3OGX#K2]7Z3.R\C7^TS_/ MLN'*HYF 5D+9$&G07K NQ]+X*(5WA$CF3G'F1VB;.? ^!4H>Y' FELAHM?4] MK7S7BN+:F*^CTM1CON;D2NRQX]56991D87V@0#VZB,*)#"9E49H=I40/,@A? M965C-55V[1'=_X9;C'Y]M?OES64JLTZ)E!JHE>@)286*,5,57F MT(RDMU&5-P1-A]/6]237@(>P/^;Z0W[3+4,J\U;+R="%7ZS_1'<=?_[D2@;C MYHA<&1,[0L23/'+*K =$3R6]"*W**%WZ;+_['(J8;\_C#\L;6>K5*;OV^6WYYO_B> M8AGD77#'648EYHR(-KA/2:!ES"Z M*?-CK#(T*>OZ#$TYPBRH?\AY6VXJVQ*-8:2Q&_0+"GKY98%NQ_;DKY;QYZZ+ M?RW.SS?.R&UG,TH1HD,U83P()1SZF=* TM291(AWMDHT? 2M\[;-5,9S'8F] MA*AF.3E>V"-JV8_YNM,'"YXX;NV@0:329^83Z!!C&8N>T.7B'FA@43";N27/ M*FCPVV7)F7_(URL%]D;3F8W<49,BV$#1.I(Y@Z>Y#(1"9Y,SAI9\E7TU!REJ MU/$?@H@'.QXFX7X#7M3^(%OV%&U\?1)&J%%9)C#22*0?.664UQ"USRY)RJBM MLT_D($F-.NI3 .E(_K^$Q_!!_N!$K^*A[SWY\]B+ ;7?29NEH)9Q4%8@F(5' MDX]RQ+;//"BE&)J$S^F='!BBW18;,96B)!("-66%"@M@J9+ '+.2*Z=EJ!J[ M'$!KHV_K$!0=&50?++&9^RH^KKIX&2X^K#ZEU?=%V(Z\(,)$KG0&[A3ZX^AT M@>$N 4$7*^()$NE58M.KN^(Q EKI ZLD\6Y"]KI&*^9IWC!?L0)4=R>>[B]MTIMLL0=Q-> M'>,N& =*4&1(V8YN9$(?A1"?L\^&)?,CZ^K 9\\N^F.EU4W'NKDEOY]CA\;F M6[0SS[MO6[6Z,3GW;6;"9>&8!N%].8]#GU4$!]139TAV(:1^8P1[?-E\8W(K M8&-JYLZ^0V:?8T-Q;$I7M_U!665O" ''2C.C\@2,DQZXI,JP\BO9IWBNYQ:9 MQTAHI5.OOE$R@0B: ]'NECEGHS62("-*?HD'!CZ+#%(G26RF5+(^77DC832W M43*%8)_$R0@N-Q!U?! VW6M-;7/.PI3!Y1E$**M/!'J1EF?MT9!C7(8>8!GL M>!^@IR78 LP4>7E[E]"JS4$9Q& M)>PRU216B5T=I&@^LZ<*@*;A? ,0^H1"V$SA?7VY7BS3>KV_$1OM[%U@DG " M^)JC 2H6? $F3&T3](AH&1&@]F""I/GXTUO)?HG_B2)I+IQX)@*B:V4>-X M^&E]?]U57.9(J6SP+>4:C76NT'64)()2609*:'"I3G5O#^)FKLH]M8TRM;@: M,%5N%>&C![')Y99Q+6\NUQ?=U[1Z]WX[.=XF?W]YE)@MH@$D16 M]ON]>.&3K1E]8F'KX) 7-X)$45Z34 T#?=^N)#+N7# MMR/ZG[KS>)88\S%G]&=EB>)':M!NY 9X2C+%D+*L@\/#)#7QQ-:#VT2R: !5 MUVN?[F1TRG3ZY3J=11I=LCP"LR4^MIFU03P^$MX(PV@F>(/J*+@GJ&JK(ZR" M*IM*(HV8=N?XJR\_IR4:J^=XJ%?QZV*Y6&_:,K^G_;D4NBJ420U,T 3"TP@6 MC1#PU!KFB!*52K?[D==6T]7DD*L@HP946U'213WOR%^?&<.T3#X!2Q;IUP8? M_#*GB@N1:KR.([F^WC<=!?N?-H4W2_+@,;C^VZ]/LM" MV> T@TRL+C,@+?B$!F-(,DN=A(NV2NCR$5IZH4<]6_0?B:3OTM)WRMIR#RIC0SZZS%/SA:[!8MR_1E MVYD_U6MU _>]$[M87I;54-O[4(:#)N1:VOX[]%_3^M?%LELM+JY^6>*CF=87 MJ'/O?LJ[?U[BKW]-%W]T^)OO^$^V_35R4P'*$U!D%"IDS\!H&D"'P+R/@>90 MY2$\X1E[ =X\6\"WBI8FM.^G/U!(K]TZQ3?=UV*#;/6"BY&X2"V0&!D(*F6Q M7-%U,D$R2B1ANDJ)S>/D] *H?;8 G4 &+V,*WITA1&7XT*F:^PY^\"' M&#M")@U@;-.3O?.O=]V])5JS7R(6J%9.>' R2CQ,,&"+9O9,1>I$"$%765;S M)%6MH>L8 -P/<4TFC0:@]7#MSKZ66#(>H\X01$)769HRE8LXR)HH):0(3%=1 M6X<(:NPAG!)0D\A@YF[H7]W_=:N]T;CM:F%<::85!2)Y,0S1$+6:12A_J4TD M6M(^?= /OW[>:K$)#:<)N#LS-GYS7].'?.<,NUNC AY8Q "TT"^"9&"9 MPS\2RW7D@5/5)TS0"R('J9BOY_E8L793\WCVEK =Z:_V7B8G,2AOT,N4!(U M(8M^Q3\*&J/((OI\K\#Y4$/8W0^>3^03R:F;B&FM"/SUOJ%-E$4PU #79=VN MX1F,0ZL?U:6(QD1DDAXD\-=SMZ57%/@8IK4B\/T&9*$]]Y%$!*MR:.+8A/^E M$ZH_G:P55'$S[(8/V2D]^?-?6>!CF-:*P-_N:*6#" M41:-B)G100)_.T#@DY=J5Q;X&*:U(O!W.]J5W>QG3< R0^TD4@972H&-E\D[ M)AFC_8:NW?O@>:JI*PM\#-,:B"(\<'?>7Q<3"6I\L)E 44H@G-: F$67EN7, MM0YHFE2IH#Y,TKQ-':<(J8_C?HLX^IA6Y2_V8%$<"4 M0W\_.?3W$[<0LV/.Y:"XK[._X,7,[A^"HBEF]P^1V,RQV^O!5;>5P[9JB441 MC2?XKD0-@@IDF@D:=(S"!VH)9WV:27K%;@]2\?RF^ ^2?3>U(&;MT]@PGQSO?=\LO[Q?<4MYO+YPI[]B3CY-'/,>RI'03U*3!\RB485_K'G!=@K4)] MD'C,DFI"79WEG0T%0=%528R*4'KH+*H%HO"A<@Q4B$D[O+9&UPD$OY@@Z! 4 M31$$'2*Q9H.@T5"9##X'PJOR0^-QG*' '.665R'VJ)5Y>$'20?'L%08>P>L[P1FD-65V= M_<^G,Z4D-\I1",2@Z9M5!HM, 2X#]=E)KM,CC5[K/3K6*?SGE^[[?^T^<0N0 MW1_NX^/F6UN,>PX277<4'QOP.?NY182EJ%&9QA0D"+P6X"++Z+<3ZRU>&I-/ MD@A_&6&/,>]3-7$U ,&[3L[ZGA-T;4(&8[,4B0,A)289"3*0H+I.-BN3J-'2 M5ZGUZT=>6W;W\;#HJLNHB:E^'U?=M[2ZN/J(7GD97EC&%6Y&H_^6+LY$#DJ7 M7A>I-5Y4F\H6/J81(,IGXK-PMLJ,U:>(FA=G-6#059+(2XB7E640?RW.ST\5 M&+O_?2>/@#UYX.KU?MQRFJ0!)C6%TMU4-N4%B,PD] H&G GR>[,&>K23 LG M\')QL5FE7(9B>!> !)V)\RS+^RU3_PYUC4?1%*&N(1)K;JOYQOV6FB42I(/@ M& -!= +OT431C(5HIR$YQ?D&B3U)U>>#Q9![)22.L2V < M*1/)= 8G60+'"&6)>R)[1>E'PFCNZ-84@GT2)R.XW(!S>6A).R7*&"H]D++A M5.BHP:MD00>C;;)2ZE!EKM$!>EK"S1A!']JW<037&P#/TXN52:(A&!G!^!(H M)#*4(6+H] 2?O.!ETVJC>\V;"H>->NQ;U8UIM+M(RI'?+?UU]37O5ZBU5 MH>C20&@$5-P$;(@6F"JN%OE^G<: R]= W-.%NC9%8-S7[YL; ;]WW='YW M5??^&-*6U6>H1X-29:E5XJA,#<-+'I0+V>005"\4'/Z.)K:P'HN#B5C8SJOQ M=.@_66VBY!Q8I J$20%,2@9B-M%1M/-B2!4?D^,3>/4VKY[:8IE:7 U 5PC/.I755MJ'L"6CBB9I0M/>3<&/XW&@:Y-7Y M>?=7>8:11V^0I,5%V1B61J4X#G[6%.F+?H1.E)JX&=*ZOA5/=IKS)""GLOO; M)[1X0T*+UQK*$Z&DDIOY""U'3V"YYM]/BR7R=.'.?UGB1U]N="OR\#7^ZS_/ M(HHV>&:!TK(;C@D%CJ%YGYPU*A*CE:RB1OJ1-Z^2.18A#\:Q3"^29Z9Q-F_Z MI'IG]XDUM<]C1%?405GY[)E,Z&NK!$)Z"IX4$YD$0J2+.:7GHH.N.?K378Y^ M6.XNP/++K6_=\/GF&C#F>*)X<&TR^AO*E$%:F8)*Z'4DDZ2M$Y0YANCV]-40 M-#T89WXJ\35@5W]TZXNWEZG'P90F,;KD02,9J)ZM!!\8_F"HM8,@/"5> Y>] M*9PW:# U".L(YIF]FZ^6[OQJO5AW^="_.*)JZ?@OK?GZCCQZQ0.65HCB8!DU2# M$#F!-9R!ELDK9KC5J@H'QI';WJ,\!$'W]>$)1-; =6]Y: MK?+F7V6)?-4)72^ MK#>E&;RX89P""]F32/ =2E5&"HPA=M[LU P(K2[1!E[R(6Q-H<,+8+]H)04M.D/$L MRE A/%3(#"REL1@PP=1I6YO8^)Q\N\;S,#Z'2.](X_/=,IX\:O3I\NM7M[KJ M\E8*Z98KZJ]>?4&IO'$7Z4NWNJH0/1K^Y36C2$>RHF8TB0MEC'>0DT>HLRS! ME"H7HWQ0UA#E79^&G!:B23?U/0.N_;;,A]J(3X'Q0*GC(!378+VTP+,1C :A MI:D25!]/ QCW_4'12ZV" FXY+UO$+/@D M2I3,Y&"-\S%4V0S2D[[F IS'(F,H]D:(J5'T46$,,ZP*A-A!M#8. K'8*0'#J<06*-85'@T\\C1:#1! M)J( 742*++0>O!<<:!9"L:QSI2K- 30V%VP_"1:G$%BC6'SWSTMW_KG[>970 M3UQ]_L,M+7EXT.BXMB1E,#8E$"6JX'-DB"4\(E,Q*W15**]QM[6C+2_;VWZX-QN MS[12;1.Y)76 HV_++^G]46IC]_=S3,?A.%1!J";Z=8T!7 Y$J#&:C3B-?&V M2J1H")'-6:(30^;'&)U&?L\%F]?YA.18TB$#5SH4'Q/M'.L",!I5%L%DD4X5 M-3I(9'.6:0/8'"._!K#Y*FQF(=]*;/V\0M;M3^.17J:]!,MBJ3+4!BSW' Q' MO] 8H;7LLV)O>&[R2;*:LSCKXF]"&8U'7'?ASOMD'W>_*#^\6Z?__H__!U!+ M P04 " !:AV91#AIE"\4' "T) %P &-D>',R,#(P,#DS,&5X,S$Q M7\$ZZ#8!_*;8SHN3#;!-4C1%F]T&/BSNTX$21Q81 M2E1)RH[[ZSM#RB^)G=:Y7+MN< NL(XG#X0SGX3-#2N=?7WV\'/W[TS7+7*[8 MIW]]]]/-)6NT.IW/O[$1L97ECII"ZXZG2N;QNLD3E7 M#CN=Z73:GO;:VHP[H[L.J>IWE-86VL*)QL4Y/<%?X.+BJ_.O6RUVI9,JA\*Q MQ !W(%AE93%FGP78>]9JU5*7NIP9.=MEG;>[EA(=V)YV"B[F>\TZX M/^_X0E.YM*X;)AU.U^T_"B%^>I+AR.9[!_ MN QJUI5Q,T9]L79.Y\,3U.7@P;6XDN-BZ)UL!&7S#HE6V@SWNO[?&;6T4IY+ M-1M^.Y(Y6'8+4W:G7 M'T8W'V^W]^PO]Z._,0PW3?:CS@KV8YO=2AS4-ED"QLETQES&W;N]PD4R4G @\0PW11)&\-S^C;" M<[ASX?F.6PP*3G\^8_>%GBH08VB&*)D0&Z'1A$)C.L$1N"P8+V:L*IRI #W M!.-S#0:-LQSOC.2*I3S!1X;I',G/Z2"W)E! M9R,R.1G-\#CKNBT^(S@<;@ MD,HG*AR#!!)I,#&A6('=F2/P>$P%)98)@),)VH2J!.A,Y*#)L(.TFL4V+D";0$9J66J*P!89\,C< 7OC1KDD2E M4 "AJ!$O?CCK[4FXS5BJ]-3.<6I@+*W#NLXQ3@^#W6AEKP5#?8A6!$-1+@+MY(*Q"+ E/0SXJ\5] 8TD2U;#Y0^&BC% M@!OT=PND^/]@5H!ZU3R.:ARNPN O >/G4]N=@:E+637AE MM^]"Z2\&!$8]4DBHNC*H #EJ(JUG/I2"PNNADGG)F:N\:T!QC[0ZHR[1TJPY MF1HE\B?:8K62PN]/;15;*20WDAR0(>_[3%"0ILI2+O9KT_K$[7D2-\!H$.Y, M?:<2"TJ95(H3O:-;WHAE3L<>H4)8+6SP*@821 ;&_B!>Q;B[A>1XAY#6O26@/T]G2W-:YQ+4RD(+ARJPM.O,XM0IT*3,(P-V*.)T2XY+%4TLTHS6\: MEE:7AYY'55@8CT17"E2?/AYJA\K*E(AJZ\N2!'?=PAO@2]4Q%%AM* 0WMD!) MJX9$L P/ ,;5)4MD\#<$X62'(!S(^'K"5>49B^(+:8JUHIQ@9.R&FF]15&S! MP.%V,#1 M &\#=&*'0%?S9HCG.BYH&UX7<+YE(_A>P):4U7625(:BOY)"-VC-M77XG,XF M49=-4-&OX4B'[3_3)448(X\]D:X-Q[T3^!,$.EPHJH5=!\&JC-M%O4$,Z&$/ MPJ<&/Q\U;<^8DO>@ZN.$)_+-5T_1JZ&^4YNRP=O9E/D31C%?)\TE5Q%UKF)U M25N$MA?4(&OU[,(ZCC6MT\8NTKY_@"KS7#H'\ >)(=986%"[D&B?5[*/B$8> MML3S^);[)5<5B3]X./C_WNLO3/&GKG$A M<-0I>[$'F@*_IQP<:C>?A7W5Z8] Y\=$+X)9#JS('R$8$?<_*1;: M.__&[PJGS9,CNT4G\AC,N[WHJ'MVU/2ON[>T?Y&O'[])=GZ+6/>(<5&!::%C MBI<6AO.+,TQ(I>*SH2R\>;[3V832&%9 M4:GR_JU]V#0'@P&].;;&?POYNKK ME^)M_U*\X\1ZV^E)^[3[?'.W'2W:.EYWT$^O04M>O&_T&O,.-32'A^4#BQZ[ M3FC=8/S?'UWOZ;N]/N+5_SYYL;L([!;NUI%#-X;H+?/G46QN_#]F+OY[_U_H M8E@37\C+3[AOE90Y?*ZZS"2D[/H!DHJVO^QCJ CI2Y']^BP$Z0H6[77%>+ ^ M.QV_+%_S2QW]9=/$[4$L#!!0 ( %J'9E&YL[:^S@< ,8D 7 M8V1X%$X^*< MGN O<''QS?FWK1:[TDF50^%88H [$*RRLIBP+P+L'6NU:JE+7](8]$?7A]+@W MB)*3..IWXUY\$@TY1,,!_"="(SLH'OI8-U?PKI'+HI4!C3\:]-IOAZ4[FTGA MLE'4[7[7\*(7YZDN'(YGL'^X#&HVE7$S07VQ=D[GHQ/4Y>#>M;B2DV+DG6P$ M98L.B5;:C ZZ_M\9M;12GDLU'WT_ECE8]A%F[%;GO/B^:3$P+0M&ID'0RM\ MK<1!_.TL./$6]2A9P,*IJ$=N7-]G,I:.]:-V[Z$/NUJ?8 # ?!7S@QD"$FTX M 7-4%0(,234N+J]OQSG#TC-B47 I=32T'J1OWC1;0DSDWA1JWHZWD9M1=N_/6C/YR6 MJ-L>TC3$Y?1WAZ>Q>>'[C%H.#TYW-V5^B9 C&!9HB2";$1&DTH-.82 M'('+@O%BSJK"F0K0 \PN/M%@T#C+\"X:SHM/A-H# ZI?);",4@@D0:S$HH5V)UY1F*S3"89LQ7]K/K/P$"M MA!S(I568OB@3SJ3+T$%;0N(-)+TEFJ8%NCG%;H+%\_5I>#T@[/]]0 @LE06& MF1"S"FL3$8CBV&S6VF61(H/X+(77B:H$ZD3HK,6PB;"3Q#HE1IY 2V!6:H7* M&A#VT= (?.'KLB9)5 H%$(H:\>*'L]Z>A-N,I4K/[ *G!B;2.BSJ'./T,-B= M4O99P]/;,UIBJ2P.B"9VF$F\/[9&/W0WC M!CQ*,.HR5D#19(#0C)6T&?4@L1Q9DIB2[H6TB=*VPG[$GT:K )?2Z 0$/K;L M$-$A .$6('!]GV2\F ![C]1T6RF4B/J\%0T/(5@1#46X"[>2JL,BP)3T,^*O M-?0&-)$M.P^4/A@HQ8'(S\>81@G*[2^JGH:#/<+I(3_:%Z >MT\CFH_:!!N2WVG$@M*F52*$[VC6]Z(54[''J%"6"]L\"H&$D0&QOX@ M7L2X^X7D>(^0W!]L(GEGTMH ].YTMS.N<2U,I2"X>1U58& ]$UPI4GS[N:X?*RI2(:NO+D@2WW,(; MX$O5"118;2@$-[9 2:N&1+ ,#P#&U25+9/!7!.%DCR %W"^92OXGL&6E-5UDE2& MHK^60K=HS;5U^)P.)E&735#1K^%(AQT^T25%&".//9*N#<>]$_@3!#I<**JE M74?!JHS;9;U!#.AA#\*G!C\?-6W/F9)WH.KCA$?RS1=/T8NAOE>;LN'KV93Y M$T:Q6"?-%5<1=:YC=45;A+9GU" ;]>S2.HXUK=/&+M.^?X J\UPZ!_ [B2'6 M6%A0NY!HGU=RB(A&'K;$\_B7*NO%,H1?*XGF^R57%8D_>#CZ_][K3TSW[Q76 M:E@[2H0;;7AIZYQ(0'#4*7NY!YH!OZ,<'&HWGX5]U>F/0!?'1,^"7+U="<<- M6^B-"^QH8N!VBM+\ONW M.7J/N3PU2!U-##QXPD/H^#/K&F/-D IE,=5J"I0/"SZIC]Y-S9&0ETK/ 5MG MF0ZLR!\@&!'W/RD6VGO_NN\*I\V3(_N(3N0QF#<'T7'W[+CIWW7O:/\R7S]\ MC>S\%K'N$>.B M-"QQ0O+8P6%V>8D$K%YR-9>/-\I[,II3&L@&J-3I?U.^_A ML#T<#NFUMS/X7RS4UV_$V_Z->,>)S;;3D_9I]^GF;CM:MG6\[J ?[;0E+]XU M^HU%AQJ:HUYYSZ*'KA-:MQC_UT?7>_KF8(!X];_K;W674=W!USILZ,,(767^ M,(HM+'_F1 2T?*6Y6/<_-A>_0"&1$/Z%%1+[C)L]273K"?XRDY"R#\O5_"F4 M4<^9M+\-0 [K$Q%ZT[ATF"9A[="D+B./-B>@X]?J2SXRV?+%RIJ:1Q^]E#I\ M]3,*QZ=3V/@,9@5:/W!WU87'B-S*/=WEJ>](GORFIOX-7_CX;XTN_@M02P,$ M% @ 6H=F4>+P-QT&!0 I!4 !< !C9'AS,C R,# Y,S!E>#,R,7-P M+FAT;>U86V_;-A1^WZ\X=;$V!:R;;XEE-X!K.VB*S$YM=5V?!EJB8J(2J5)T M'._7[Y"2'"=-NJ1%ZVY8'H3(Y#G\OG/Y2+'_9#0=!A_.Q[!4:0+G[UZ=G0ZA M9CG.^^;0<4;!"%X'OYU!RW8]""3A.5-,<)(XSGA2@]I2JVXKW_!)R71\2_])Y8%(Q&N4LH5A)(212-8Y8Q?P/N( MYA_!LLI90Y%M)+M8*FBX#1?>"_F179)B7#&5T./*3]\IWON.6:2_$-'FN!^Q M2V#1RQKKQ&&TH/B(J=?J'K8(;77";GC8[1*7>E[W3P]!.CB]L,G5)J$O:RGC MUI+J]?U6PSYL9ZJW9I%:^I[K_EHS4X_[L> *UY-H7_Q;N/G<&9$7Z&\AE!*I M?X2^%+U2%DG8!?<-R5KAK#((12*D_]0U?ST]8L4D9CV$^F+T:3,9S:_K' MV?@##(:!'FFX;N.Q_!B/D)OOX0^U>S7A:]Q\ORBU[HS2*8=0<$Y#+?.P9FH) M:DGA[8I(3%VR@1G-A%0@8E3GB%ZQO ZG/+3A0$][]O2HT7![0Y%FA&_,F]=[ M >CI1,@4/-=Z"[&0QF7,\I D\*GP#!2I1S"GF:+I@LIG3[V.VVNZ=2/]=2 Y M&B0X8PMI3L.5Q-T(N1,>P?@J7!)^01%6FK(\U_!W,16X*TAU>".6'-[8,&$8 M6B1Q+FG.=/2-M^&2T1A]XAJ*75*8QC$+$272UCY+@F;J3.0Y!&2#^:DC*,Z0 MW^\X^4Z/)XP3'C+D?;?'.J!1IJ-_21-\BP10$BYA225=; -%(OQ]VPE\Q5! MUTK CK(4:2MB9^1%QXU$(M-;[*[-C9FZ(TH8T159R2*<&.W$AHKO]FY5>?6'@O=5$)GR^7'0[@9&Z]EMW4L DQ" MV6+Q*L%^"[$P$EWDV\*7]-.*2:J//;G.SJVL'Q!L. E>^R!ZL4WK=:]L^Z3, MK==MMC"KW9ZNTO\S^WTSRSBJ7TJ,MC)N4E,EFS"MKAFVO\YK70^3) &%8Z@FH=F3.Y41FA'+LX1L?,8- M/&/4N]12CQMDZ5&)K/SX:+?M=KNMOS\4AE=%E?ORT\0VGR:.BCX?ZQ[97??^ M8=?VMF..\5WXU_LCULW+6K-6&90%[C>R*_!N4M)XD[3ES0A6@0^N^2[ M+EJSL'MM0A98N2MUO\E]EQ_WWAB6S^+^TMRD'O\-4$L#!!0 ( %J'9E%E MW&%3?A( "2" . 97AH:6)I=#$P,2YH=&WM76M7X[K5_O[^"I5YSRFL M94(NW ;FS%H9"!U:;@O2TKY?WJ782J(SCI5*,B'GUW?O+=G.E0$Z3 PS73T, MB6W9WGKV_9'X\*?CRZ/VOZY:K&\',;OZ^Z>STR.VMKFU==LXVMHZ;A^SS^WS M,[9=J=986_/$2"M5PN.MK=;%&EOK6SL\V-H:C4:54:.B=&^K?;V%0VUOQ4H9 M48ELM/;Q WX#/P6//O[/AS]M;K)C%:8#D5@6:L&MB%AJ9-)CMY$P7]CFIC_K M2 W'6O;ZEM6K]2J[5?J+O./NN)4V%A^S<3YLN<\?MN@F'SHJ&G_\$,D[)J/? MUN1N5&MTMW=WZN%>9YMW1:?1C80(:YU:];UH[$7_7X.'W(+3W37&CF/QV]I M)IM]@?<_V*L/[>%(1K9_4*M6?UF;.L^*>[O)8]E+#NAIX6A7)1:>0L.H[EC:@WIM%[Z:O8'[0B81O/E! \[P=\Q& M#56L],&[*OWO$(]L=OE QN.#/[?E0!AV(4;L6@UX\N? P)QN&J%EUYUHY!_" M/0A]'/GWAW%BF8A,'K4Z"J%UWY<=:5FM6JE-O^ABZ83PO$(O%\]2P<#X]6DY M3 WU[=Z[^KCW/OW+Y_9GUCQO71S#?VW6OF1GE\T+UKPX9C>MH[]?G[;_Q9I_ MN6ZU\/ C7[)XQ9>*)XPG$;L18:JE';-F3PM! MNKQN^]*P7]_MU^O5P^RE5S$_37BQ2B'= MMF[:K6M0^K.ST^;%48M]:E[\;96R"D PK*GE'^"@6:CT4&F.WIJMEP!2GWCR MI31 6J4@CBZ/6_\\O0G8Z<519:5P6:44OM,4+'YSSHY%S$=0@0AMN4P>BFP" M%E&2XOSV7]-$>)==VV/K\"5'=RFB@)ET.(SI$ORDA;%TG=),@6?7(VD$&ZA( M=B5\V]5JP"R\/,95^&_ 2N+^213YVY+R-F!ME.W)Y74K (W&MS0@$F_.O>1 3@/0.Q/ X3N1 M\,0ZD?!,F :O0['GL@SH!%)9UE,JHH]W/$YY)Q;3=W$ZJT4HY-"Z<2/Q[Y2' M8[S_J"_#/D,_@P-CY!I^2=0H%E$/#<0"&^5/PV?#2>ZJ.%8C W.TOWR.IBH& MC=V9*=JL[:]LCFHK#'"F"RFU:F4'Q7#$A]+R&$:)O'JDIM"A3FI9HNR$M8Y$ MEX!A^CR.G0MQ$VZ&/ID;")[ ;0SKP:?$J]X X3BOM\L]ZMP-CG'6%E MR&/P^6 BGJBWSYOS%& MU8KB6/,1NX(A5#0A! K+Z$L(I@: J1!QXXPI.XH5]8)0<(0S#SE_6' =2Y ? MH'==;LR;EQI=LR[A&)ZN0DCF--Q!X!6 ]-8=HAQ^/Q9=GL8O[Y)7;)[SHO,I M9;[&LNLI1+YM?:SM5@_G?Z[SC66'V$B"-_/A799'M2%0)#MI@@R[ *4D'3"- M( 4PR4RXZQV.\22 E;,Q8-5963"NI1=6/TTBK(P8>6_';+VQ6]U@$1^;#8;Y M3)S)HD<-VUS_&I6]G5^F5. ?]*8]F5 MIF.8=F)I^E02IF/G(*HQ'<-:63A92KH%^0H-,82KI>'7;?P:2P,W%K!MV5]5 MJA,>OW'9GG/K2N0ST>UE:%41W&XOE\(DK6:H'*GH0(N88ZBRE&B3L4&*2WC' MJ#BURR^9J5]6GR*YII8\7B*O_4Q<-,P!U93"AP78:&!G_:A]^H\6VZEO[V[O M[^_?U1<1A-S/OBYFOREC(^^/9ED4A70721 MBX<,;H*]M(Z (TY:7:D-EMT3,!O:<)U[T85EJOR#,&Z?LGLY(#W5-@0>?SLC%0Q-_6OSGQTIF&GO[@ + MF3^#+(-\$Z(#*8GY#==[&\A@&,:*@ M##&DS()K;-TBX!*5;&K139.( C4,VGRZYP,K3.5&(KX3D-&IU. U)U@U]:4C M=@PPY1IRZ?^MU8.=:A5LWW=+H%]K^VNG= :5"!?>8"*-@]@?OMX$OSO_E\?F M!4?LG&/BSXX0!!VB"]ZAQS. L+ _R8#WH ('.P 3:7G8]^0"I/B8%9(>'2@B M"!H<;^4 <"TTGE4LXVBN5*E1Y=!QJ!3C3M]K=/P<[PJF^''G1]?-C!T69*3P MCK C(9)B"LGO8!AUKB#[2D&%6=,8,>C$$FN8ITE8R6F?Y\W38L YPE^][KK7 M 1NFVJ0\H>(HU=\"3T9WA"&(J9(>C(T^+'\.N";L4T&T%NSL[P75G2I22K2@ M&_@[U_8.L5^NX=%8DUV!O1(:;<^-5>$71MD01( ]0%N/*E=:NJ[6)3S>N8QC M:C<6=BJ "(O\:1W9I8.)K8SHQB+Y8SQ M-LR=B-60L [S? !*B:F;BR1_&60QO)6 * )$9V>@K>4(2. ^K[XS\. M)6*W=#[A3 ZDS>7(Z%!HZZ6:D>*B/F*;*.6YL9Q1@! [J+'1EIT#R@P=/26C%Y)O(( M.V@RP<*0;5SG&_@%SR(/HOU..KK V2V-2;ICB8[#"9 MM&Q!;("GK'6_!':A]JQ"O7HTYY M],@;Q#:NXBQRJASW"%NK4]$PN6+ON;M2 M#_PG]^:@(4C)A_]C5HEW##TOB0S(M_(3K]NM[Y4/Q4C)C=)0%'8,["TM_\E" MMDF8!W,<_!R4F2LKDI)X?L MR/Q3YF=RNC'9*%:'2%Q>:V48"[:S;&$.5M:)>L&1>9A5WD,U&,;""D<3C\%M MP@-*'F=$&^-331P14T\"(7);O W+:A3WEDPR9DY?>6IJIKNE1P#?C"4S$:-_;2F5D,R4R24$V#W>7?P:Y+UX)+E8%>SYZ M5B]D$>(AM7U%#"<,&NY%F'I#'HF84K095X*'+#6OJ?0K 2U%/F5\.C3O+J8R M'X@YID=] D;>0$@1E@3XSV2GPJ'!Y?I$WSR]H<"8C M';KR\F0EV:0=(_Z=(IC\:.C%"1-BFB[DAP>#1GE_D&4H#X4=^('2=%>5$,GB M->N8L>>KUBG=TME 9+@HGNB(IS6>(IU1H#EO MOQRA&PT84KQGK_@V-BT #2(0NG:/KY,AO#3 ,Q'4-L$*48C\,5]P"U6J;;ZY ^LI$'2"I]+R3\%(TI_B.'J#H^RZ>J=O0(CN%;TZ5N>72I7JGM+:A% MYY,5IJ&?D/PR0N0&83P>%RS$P)G(:P%F2#^B!!]6@,*"[<=8\(E[$.#^$&F_I M)8=:)J&$V,]4OE7A\G47L??+@W\?S[5R8(E[K/890/UL$F]CFV^;HHB-98:R]V$?--'?R8F1&I2*O4E1%.W@3SA\G+SG\^/P)-Z7#HO+VH*^P3V[NRGB8(:"GJ^$P0K+ MD@AI*G^>BY Z2.H$"XMMQG'.J\O")C[.3EJ4+^-PR/O$F[NP:89PO'2GK6>U MIG]8UF>M6AKH[BQ$KO?'>?1 _(XQ2U+:1@)0$"(C6&@$&3IW!%R^E]T+U!/KKH+#+QDJ;TFI@D0/8 - P'K Z+2D#J5Q M*\_N8HN!ELTKM4]<@VXR=\OVIP.88:G/6[,<8"X#\OON>%9A3K^8#4;=BO)1 M/NB-]>OQCR!# Z^?2%Y2.#UW"6E9]H+_]=W[VDMOUKFT=[ALJ^68^PUOKGC/ M[?R2N)(1Q(]G('GV*?YNVS$O%5OC6^PZ^3!N?K#V=N,MMK>C1_\1C^W\CWB4 MKR5>AGU4%VOBZ06[/6U?M&YN&.U4>WFRVCWL%_A$ZER%G';JI(Q@;N'75_XR MA>M:%?6B::Z-6^L\PQ%^[.;7;N)<126W'UA*W0QQ*<;0B(/LE\-(FF',QPGBP[!R]..D1Y85@T]_M[O5^J-/82@!7C9*!O>H[-"Z-RRT?RQ[>W*=JVQ M]'"U4EMZ[*%A=RM[C>5'GSOJ-@1/.WN/&G:+!.&$ 4(U0Y[\MM98FXDM#NK# M>U:;#A$PW%@@Z16IW*?+Z^O+V];U]-I6__8/O%@57VOMZ:=ZNM]C1Y?75Y76S?7IY,>,K?O")+_?3 MO2)CL]BC?AH[;O*O[[;W#@W]A&&-86T^AB?X?N;GU4OR@@^$D^5/^3WKCXKA MG^AS CSJ2]%E)S*!1!4YEI?=K@S%=Q1FN8U.N9_N%0%Q2?S5O/C;S]CKS<5> M"_\@&\1@\,WUZ?]=7C0G8K!5YK@_X[]7]'2OR-@]/OX[DTED^)B=J-2.?T8P MSX@ ?TKPOXX!_W$5L"NE;5?%4K%SGO#>U-\;>VEI;E'][9'LI3(=^V[=C1^J M>[!7XNY!.9J=3]I#ZAO]'?#RO_DC]P9[]7)9LF'A":YWPUV:'KE%6K9%5^G? M[($=P[#+=*0B<2^S;]QZKJF-PC;*:=._8G3\3^39PS]].X@__@=02P$"% ,4 M " !:AV91 9,(*4SL @!PC"$ $0 @ $ 8V1X&UL4$L! A0#% @ 6H=F452UJ0CGD@ +((' !4 M ( !_24# &-D>',M,C R,# Y,S!?9&5F+GAM;%!+ 0(4 Q0 ( %J'9E'1 MNVD:$_H $5G"@ 5 " 1>Y P!C9'AS+3(P,C P.3,P7VQA M8BYX;6Q02P$"% ,4 " !:AV91X1=E7U*] !WU @ %0 M@ %=LP0 8V1X&UL4$L! A0#% @ 6H=F40X: M90O%!P M"0 !< ( !XG % &-D>',R,#(P,#DS,&5X,S$Q M',R,#(P,#DS,&5X,S$R+P-QT&!0 I!4 !< ( !WX % &-D>',R,#(P,#DS,&5X M,S(Q